# Data Types and Value Ranges for Data Fields

Introduction

This section gives conceptual definitions for all data types and value ranges of the data fields used in requests and replies. The descriptions make reference to the requests and replies used in the .de registration system.

The requests and replies of the registration system may include Unicode characters, i.e. also non-ASCII characters, such as ĕ und þ.

Data Types

Below you will find information about the data types which are used:

Data Types | Comment
--- | ---
normalizedString | A normalizedString represents white space normalized strings. The value range of normalizedString is the set of strings that do not contain the carriage return (%xD), line feed (%xA) or tab (%x9) characters. For detailed information about the data type go to normalizedString.
token | A token represents tokenized strings. The value range of token is the set of strings that do not contain the carriage return (%xD), line feed (%xA) or tab (%x9) characters, that have no leading or trailing spaces (%x20) and that have no internal sequences of two or more spaces. For detailed information about the data type token go to token .
enumeration | Enumeration constrains the value range to a specified set of values. For detailed information about enumeration go to enumeration .
date-time | The data type datetime is used to state a date and a time and a specific time zone. The syntax follows the rules stipulated in the standard ISO 8601: Dates are written: YYYY-MM-DD. Then follows T (for time) as a separator between date and time. Then follows the time, which is written: hh:mm:ss. Then follows recommended information, the difference to the coordinated universal time (UTC). It is written: +hh:mm Example: 2010-04-07T13:16:00+01:00
unsignedShort | The data type unsignedShort designates an integer value in the value range 0 through 65535. For detailed information about the data type unsignedShort go to unsingedShort .
boolean | boolean may have either of two values - "true" and "false". For detailed information about the data type boolean go to boolean .

Rules for Value Ranges

In this section, you will find detailed information about the syntax specifications for the value ranges of individual keywords. (Augmented BNF for Syntax Specifications: ABNF).

Type | Value Ranges | Definition
--- | --- | ---
ace-val | %xx41-%x5A / %x61-%x7A / %x2D | A-Z / a-z / hyphen
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 / plus sign / hyphen / slash / asterisk
digit-val | %x30-%x39 | 0-9
dnskeyval | %x41-%x5A / %x61-%7A / %x30-39 / %x2D / %x2E / %x2F / %x2B | A-Z / a-z / 0-9 / hyphen / dot / slash / plus sign
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 / dot / colon
name-val | %x41-%x5A / %x61-%x7A / %x30-%x39 / %x20 / %x26 / %x2D / %x2E / %xA0-%xFF | ASCII: A-Z / a-z / 0-9 / space / ampersand (@) / hyphen / dot / visible characters from Latin-1
nserver-val | %xx41-x5A / %x61-%x7A / %x30-%x39 / %x2D / %x2E / %x3A / %x20 | ASCII: A-Z / a-z / 0-9 / hyphen / dot / colon/ space

Applicable Rules
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)
Hint |  | The valid list of ISO country codes (country-erule) can be found here: 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) colon (%x3A) hyphen (%x2D) plus sign (%x2B) character "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" The dot (%x2E) acts as a seperator between the domain and the TLD.
domainace-rule = “xn--" 8*66((ace-val / digit-val) ace-val) %x2E "de" Domain-Ace begins with xn-- (%x78 %x6E %x2D %x2D) The dot (%x2E) acts as a seperator between the domain and the TLD.
dnskey-rule = 30*999(dnskeyval)
email-rule = 3*255(ace-val / digit-val / %x2E / %x40) A-Z a-z 0-9 hyphen (%x2D) dot (%x2E) At sign (%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) plus sign (%x2B) 0-9 dot (%x2E) hyphen (%x2D) character "x" (%x78)# space (%x20) slash (%x2F)
postalcode-rule = 1*20(alpha-val / digit-val / %x2D / %x20) hyphen (%x2D) space (%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”)