# Datentypen und Wertebereiche für Datenfelder

Einführung

Dieser Abschnitt beschreibt die Datentypen und Wertebereiche für Datenfelder in Aufträgen und Antworten. Hierauf wird bei der Beschreibung der Aufträge und Antworten des .de-Registrierungssystems Bezug genommen.

In Aufträgen und Antworten des Registrierungsystems können Unicode-Zeichen enthalten sein, also auch nicht ASCII-Zeichen wie zum Beispiel ĕ und þ.

Datentypen

Nachfolgend findest du Informationen zu den verwendeten Datentypen.

Datentyp | Erklärung
--- | ---
normalizedString | Ein normalizedString stellt eine von Leerraum bereinigte Zeichenkette dar. Der Wertebereich von normalizedString ist die Menge der Zeichenketten, die weder carriage return (Wagenrücklauf) (%xD), line feed (Zeilenvorschub) (%xA) noch Tabulatorzeichen (%x9) enthalten. Detaillierte Informationen zum Datentyp normalizedString findest du hier normalizedString .
token | Ein token stellt in Tokens übersetzte Zeichenketten dar. Der Wertebereich von token ist die Menge von Zeichenketten, die kein carriage return (%xD), kein line feed (%xA) und kein Tabulatorzeichen (%x9) sowie am Anfang und Ende keine Leerzeichen (%x20) enthalten und auch im Inneren der Zeichenkette folgen Leerzeichen nicht nacheinander. Detaillierte Informationen zum Datentyp token findest du hier token .
enumeration | Die Aufzählung enumeration beschränkt den Wertebereich auf bestimmte benannte Werte. Detaillierte Informationen zur enumeration findest du hier enumeration .
date-time | Der datetime-Datentyp wird verwendet, um ein Datum und eine Uhrzeit sowie eine Zeitzone anzugeben. Der Aufbau folgt hier dem ISO-Standard 8601: Das Datum wird im Format YYYY-MM-DD dargestellt. Es folgt T (für time) als Trenner zwischen Datum und Uhrzeit. Es folgt die Uhrzeit im Format hh:mm:ss. Es folgt die empfohlene Angabe der Differenz zur koordinierten Weltzeit UTC im Format +hh:mm. Beispiel: 2010-04-07T13:16:00+01:00
unsignedShort | Der Datentyp unsignedShort bezeichnet einen ganzzahligen Wert im Wertebereich von 0 bis 65535. Detaillierte Informationen zum Datentyp unsignedShort findest du hier unsingedShort .
boolean | Boolean kann aus den zwei Werten „true“ und „false“ bestehen. Detaillierte Informationen zum Datentyp boolean findest du hier boolean .

Regeln für Wertebereiche

In diesem Abschnitt findest du detaillierte Informationen zu den Regeln, aus denen sich die Wertebereiche einzelner Schlüsselwörter zusammensetzen (Augmented BNF for Syntax Specifications: ABNF).

Typ | Wertebereiche | Definition
--- | --- | ---
ace-val | %xx41-%x5A / %x61-%x7A / %x2D | A-Z / a-z / Bindestrich
alpha-val | %x41-%x5A / %x61-%x7A | A-Z / a-z
authinfo-val | %x41-%x48 %x4A-%x4E %x50-%x5A %x61-%x6B %x6D-%x6E %x70-%x7A / %x32-%x39 / %x2B / %x2D / %x2F / %x2A | A-H J-N P-Z a-k m-n p-z / 2-9 / Pluszeichen / Bindestrich / Schrägstrich / Asterisk
digit-val | %x30-%x39 | 0-9
dnskeyval | %x41-%x5A / %x61-%7A / %x30-39 / %x2D / %x2E / %x2F / %x2B | A-Z / a-z / 0-9 / Bindestrich / Punkt / Schrägstrich / Pluszeichen
idn-val | %xE1 / %xE0 / %x103 / %xE2 / %xE5 / %xE4 / %xE3 / %x105 / %x101 / %xE6 / %x107 / %x109 / %x10D / %x10B / %xE7 / %x10F / %x111 / %xE9 / %xE8 / %x115 / %xEA / %x11B / %xEB / %x117 / %x119 / %x113 / %x11F / %x11D / %x121 / %x123 / %x125 / %x127 / %xED / %xEC / %x12D / %xEE / %xEF / %x129 / %x12F / %x12B / %x131 / %x135 / %x137 / %x13A / %x13E / %x13C / %x142 / %x144 / %x148 / %xF1 / %x146 / %x14B / %xF3 / %xF2 / %x14F / %xF4 / %xF6 / %x151 / %xF5 / %xF8 / %x14D / %x153 / %x138 / %x155 / %x159 / %x157 / %x15B / %x15D / %x161 / %x15F / %x165 / %x163 / %x167 / %xFA / %xF9 / %x16D / %xFB / %x16F / %x171 / %x169 / %x173 / %x16B / %x175 / %xFD / %x177 / %xFF / %x17A /17E / %x17C / %xF0 / %xFE / %xDF | áàăâåäãąāæćĉčċçďđéèĕêěëėęēğĝġģĥħíìĭîïĩįīıĵķĺľļłńňñņŋóòŏôöőõøō oeĸŕřŗśŝšşťţŧúùŭûůüűũųūŵýŷÿźžżðþß
ip-val | %x30-%x39 / %x2E / %x3A | ASCII: 0-9 / Punkt / Doppelpunkt
name-val | %x41-%x5A / %x61-%x7A / %x30-%x39 / %x20 / %x26 / %x2D / %x2E / %xA0-%xFF | ASCII: A-Z / a-z / 0-9 / Leerzeichen / Et-Zeichen (@) / Bindestrich / Punkt / sichtbare Zeichen aus Latin-1
nserver-val | %xx41-x5A / %x61-%x7A / %x30-%x39 / %x2D / %x2E / %x3A / %x20 | ASCII: A-Z / a-z / 0-9 / Bindestrich / Punkt / Doppelpunkt/ Leerzeichen

Gültige Regeln
address-rule = 1*255(name-val)
authinfohash-rule = 64*64(ace-val / digit-val)
authinfo-erule = 1*1("true")
authinfo-rule = 1*1(authinfo-val)
boolean-erule = 1*1("true" / "false")
check-erule = 1*1("CHECK")
chholder-erule = 1*1("CHHOLDER")
chprov-erule = 1*1("CHPROV")
city-rule = 1*80(name-val)
contact-rule = 9*32"DENIC-" (digit-val / ace-val / %x2E)
contactstatus-erule = 1*1("free" / "exists" / "invalid")
country-erule = 1*2(ALPHA)
Tipp |  | Die gültige Liste der ISO-Countrycodes (country-erule) findest duhier: ISO 3166 Country Codes
creauthinfo1-erule = 1*1("CREATE-AUTHINFO1")
creauthinfo2-erule = 1*1("CREATE-AUTHINFO2")
create-erule = 1*1("CREATE")
date-rule = 25*25(digit-val / %x3A / %x2D / %x2B / %x54) 0-9 (%x30-%x39) Doppelpunkt (%x3A) Bindestrich (%x2D) Pluszeichen (%x2B) Buchstabe "T" (%x54)
delauthinfo1-erule = 1*1("DELETE-AUTHINFO1")
delete-erule = 1*1("DELETE")
digit-rule = 8*9(digit-val)
domain-rule = 4*66(idn-val / ace-val) %x2E "de" Der Punkt (%x2E) fungiert als Trenner zwischen Domain und TLD.
domainace-rule = “xn--" 8*66((ace-val / digit-val) ace-val) %x2E "de" Domain-Ace beginnt mit xn-- (%x78 %x6E %x2D %x2D) Der Punkt (%x2E) fungiert als Trenner zwischen Domain und TLD.
dnskey-rule = 30*999(dnskeyval)
email-rule = 3*255(ace-val / digit-val / %x2E / %x40) A-Z a-z 0-9 Bindestrich (%x2D) Punkt (%x2E) AT-Zeichen (%x40)
ip-rule = 7*39(ip-val)
info-erule = 1*1("INFO")
login-erule = 1*1("LOGIN")
logout-erule = 1*1("LOGOUT")
message-rule = 1*255(ace-val / digit-val / idn-val / %x20)
msgid-rule = 30*255(ALPHA / digit-val / %x2D)
mx-rule = 4*252(nserver-val)
mxpref-rule = 1*3(digit-val)
name-rule = 1*255(ace-val / idn-val / digit-val / name-val)
nsentry-rule = 4*252(nserver-val)
nserver-rule = 1*254(nserver-val)
organisation-rule = name-rule
phone-rule = 1*255(%x2B) (digit-val / %x2E / %x2D / %x78 / %x20 / %x2F) Pluszeichen (%x2B) 0-9 Punkt (%x2E) Bindestrich (%x2D) Buchstabe "x" (%x78) Leerzeichen (%x20) Schrägstrich (%x2F)
postalcode-rule = 1*20(alpha-val / digit-val / %x2D / %x20) Bindestrich (%x2D) Leerzeichen (%x20)
queueread-erule = 1*1("QUEUE-READ")
queuerdelete-erule = 1*1("QUEUE-DELETE")
regaccid-rule = ”DENIC-" 7*13(digit-val)
restore-erule = 1*1("RESTORE”)
result-erule =1*1("success" / "failed" / „exception”)
role-erule = 1*1("PERSON" / "ORG" / “REQUEST”)
status-erule = 1*1("connect" / "failed" / "invalid" / "free" / "pendingCreate" / "serverHold")
stid-rule = 30*255(ace-val / digit-val)
transit-erule = 1*1("TRANSIT")
update-erule = 1*1("UPDATE")
version-erule = 1*1(”3.0”)