summaryrefslogtreecommitdiffstats
path: root/schemas/domain-1.0.xml
diff options
context:
space:
mode:
Diffstat (limited to 'schemas/domain-1.0.xml')
-rw-r--r--schemas/domain-1.0.xml432
1 files changed, 432 insertions, 0 deletions
diff --git a/schemas/domain-1.0.xml b/schemas/domain-1.0.xml
new file mode 100644
index 0000000..4685985
--- /dev/null
+++ b/schemas/domain-1.0.xml
@@ -0,0 +1,432 @@
+<?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> \ No newline at end of file
OpenPOWER on IntegriCloud