123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432 |
- <?xml version="1.0" encoding="UTF-8"?>
- <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"/>
- <import namespace="urn:ietf:params:xml:ns:epp-1.0"/>
- <import namespace="urn:ietf:params:xml:ns:host-1.0"/>
- <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>
|