Contact
Copy
<?xml version="1.0" encoding="UTF-8"?>
<schema
xmlns="http://www.w3.org/2001/XMLSchema" xmlns:contact="http://registry.denic.de/contact/5.0"
xmlns:verification="http://registry.denic.de/verification/5.0"
targetNamespace="http://registry.denic.de/contact/5.0" elementFormDefault="qualified">
<import namespace="http://registry.denic.de/verification/5.0"
schemaLocation="verification-5.0.xsd" />
<complexType name="normalizedStringPrivacyType">
<simpleContent>
<extension base="normalizedString" />
</simpleContent>
</complexType>
<complexType name="tokenPrivacyType">
<simpleContent>
<extension base="token" />
</simpleContent>
</complexType>
<simpleType name="handleType">
<restriction base="token">
<pattern value="[dD][eE][nN][iI][cC]\-[1-9][0-9]*\-[\-\.a-zA-Z0-9]+" />
<maxLength value="32" />
</restriction>
</simpleType>
<simpleType name="statusType">
<restriction base="token">
<enumeration value="free" />
<enumeration value="exist" />
<enumeration value="invalid" />
</restriction>
</simpleType>
<simpleType name="roleType">
<restriction base="token">
<enumeration value="holder" />
<enumeration value="generalrequest" />
<enumeration value="abusecontact" />
</restriction>
</simpleType>
<complexType name="typeType">
<simpleContent>
<restriction base="contact:tokenPrivacyType">
<enumeration value="PERSON" />
<enumeration value="ROLE" />
<enumeration value="ORG" />
<enumeration value="REQUEST" />
</restriction>
</simpleContent>
</complexType>
<complexType name="nameType">
<simpleContent>
<restriction base="contact:normalizedStringPrivacyType">
<minLength value="1" />
<maxLength value="255" />
</restriction>
</simpleContent>
</complexType>
<complexType name="organisationType">
<simpleContent>
<restriction base="contact:normalizedStringPrivacyType">
<minLength value="1" />
<maxLength value="255" />
</restriction>
</simpleContent>
</complexType>
<complexType name="addressType">
<simpleContent>
<restriction base="contact:normalizedStringPrivacyType">
<minLength value="1" />
<maxLength value="255" />
</restriction>
</simpleContent>
</complexType>
<complexType name="postalCodeType">
<simpleContent>
<restriction base="contact:tokenPrivacyType">
<pattern value="[ a-zA-Z0-9\-]{1,20}" />
</restriction>
</simpleContent>
</complexType>
<complexType name="cityType">
<simpleContent>
<restriction base="contact:normalizedStringPrivacyType">
<minLength value="1" />
<maxLength value="80" />
</restriction>
</simpleContent>
</complexType>
<complexType name="countryCodeType">
<simpleContent>
<restriction base="contact:tokenPrivacyType">
<length value="2" />
</restriction>
</simpleContent>
</complexType>
<complexType name="postalType">
<sequence>
<element name="address" type="contact:addressType" maxOccurs="unbounded" />
<element name="postalCode" type="contact:postalCodeType" />
<element name="city" type="contact:cityType" />
<element name="countryCode" type="contact:countryCodeType" />
</sequence>
</complexType>
<complexType name="nillablePostalType">
<sequence>
<element name="address" type="contact:addressType" maxOccurs="unbounded" />
<element name="postalCode" type="contact:postalCodeType" />
<element name="city" type="contact:cityType" />
<element name="countryCode" type="contact:countryCodeType" />
</sequence>
</complexType>
<complexType name="emailType">
<simpleContent>
<restriction base="contact:tokenPrivacyType">
<pattern value="\S+@\S+" />
<minLength value="1" />
<maxLength value="255" />
</restriction>
</simpleContent>
</complexType>
<complexType name="phoneType">
<simpleContent>
<restriction base="contact:normalizedStringPrivacyType">
<minLength value="7" />
<maxLength value="255" />
</restriction>
</simpleContent>
</complexType>
<complexType name="uriTemplateType">
<simpleContent>
<restriction base="contact:normalizedStringPrivacyType">
</restriction>
</simpleContent>
</complexType>
<complexType name="createType">
<sequence>
<element name="handle" type="contact:handleType" />
<element name="type" type="contact:typeType" />
<element name="name" type="contact:nameType" minOccurs="0" />
<element name="organisation" type="contact:organisationType" minOccurs="0"
maxOccurs="unbounded" />
<element name="postal" type="contact:postalType" minOccurs="0" />
<element name="email" type="contact:emailType" minOccurs="0" maxOccurs="unbounded" />
<element name="phone" type="contact:phoneType" minOccurs="0" maxOccurs="1" />
<element name="uri-template" type="contact:uriTemplateType" minOccurs="0" />
<element ref="verification:verificationInformation" minOccurs="0" maxOccurs="5" />
</sequence>
</complexType>
<complexType name="updateType">
<sequence>
<element name="handle" type="contact:handleType" />
<element name="type" type="contact:typeType" />
<element name="name" type="contact:nameType" minOccurs="0" />
<element name="organisation" type="contact:organisationType" minOccurs="0"
maxOccurs="unbounded" />
<element name="postal" type="contact:postalType" minOccurs="0" />
<element name="email" type="contact:emailType" minOccurs="0" maxOccurs="unbounded" />
<element name="phone" type="contact:phoneType" minOccurs="0" maxOccurs="1" />
<element name="uri-template" type="contact:uriTemplateType" minOccurs="0" />
<element ref="verification:verificationInformation" minOccurs="0" maxOccurs="5" />
</sequence>
</complexType>
<complexType name="checkInfoType">
<choice>
<element name="handle" type="contact:handleType" />
</choice>
</complexType>
<group name="infoDataGroup">
<sequence>
<group ref="contact:coreDataGroup" />
<element ref="verification:verificationInformation" minOccurs="0" maxOccurs="5" />
</sequence>
</group>
<group name="coreDataGroup">
<sequence>
<element name="type" type="contact:typeType" />
<element name="name" type="contact:nameType" minOccurs="0" />
<element name="organisation" minOccurs="0" type="contact:organisationType"
maxOccurs="unbounded" />
<element name="postal" type="contact:nillablePostalType" minOccurs="0" />
<element name="email" type="contact:emailType" minOccurs="0" maxOccurs="unbounded" />
<element name="phone" type="contact:phoneType" minOccurs="0" maxOccurs="1" />
<element name="disputeReference" type="boolean" minOccurs="0" maxOccurs="1" />
<element name="uri-template" minOccurs="0" type="contact:uriTemplateType" />
<element name="changed" type="dateTime" minOccurs="0" />
</sequence>
</group>
<complexType name="infoDataType">
<sequence>
<element ref="contact:handle" />
<group ref="contact:infoDataGroup" />
</sequence>
</complexType>
<complexType name="checkDataType">
<sequence>
<element name="handle" type="contact:handleType" />
<element name="status" type="contact:statusType" />
</sequence>
</complexType>
<element name="create" type="contact:createType" />
<element name="update" type="contact:updateType" />
<element name="check" type="contact:checkInfoType" />
<element name="info" type="contact:checkInfoType" />
<element name="checkData" type="contact:checkDataType" />
<element name="infoData" type="contact:infoDataType" />
<element name="handle" type="contact:handleType" />
</schema>