433 lines
14 KiB
XML
433 lines
14 KiB
XML
|
<schema targetNamespace="urn:ietf:params:xml:ns:domain-1.0"
|
||
|
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
|
||
|
xmlns:host="urn:ietf:params:xml:ns:host-1.0"
|
||
|
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
|
||
|
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
|
||
|
xmlns="http://www.w3.org/2001/XMLSchema"
|
||
|
elementFormDefault="qualified">
|
||
|
|
||
|
<!--
|
||
|
Import common element types.
|
||
|
-->
|
||
|
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0"
|
||
|
schemaLocation="eppcom-1.0.xsd"/>
|
||
|
<import namespace="urn:ietf:params:xml:ns:epp-1.0"
|
||
|
schemaLocation="epp-1.0.xsd"/>
|
||
|
<import namespace="urn:ietf:params:xml:ns:host-1.0"
|
||
|
schemaLocation="host-1.0.xsd"/>
|
||
|
|
||
|
<annotation>
|
||
|
<documentation>
|
||
|
Extensible Provisioning Protocol v1.0
|
||
|
domain provisioning schema.
|
||
|
</documentation>
|
||
|
</annotation>
|
||
|
|
||
|
<!--
|
||
|
Child elements found in EPP commands.
|
||
|
-->
|
||
|
<element name="check" type="domain:mNameType"/>
|
||
|
<element name="create" type="domain:createType"/>
|
||
|
<element name="delete" type="domain:sNameType"/>
|
||
|
<element name="info" type="domain:infoType"/>
|
||
|
<element name="renew" type="domain:renewType"/>
|
||
|
<element name="transfer" type="domain:transferType"/>
|
||
|
<element name="update" type="domain:updateType"/>
|
||
|
<!--
|
||
|
Child elements of the <create> command.
|
||
|
-->
|
||
|
<complexType name="createType">
|
||
|
<sequence>
|
||
|
<element name="name" type="eppcom:labelType"/>
|
||
|
<element name="period" type="domain:periodType"
|
||
|
minOccurs="0"/>
|
||
|
<element name="ns" type="domain:nsType"
|
||
|
minOccurs="0"/>
|
||
|
<element name="registrant" type="eppcom:clIDType"
|
||
|
minOccurs="0"/>
|
||
|
<element name="contact" type="domain:contactType"
|
||
|
minOccurs="0" maxOccurs="unbounded"/>
|
||
|
<element name="authInfo" type="domain:authInfoType"/>
|
||
|
</sequence>
|
||
|
</complexType>
|
||
|
|
||
|
<complexType name="periodType">
|
||
|
<simpleContent>
|
||
|
<extension base="domain:pLimitType">
|
||
|
<attribute name="unit" type="domain:pUnitType"
|
||
|
use="required"/>
|
||
|
</extension>
|
||
|
</simpleContent>
|
||
|
</complexType>
|
||
|
|
||
|
<simpleType name="pLimitType">
|
||
|
<restriction base="unsignedShort">
|
||
|
<minInclusive value="1"/>
|
||
|
<maxInclusive value="99"/>
|
||
|
</restriction>
|
||
|
</simpleType>
|
||
|
|
||
|
<simpleType name="pUnitType">
|
||
|
<restriction base="token">
|
||
|
<enumeration value="y"/>
|
||
|
<enumeration value="m"/>
|
||
|
</restriction>
|
||
|
</simpleType>
|
||
|
|
||
|
<complexType name="nsType">
|
||
|
<choice>
|
||
|
<element name="hostObj" type="eppcom:labelType"
|
||
|
maxOccurs="unbounded"/>
|
||
|
<element name="hostAttr" type="domain:hostAttrType"
|
||
|
maxOccurs="unbounded"/>
|
||
|
</choice>
|
||
|
</complexType>
|
||
|
<!--
|
||
|
Name servers are either host objects or attributes.
|
||
|
-->
|
||
|
|
||
|
<complexType name="hostAttrType">
|
||
|
<sequence>
|
||
|
<element name="hostName" type="eppcom:labelType"/>
|
||
|
<element name="hostAddr" type="host:addrType"
|
||
|
minOccurs="0" maxOccurs="unbounded"/>
|
||
|
</sequence>
|
||
|
</complexType>
|
||
|
<!--
|
||
|
If attributes, addresses are optional and follow the
|
||
|
structure defined in the host mapping.
|
||
|
-->
|
||
|
|
||
|
<complexType name="contactType">
|
||
|
<simpleContent>
|
||
|
<extension base="eppcom:clIDType">
|
||
|
<attribute name="type" type="domain:contactAttrType"/>
|
||
|
</extension>
|
||
|
</simpleContent>
|
||
|
</complexType>
|
||
|
|
||
|
<simpleType name="contactAttrType">
|
||
|
<restriction base="token">
|
||
|
<enumeration value="admin"/>
|
||
|
<enumeration value="billing"/>
|
||
|
<enumeration value="tech"/>
|
||
|
</restriction>
|
||
|
</simpleType>
|
||
|
|
||
|
<complexType name="authInfoType">
|
||
|
<choice>
|
||
|
<element name="pw" type="eppcom:pwAuthInfoType"/>
|
||
|
<element name="ext" type="eppcom:extAuthInfoType"/>
|
||
|
</choice>
|
||
|
</complexType>
|
||
|
|
||
|
<!--
|
||
|
Child element of commands that require a single name.
|
||
|
-->
|
||
|
<complexType name="sNameType">
|
||
|
<sequence>
|
||
|
<element name="name" type="eppcom:labelType"/>
|
||
|
</sequence>
|
||
|
</complexType>
|
||
|
<!--
|
||
|
Child element of commands that accept multiple names.
|
||
|
-->
|
||
|
<complexType name="mNameType">
|
||
|
<sequence>
|
||
|
<element name="name" type="eppcom:labelType"
|
||
|
maxOccurs="unbounded"/>
|
||
|
</sequence>
|
||
|
</complexType>
|
||
|
|
||
|
<!--
|
||
|
Child elements of the <info> command.
|
||
|
-->
|
||
|
<complexType name="infoType">
|
||
|
<sequence>
|
||
|
<element name="name" type="domain:infoNameType"/>
|
||
|
<element name="authInfo" type="domain:authInfoType"
|
||
|
minOccurs="0"/>
|
||
|
</sequence>
|
||
|
</complexType>
|
||
|
|
||
|
<complexType name="infoNameType">
|
||
|
<simpleContent>
|
||
|
<extension base = "eppcom:labelType">
|
||
|
<attribute name="hosts" type="domain:hostsType"
|
||
|
default="all"/>
|
||
|
</extension>
|
||
|
</simpleContent>
|
||
|
</complexType>
|
||
|
|
||
|
<simpleType name="hostsType">
|
||
|
<restriction base="token">
|
||
|
<enumeration value="all"/>
|
||
|
<enumeration value="del"/>
|
||
|
<enumeration value="none"/>
|
||
|
<enumeration value="sub"/>
|
||
|
</restriction>
|
||
|
</simpleType>
|
||
|
|
||
|
<!--
|
||
|
Child elements of the <renew> command.
|
||
|
-->
|
||
|
<complexType name="renewType">
|
||
|
<sequence>
|
||
|
<element name="name" type="eppcom:labelType"/>
|
||
|
<element name="curExpDate" type="date"/>
|
||
|
<element name="period" type="domain:periodType"
|
||
|
minOccurs="0"/>
|
||
|
</sequence>
|
||
|
</complexType>
|
||
|
|
||
|
<!--
|
||
|
Child elements of the <transfer> command.
|
||
|
-->
|
||
|
<complexType name="transferType">
|
||
|
<sequence>
|
||
|
<element name="name" type="eppcom:labelType"/>
|
||
|
<element name="period" type="domain:periodType"
|
||
|
minOccurs="0"/>
|
||
|
<element name="authInfo" type="domain:authInfoType"
|
||
|
minOccurs="0"/>
|
||
|
</sequence>
|
||
|
</complexType>
|
||
|
|
||
|
<!--
|
||
|
Child elements of the <update> command.
|
||
|
-->
|
||
|
<complexType name="updateType">
|
||
|
<sequence>
|
||
|
<element name="name" type="eppcom:labelType"/>
|
||
|
<element name="add" type="domain:addRemType"
|
||
|
minOccurs="0"/>
|
||
|
<element name="rem" type="domain:addRemType"
|
||
|
minOccurs="0"/>
|
||
|
<element name="chg" type="domain:chgType"
|
||
|
minOccurs="0"/>
|
||
|
</sequence>
|
||
|
</complexType>
|
||
|
|
||
|
<!--
|
||
|
Data elements that can be added or removed.
|
||
|
-->
|
||
|
<complexType name="addRemType">
|
||
|
<sequence>
|
||
|
<element name="ns" type="domain:nsType"
|
||
|
minOccurs="0"/>
|
||
|
<element name="contact" type="domain:contactType"
|
||
|
minOccurs="0" maxOccurs="unbounded"/>
|
||
|
<element name="status" type="domain:statusType"
|
||
|
minOccurs="0" maxOccurs="11"/>
|
||
|
</sequence>
|
||
|
</complexType>
|
||
|
|
||
|
<!--
|
||
|
Data elements that can be changed.
|
||
|
-->
|
||
|
<complexType name="chgType">
|
||
|
<sequence>
|
||
|
<element name="registrant" type="domain:clIDChgType"
|
||
|
minOccurs="0"/>
|
||
|
<element name="authInfo" type="domain:authInfoChgType"
|
||
|
minOccurs="0"/>
|
||
|
</sequence>
|
||
|
</complexType>
|
||
|
|
||
|
<!--
|
||
|
Allow the registrant value to be nullified by changing the
|
||
|
minLength restriction to "0".
|
||
|
-->
|
||
|
<simpleType name="clIDChgType">
|
||
|
<restriction base="token">
|
||
|
<minLength value="0"/>
|
||
|
<maxLength value="16"/>
|
||
|
</restriction>
|
||
|
</simpleType>
|
||
|
|
||
|
<!--
|
||
|
Allow the authInfo value to be nullified by including an
|
||
|
empty element within the choice.
|
||
|
-->
|
||
|
<complexType name="authInfoChgType">
|
||
|
<choice>
|
||
|
<element name="pw" type="eppcom:pwAuthInfoType"/>
|
||
|
<element name="ext" type="eppcom:extAuthInfoType"/>
|
||
|
<element name="null"/>
|
||
|
</choice>
|
||
|
</complexType>
|
||
|
|
||
|
<!--
|
||
|
Child response elements.
|
||
|
-->
|
||
|
<element name="chkData" type="domain:chkDataType"/>
|
||
|
<element name="creData" type="domain:creDataType"/>
|
||
|
<element name="infData" type="domain:infDataType"/>
|
||
|
<element name="panData" type="domain:panDataType"/>
|
||
|
<element name="renData" type="domain:renDataType"/>
|
||
|
<element name="trnData" type="domain:trnDataType"/>
|
||
|
|
||
|
<!--
|
||
|
<check> response elements.
|
||
|
-->
|
||
|
<complexType name="chkDataType">
|
||
|
<sequence>
|
||
|
<element name="cd" type="domain:checkType"
|
||
|
maxOccurs="unbounded"/>
|
||
|
</sequence>
|
||
|
</complexType>
|
||
|
|
||
|
<complexType name="checkType">
|
||
|
<sequence>
|
||
|
<element name="name" type="domain:checkNameType"/>
|
||
|
<element name="reason" type="eppcom:reasonType"
|
||
|
minOccurs="0"/>
|
||
|
</sequence>
|
||
|
</complexType>
|
||
|
|
||
|
<complexType name="checkNameType">
|
||
|
<simpleContent>
|
||
|
<extension base="eppcom:labelType">
|
||
|
<attribute name="avail" type="boolean"
|
||
|
use="required"/>
|
||
|
</extension>
|
||
|
</simpleContent>
|
||
|
</complexType>
|
||
|
|
||
|
<!--
|
||
|
<create> response elements.
|
||
|
-->
|
||
|
<complexType name="creDataType">
|
||
|
<sequence>
|
||
|
<element name="name" type="eppcom:labelType"/>
|
||
|
<element name="crDate" type="dateTime"/>
|
||
|
<element name="exDate" type="dateTime"
|
||
|
minOccurs="0"/>
|
||
|
</sequence>
|
||
|
</complexType>
|
||
|
|
||
|
<!--
|
||
|
<info> response elements.
|
||
|
-->
|
||
|
<complexType name="infDataType">
|
||
|
<sequence>
|
||
|
<element name="name" type="eppcom:labelType"/>
|
||
|
<element name="roid" type="eppcom:roidType"/>
|
||
|
<element name="status" type="domain:statusType"
|
||
|
minOccurs="0" maxOccurs="11"/>
|
||
|
<element name="registrant" type="eppcom:clIDType"
|
||
|
minOccurs="0"/>
|
||
|
<element name="contact" type="domain:contactType"
|
||
|
minOccurs="0" maxOccurs="unbounded"/>
|
||
|
<element name="ns" type="domain:nsType"
|
||
|
minOccurs="0"/>
|
||
|
<element name="host" type="eppcom:labelType"
|
||
|
minOccurs="0" maxOccurs="unbounded"/>
|
||
|
<element name="clID" type="eppcom:clIDType"/>
|
||
|
<element name="crID" type="eppcom:clIDType"
|
||
|
minOccurs="0"/>
|
||
|
<element name="crDate" type="dateTime"
|
||
|
minOccurs="0"/>
|
||
|
<element name="upID" type="eppcom:clIDType"
|
||
|
minOccurs="0"/>
|
||
|
<element name="upDate" type="dateTime"
|
||
|
minOccurs="0"/>
|
||
|
<element name="exDate" type="dateTime"
|
||
|
minOccurs="0"/>
|
||
|
<element name="trDate" type="dateTime"
|
||
|
minOccurs="0"/>
|
||
|
<element name="authInfo" type="domain:authInfoType"
|
||
|
minOccurs="0"/>
|
||
|
</sequence>
|
||
|
</complexType>
|
||
|
|
||
|
<!--
|
||
|
Status is a combination of attributes and an optional
|
||
|
human-readable message that may be expressed in languages other
|
||
|
than English.
|
||
|
-->
|
||
|
<complexType name="statusType">
|
||
|
<simpleContent>
|
||
|
<extension base="normalizedString">
|
||
|
<attribute name="s" type="domain:statusValueType"
|
||
|
use="required"/>
|
||
|
<attribute name="lang" type="language"
|
||
|
default="en"/>
|
||
|
</extension>
|
||
|
</simpleContent>
|
||
|
</complexType>
|
||
|
|
||
|
<simpleType name="statusValueType">
|
||
|
<restriction base="token">
|
||
|
<enumeration value="clientDeleteProhibited"/>
|
||
|
<enumeration value="clientHold"/>
|
||
|
<enumeration value="clientRenewProhibited"/>
|
||
|
<enumeration value="clientTransferProhibited"/>
|
||
|
<enumeration value="clientUpdateProhibited"/>
|
||
|
<enumeration value="inactive"/>
|
||
|
<enumeration value="ok"/>
|
||
|
<enumeration value="pendingCreate"/>
|
||
|
<enumeration value="pendingDelete"/>
|
||
|
<enumeration value="pendingRenew"/>
|
||
|
<enumeration value="pendingTransfer"/>
|
||
|
<enumeration value="pendingUpdate"/>
|
||
|
<enumeration value="serverDeleteProhibited"/>
|
||
|
<enumeration value="serverHold"/>
|
||
|
<enumeration value="serverRenewProhibited"/>
|
||
|
<enumeration value="serverTransferProhibited"/>
|
||
|
<enumeration value="serverUpdateProhibited"/>
|
||
|
</restriction>
|
||
|
</simpleType>
|
||
|
|
||
|
<!--
|
||
|
Pending action notification response elements.
|
||
|
-->
|
||
|
<complexType name="panDataType">
|
||
|
<sequence>
|
||
|
<element name="name" type="domain:paNameType"/>
|
||
|
<element name="paTRID" type="epp:trIDType"/>
|
||
|
<element name="paDate" type="dateTime"/>
|
||
|
</sequence>
|
||
|
</complexType>
|
||
|
|
||
|
<complexType name="paNameType">
|
||
|
<simpleContent>
|
||
|
<extension base="eppcom:labelType">
|
||
|
<attribute name="paResult" type="boolean"
|
||
|
use="required"/>
|
||
|
</extension>
|
||
|
</simpleContent>
|
||
|
</complexType>
|
||
|
|
||
|
<!--
|
||
|
<renew> response elements.
|
||
|
-->
|
||
|
<complexType name="renDataType">
|
||
|
<sequence>
|
||
|
<element name="name" type="eppcom:labelType"/>
|
||
|
<element name="exDate" type="dateTime"
|
||
|
minOccurs="0"/>
|
||
|
</sequence>
|
||
|
</complexType>
|
||
|
|
||
|
<!--
|
||
|
<transfer> response elements.
|
||
|
-->
|
||
|
<complexType name="trnDataType">
|
||
|
<sequence>
|
||
|
<element name="name" type="eppcom:labelType"/>
|
||
|
<element name="trStatus" type="eppcom:trStatusType"/>
|
||
|
<element name="reID" type="eppcom:clIDType"/>
|
||
|
<element name="reDate" type="dateTime"/>
|
||
|
<element name="acID" type="eppcom:clIDType"/>
|
||
|
<element name="acDate" type="dateTime"/>
|
||
|
<element name="exDate" type="dateTime"
|
||
|
minOccurs="0"/>
|
||
|
</sequence>
|
||
|
</complexType>
|
||
|
|
||
|
<!--
|
||
|
End of schema.
|
||
|
-->
|
||
|
</schema>
|