Synced schema files in doc with files actually used by the

registry system
This commit is contained in:
Timo Võhmar 2015-11-30 00:21:42 +02:00
parent 6141c3921c
commit 62a74ef27a
11 changed files with 2038 additions and 1107 deletions

View file

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This schema imports other schemas used for Estonian ccTLD
.ee EPP queries and responses.
-->
<schema targetNamespace="https://epp.tld.ee/schema/all-ee-1.0"
xmlns:all="https://epp.tld.ee/schema/all-ee-1.0"
xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<!--
Import all schemas related to .ee EPP protocol.
Anytime the version of any imported schema is raised, the version of
'all' schema is also raised.
eppcom and epp schemas never change the version. This would result
in incompatibility with EPP standard.
-->
<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"/>
<!-- EPP protocol extension: DNSSEC -->
<import namespace="urn:ietf:params:xml:ns:secDNS-1.1"
schemaLocation="secDNS-1.1.xsd"/>
<!-- EPP protocol extension: DNSSEC keyrelay -->
<import namespace="urn:ietf:params:xml:ns:keyrelay-1.0"
schemaLocation="keyrelay-1.0.xsd"/>
<import namespace="urn:ietf:params:xml:ns:host-1.0"
schemaLocation="host-1.0.xsd"/>
<!-- EPP protocol extension: .ee specific -->
<import namespace="https://epp.tld.ee/schema/eis-1.0"
schemaLocation="eis-1.0.xsd"/>
<import namespace="https://epp.tld.ee/schema/contact-eis-1.0"
schemaLocation="contact-eis-1.0.xsd"/>
<import namespace="https://epp.tld.ee/schema/domain-eis-1.0"
schemaLocation="domain-eis-1.0.xsd"/>
<annotation>
<documentation>
Extensible Provisioning Protocol v1.0
all schema's grouped together
</documentation>
</annotation>
</schema>

388
lib/schemas/contact-1.0.xsd Normal file
View file

@ -0,0 +1,388 @@
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:ietf:params:xml:ns:contact-1.0"
xmlns:contact="urn:ietf:params:xml:ns:contact-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"/>
<annotation>
<documentation>
Extensible Provisioning Protocol v1.0
contact provisioning schema.
</documentation>
</annotation>
<!--
Child elements found in EPP commands.
-->
<element name="check" type="contact:mIDType"/>
<element name="create" type="contact:createType"/>
<element name="delete" type="contact:sIDType"/>
<element name="info" type="contact:authIDType"/>
<element name="transfer" type="contact:authIDType"/>
<element name="update" type="contact:updateType"/>
<!--
Utility types.
-->
<simpleType name="ccType">
<restriction base="token">
<length value="2"/>
</restriction>
</simpleType>
<complexType name="e164Type">
<simpleContent>
<extension base="contact:e164StringType">
<attribute name="x" type="token"/>
</extension>
</simpleContent>
</complexType>
<simpleType name="e164StringType">
<restriction base="token">
<pattern value="(\+[0-9]{1,3}\.[0-9]{1,14})?"/>
<maxLength value="17"/>
</restriction>
</simpleType>
<simpleType name="pcType">
<restriction base="token">
<maxLength value="16"/>
</restriction>
</simpleType>
<simpleType name="postalLineType">
<restriction base="normalizedString">
<minLength value="1"/>
<maxLength value="255"/>
</restriction>
</simpleType>
<simpleType name="optPostalLineType">
<restriction base="normalizedString">
<maxLength value="255"/>
</restriction>
</simpleType>
<!--
Child elements of the <create> command.
-->
<complexType name="createType">
<sequence>
<element name="id" type="eppcom:clIDType"/>
<element name="postalInfo" type="contact:postalInfoType"
maxOccurs="2"/>
<element name="voice" type="contact:e164Type"
minOccurs="0"/>
<element name="fax" type="contact:e164Type"
minOccurs="0"/>
<element name="email" type="eppcom:minTokenType"/>
<element name="authInfo" type="contact:authInfoType"/>
<element name="disclose" type="contact:discloseType"
minOccurs="0"/>
</sequence>
</complexType>
<complexType name="postalInfoType">
<sequence>
<element name="name" type="contact:postalLineType"/>
<element name="org" type="contact:optPostalLineType"
minOccurs="0"/>
<element name="addr" type="contact:addrType"/>
</sequence>
<attribute name="type" type="contact:postalInfoEnumType"
use="required"/>
</complexType>
<simpleType name="postalInfoEnumType">
<restriction base="token">
<enumeration value="loc"/>
<enumeration value="int"/>
</restriction>
</simpleType>
<complexType name="addrType">
<sequence>
<element name="street" type="contact:optPostalLineType"
minOccurs="0" maxOccurs="3"/>
<element name="city" type="contact:postalLineType"/>
<element name="sp" type="contact:optPostalLineType"
minOccurs="0"/>
<element name="pc" type="contact:pcType"
minOccurs="0"/>
<element name="cc" type="contact:ccType"/>
</sequence>
</complexType>
<complexType name="authInfoType">
<choice>
<element name="pw" type="eppcom:pwAuthInfoType"/>
<element name="ext" type="eppcom:extAuthInfoType"/>
</choice>
</complexType>
<complexType name="discloseType">
<sequence>
<element name="name" type="contact:intLocType"
minOccurs="0" maxOccurs="2"/>
<element name="org" type="contact:intLocType"
minOccurs="0" maxOccurs="2"/>
<element name="addr" type="contact:intLocType"
minOccurs="0" maxOccurs="2"/>
<element name="voice" minOccurs="0"/>
<element name="fax" minOccurs="0"/>
<element name="email" minOccurs="0"/>
</sequence>
<attribute name="flag" type="boolean" use="required"/>
</complexType>
<complexType name="intLocType">
<attribute name="type" type="contact:postalInfoEnumType"
use="required"/>
</complexType>
<!--
Child element of commands that require only an identifier.
-->
<complexType name="sIDType">
<sequence>
<element name="id" type="eppcom:clIDType"/>
</sequence>
</complexType>
<!--
Child element of commands that accept multiple identifiers.
-->
<complexType name="mIDType">
<sequence>
<element name="id" type="eppcom:clIDType"
maxOccurs="unbounded"/>
</sequence>
</complexType>
<!--
Child elements of the <info> and <transfer> commands.
-->
<complexType name="authIDType">
<sequence>
<element name="id" type="eppcom:clIDType"/>
<element name="authInfo" type="contact:authInfoType"
minOccurs="0"/>
</sequence>
</complexType>
<!--
Child elements of the <update> command.
-->
<complexType name="updateType">
<sequence>
<element name="id" type="eppcom:clIDType"/>
<element name="add" type="contact:addRemType"
minOccurs="0"/>
<element name="rem" type="contact:addRemType"
minOccurs="0"/>
<element name="chg" type="contact:chgType"
minOccurs="0"/>
</sequence>
</complexType>
<!--
Data elements that can be added or removed.
-->
<complexType name="addRemType">
<sequence>
<element name="status" type="contact:statusType"
maxOccurs="7"/>
</sequence>
</complexType>
<!--
Data elements that can be changed.
-->
<complexType name="chgType">
<sequence>
<element name="postalInfo" type="contact:chgPostalInfoType"
minOccurs="0" maxOccurs="2"/>
<element name="voice" type="contact:e164Type"
minOccurs="0"/>
<element name="fax" type="contact:e164Type"
minOccurs="0"/>
<element name="email" type="eppcom:minTokenType"
minOccurs="0"/>
<element name="authInfo" type="contact:authInfoType"
minOccurs="0"/>
<element name="disclose" type="contact:discloseType"
minOccurs="0"/>
</sequence>
</complexType>
<complexType name="chgPostalInfoType">
<sequence>
<element name="name" type="contact:postalLineType"
minOccurs="0"/>
<element name="org" type="contact:optPostalLineType"
minOccurs="0"/>
<element name="addr" type="contact:addrType"
minOccurs="0"/>
</sequence>
<attribute name="type" type="contact:postalInfoEnumType"
use="required"/>
</complexType>
<!--
Child response elements.
-->
<element name="chkData" type="contact:chkDataType"/>
<element name="creData" type="contact:creDataType"/>
<element name="infData" type="contact:infDataType"/>
<element name="panData" type="contact:panDataType"/>
<element name="trnData" type="contact:trnDataType"/>
<!--
<check> response elements.
-->
<complexType name="chkDataType">
<sequence>
<element name="cd" type="contact:checkType"
maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="checkType">
<sequence>
<element name="id" type="contact:checkIDType"/>
<element name="reason" type="eppcom:reasonType"
minOccurs="0"/>
</sequence>
</complexType>
<complexType name="checkIDType">
<simpleContent>
<extension base="eppcom:clIDType">
<attribute name="avail" type="boolean"
use="required"/>
</extension>
</simpleContent>
</complexType>
<!--
<create> response elements.
-->
<complexType name="creDataType">
<sequence>
<element name="id" type="eppcom:clIDType"/>
<element name="crDate" type="dateTime"/>
</sequence>
</complexType>
<!--
<info> response elements.
-->
<complexType name="infDataType">
<sequence>
<element name="id" type="eppcom:clIDType"/>
<element name="roid" type="eppcom:roidType"/>
<element name="status" type="contact:statusType"
maxOccurs="7"/>
<element name="postalInfo" type="contact:postalInfoType"
maxOccurs="2"/>
<element name="voice" type="contact:e164Type"
minOccurs="0"/>
<element name="fax" type="contact:e164Type"
minOccurs="0"/>
<element name="email" type="eppcom:minTokenType"/>
<element name="clID" type="eppcom:clIDType"/>
<element name="crID" type="eppcom:clIDType"/>
<element name="crDate" type="dateTime"/>
<element name="upID" type="eppcom:clIDType"
minOccurs="0"/>
<element name="upDate" type="dateTime"
minOccurs="0"/>
<element name="trDate" type="dateTime"
minOccurs="0"/>
<element name="authInfo" type="contact:authInfoType"
minOccurs="0"/>
<element name="disclose" type="contact:discloseType"
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="contact:statusValueType"
use="required"/>
<attribute name="lang" type="language"
default="en"/>
</extension>
</simpleContent>
</complexType>
<simpleType name="statusValueType">
<restriction base="token">
<enumeration value="clientDeleteProhibited"/>
<enumeration value="clientTransferProhibited"/>
<enumeration value="clientUpdateProhibited"/>
<enumeration value="linked"/>
<enumeration value="ok"/>
<enumeration value="pendingCreate"/>
<enumeration value="pendingDelete"/>
<enumeration value="pendingTransfer"/>
<enumeration value="pendingUpdate"/>
<enumeration value="serverDeleteProhibited"/>
<enumeration value="serverTransferProhibited"/>
<enumeration value="serverUpdateProhibited"/>
</restriction>
</simpleType>
<!--
Pending action notification response elements.
-->
<complexType name="panDataType">
<sequence>
<element name="id" type="contact:paCLIDType"/>
<element name="paTRID" type="epp:trIDType"/>
<element name="paDate" type="dateTime"/>
</sequence>
</complexType>
<complexType name="paCLIDType">
<simpleContent>
<extension base="eppcom:clIDType">
<attribute name="paResult" type="boolean"
use="required"/>
</extension>
</simpleContent>
</complexType>
<!--
<transfer> response elements.
-->
<complexType name="trnDataType">
<sequence>
<element name="id" type="eppcom:clIDType"/>
<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"/>
</sequence>
</complexType>
<!--
End of schema.
-->
</schema>

View file

@ -10,9 +10,9 @@
<!-- <!--
Import common element types. Import common element types.
--> -->
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0" schemaLocation="lib/schemas/eppcom-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/>
<import namespace="urn:ietf:params:xml:ns:epp-1.0" schemaLocation="lib/schemas/epp-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:epp-1.0"/>
<import namespace="https://epp.tld.ee/schema/eis-1.0.xsd" schemaLocation="lib/schemas/eis-1.0.xsd"/> <import namespace="https://epp.tld.ee/schema/eis-1.0.xsd"/>
<annotation> <annotation>
<documentation> <documentation>

432
lib/schemas/domain-1.0.xsd Normal file
View file

@ -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>

View file

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

View file

@ -83,7 +83,7 @@
<simpleContent> <simpleContent>
<extension base="normalizedString"> <extension base="normalizedString">
<attribute name="type" type="eis:identEnumType" use="required"/> <attribute name="type" type="eis:identEnumType" use="required"/>
<attribute name="cc" type="eis:ccType" use="required"/> <attribute name="cc" type="eis:ccType"/>
</extension> </extension>
</simpleContent> </simpleContent>
</complexType> </complexType>

View file

@ -1,443 +1,446 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:ietf:params:xml:ns:epp-1.0" <schema targetNamespace="urn:ietf:params:xml:ns:epp-1.0"
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0" xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0" xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
xmlns="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"> elementFormDefault="qualified">
<!-- <!--
Import common element types. Import common element types.
--> -->
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0" schemaLocation="lib/schemas/eppcom-1.0.xsd" />
<annotation> <import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/>
<documentation>
Extensible Provisioning Protocol v1.0 schema.
</documentation>
</annotation>
<!-- <annotation>
Every EPP XML instance must begin with this element. <documentation>
--> Extensible Provisioning Protocol v1.0 schema.
<element name="epp" type="epp:eppType"/> </documentation>
</annotation>
<!-- <!--
An EPP XML instance must contain a greeting, hello, command, Every EPP XML instance must begin with this element.
response, or extension. -->
--> <element name="epp" type="epp:eppType"/>
<complexType name="eppType">
<choice>
<element name="greeting" type="epp:greetingType"/>
<element name="hello"/>
<element name="command" type="epp:commandType"/>
<element name="response" type="epp:responseType"/>
<element name="extension" type="epp:extAnyType"/>
</choice>
</complexType>
<!-- <!--
A greeting is sent by a server in response to a client connection An EPP XML instance must contain a greeting, hello, command,
or <hello>. response, or extension.
--> -->
<complexType name="greetingType"> <complexType name="eppType">
<sequence> <choice>
<element name="svID" type="epp:sIDType"/> <element name="greeting" type="epp:greetingType"/>
<element name="svDate" type="dateTime"/> <element name="hello"/>
<element name="svcMenu" type="epp:svcMenuType"/> <element name="command" type="epp:commandType"/>
<element name="dcp" type="epp:dcpType"/> <element name="response" type="epp:responseType"/>
</sequence> <element name="extension" type="epp:extAnyType"/>
</complexType> </choice>
</complexType>
<!-- <!--
Server IDs are strings with minimum and maximum length restrictions. A greeting is sent by a server in response to a client connection
--> or <hello>.
<simpleType name="sIDType"> -->
<restriction base="normalizedString"> <complexType name="greetingType">
<minLength value="3"/> <sequence>
<maxLength value="64"/> <element name="svID" type="epp:sIDType"/>
</restriction> <element name="svDate" type="dateTime"/>
</simpleType> <element name="svcMenu" type="epp:svcMenuType"/>
<element name="dcp" type="epp:dcpType"/>
</sequence>
</complexType>
<!-- <!--
A server greeting identifies available object services. Server IDs are strings with minimum and maximum length restrictions.
--> -->
<complexType name="svcMenuType"> <simpleType name="sIDType">
<sequence> <restriction base="normalizedString">
<element name="version" type="epp:versionType" <minLength value="3"/>
maxOccurs="unbounded"/> <maxLength value="64"/>
<element name="lang" type="language" </restriction>
maxOccurs="unbounded"/> </simpleType>
<element name="objURI" type="anyURI"
maxOccurs="unbounded"/>
<element name="svcExtension" type="epp:extURIType"
minOccurs="0"/>
</sequence>
</complexType>
<!-- <!--
Data Collection Policy types. A server greeting identifies available object services.
--> -->
<complexType name="dcpType"> <complexType name="svcMenuType">
<sequence> <sequence>
<element name="access" type="epp:dcpAccessType"/> <element name="version" type="epp:versionType"
<element name="statement" type="epp:dcpStatementType" maxOccurs="unbounded"/>
maxOccurs="unbounded"/> <element name="lang" type="language"
<element name="expiry" type="epp:dcpExpiryType" maxOccurs="unbounded"/>
minOccurs="0"/> <element name="objURI" type="anyURI"
</sequence> maxOccurs="unbounded"/>
</complexType> <element name="svcExtension" type="epp:extURIType"
minOccurs="0"/>
</sequence>
</complexType>
<complexType name="dcpAccessType"> <!--
<choice> Data Collection Policy types.
<element name="all"/> -->
<element name="none"/> <complexType name="dcpType">
<element name="null"/> <sequence>
<element name="other"/> <element name="access" type="epp:dcpAccessType"/>
<element name="personal"/> <element name="statement" type="epp:dcpStatementType"
<element name="personalAndOther"/> maxOccurs="unbounded"/>
</choice> <element name="expiry" type="epp:dcpExpiryType"
</complexType> minOccurs="0"/>
</sequence>
</complexType>
<complexType name="dcpStatementType"> <complexType name="dcpAccessType">
<sequence> <choice>
<element name="purpose" type="epp:dcpPurposeType"/> <element name="all"/>
<element name="recipient" type="epp:dcpRecipientType"/> <element name="none"/>
<element name="retention" type="epp:dcpRetentionType"/> <element name="null"/>
</sequence> <element name="other"/>
</complexType> <element name="personal"/>
<element name="personalAndOther"/>
</choice>
</complexType>
<complexType name="dcpPurposeType"> <complexType name="dcpStatementType">
<sequence> <sequence>
<element name="admin" <element name="purpose" type="epp:dcpPurposeType"/>
minOccurs="0"/> <element name="recipient" type="epp:dcpRecipientType"/>
<element name="contact" <element name="retention" type="epp:dcpRetentionType"/>
minOccurs="0"/> </sequence>
<element name="other" </complexType>
minOccurs="0"/>
<element name="prov"
minOccurs="0"/>
</sequence>
</complexType>
<complexType name="dcpRecipientType"> <complexType name="dcpPurposeType">
<sequence> <sequence>
<element name="other" <element name="admin"
minOccurs="0"/> minOccurs="0"/>
<element name="ours" type="epp:dcpOursType" <element name="contact"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0"/>
<element name="public" <element name="other"
minOccurs="0"/> minOccurs="0"/>
<element name="same" <element name="prov"
minOccurs="0"/> minOccurs="0"/>
<element name="unrelated" </sequence>
minOccurs="0"/> </complexType>
</sequence>
</complexType>
<complexType name="dcpOursType"> <complexType name="dcpRecipientType">
<sequence> <sequence>
<element name="recDesc" type="epp:dcpRecDescType" <element name="other"
minOccurs="0"/> minOccurs="0"/>
</sequence> <element name="ours" type="epp:dcpOursType"
</complexType> minOccurs="0" maxOccurs="unbounded"/>
<element name="public"
minOccurs="0"/>
<element name="same"
minOccurs="0"/>
<element name="unrelated"
minOccurs="0"/>
</sequence>
</complexType>
<simpleType name="dcpRecDescType"> <complexType name="dcpOursType">
<restriction base="token"> <sequence>
<minLength value="1"/> <element name="recDesc" type="epp:dcpRecDescType"
<maxLength value="255"/> minOccurs="0"/>
</restriction> </sequence>
</simpleType> </complexType>
<complexType name="dcpRetentionType"> <simpleType name="dcpRecDescType">
<choice> <restriction base="token">
<element name="business"/> <minLength value="1"/>
<element name="indefinite"/> <maxLength value="255"/>
<element name="legal"/> </restriction>
<element name="none"/> </simpleType>
<element name="stated"/>
</choice>
</complexType>
<complexType name="dcpExpiryType"> <complexType name="dcpRetentionType">
<choice> <choice>
<element name="absolute" type="dateTime"/> <element name="business"/>
<element name="relative" type="duration"/> <element name="indefinite"/>
</choice> <element name="legal"/>
</complexType> <element name="none"/>
<element name="stated"/>
</choice>
</complexType>
<!-- <complexType name="dcpExpiryType">
Extension framework types. <choice>
--> <element name="absolute" type="dateTime"/>
<complexType name="extAnyType"> <element name="relative" type="duration"/>
<sequence> </choice>
<any namespace="##other" </complexType>
maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="extURIType"> <!--
<sequence> Extension framework types.
<element name="extURI" type="anyURI" -->
maxOccurs="unbounded"/> <complexType name="extAnyType">
</sequence> <sequence>
</complexType> <any namespace="##other"
maxOccurs="unbounded"/>
</sequence>
</complexType>
<!-- <complexType name="extURIType">
An EPP version number is a dotted pair of decimal numbers. <sequence>
--> <element name="extURI" type="anyURI"
<simpleType name="versionType"> maxOccurs="unbounded"/>
<restriction base="token"> </sequence>
<pattern value="[1-9]+\.[0-9]+"/> </complexType>
<enumeration value="1.0"/>
</restriction>
</simpleType>
<!-- <!--
Command types. An EPP version number is a dotted pair of decimal numbers.
--> -->
<complexType name="commandType"> <simpleType name="versionType">
<sequence> <restriction base="token">
<choice> <pattern value="[1-9]+\.[0-9]+"/>
<element name="check" type="epp:readWriteType"/> <enumeration value="1.0"/>
<element name="create" type="epp:readWriteType"/> </restriction>
<element name="delete" type="epp:readWriteType"/> </simpleType>
<element name="info" type="epp:readWriteType"/>
<element name="login" type="epp:loginType"/>
<element name="logout"/>
<element name="poll" type="epp:pollType"/>
<element name="renew" type="epp:readWriteType"/>
<element name="transfer" type="epp:transferType"/>
<element name="update" type="epp:readWriteType"/>
</choice>
<element name="extension" type="epp:extAnyType"
minOccurs="0"/>
<element name="clTRID" type="epp:trIDStringType"
minOccurs="0"/>
</sequence>
</complexType>
<!-- <!--
The <login> command. Command types.
--> -->
<complexType name="loginType"> <complexType name="commandType">
<sequence> <sequence>
<element name="clID" type="eppcom:clIDType"/> <choice>
<element name="pw" type="epp:pwType"/> <element name="check" type="epp:readWriteType"/>
<element name="newPW" type="epp:pwType" <element name="create" type="epp:readWriteType"/>
minOccurs="0"/> <element name="delete" type="epp:readWriteType"/>
<element name="options" type="epp:credsOptionsType"/> <element name="info" type="epp:readWriteType"/>
<element name="svcs" type="epp:loginSvcType"/> <element name="login" type="epp:loginType"/>
</sequence> <element name="logout"/>
</complexType> <element name="poll" type="epp:pollType"/>
<element name="renew" type="epp:readWriteType"/>
<element name="transfer" type="epp:transferType"/>
<element name="update" type="epp:readWriteType"/>
</choice>
<element name="extension" type="epp:extAnyType"
minOccurs="0"/>
<element name="clTRID" type="epp:trIDStringType"
minOccurs="0"/>
</sequence>
</complexType>
<complexType name="credsOptionsType"> <!--
<sequence> The <login> command.
<element name="version" type="epp:versionType"/> -->
<element name="lang" type="language"/> <complexType name="loginType">
</sequence> <sequence>
</complexType> <element name="clID" type="eppcom:clIDType"/>
<element name="pw" type="epp:pwType"/>
<element name="newPW" type="epp:pwType"
minOccurs="0"/>
<element name="options" type="epp:credsOptionsType"/>
<element name="svcs" type="epp:loginSvcType"/>
</sequence>
</complexType>
<simpleType name="pwType"> <complexType name="credsOptionsType">
<restriction base="token"> <sequence>
<minLength value="6"/> <element name="version" type="epp:versionType"/>
<maxLength value="16"/> <element name="lang" type="language"/>
</restriction> </sequence>
</simpleType> </complexType>
<complexType name="loginSvcType"> <simpleType name="pwType">
<sequence> <restriction base="token">
<element name="objURI" type="anyURI" <minLength value="6"/>
maxOccurs="unbounded"/> <maxLength value="16"/>
<element name="svcExtension" type="epp:extURIType" </restriction>
minOccurs="0"/> </simpleType>
</sequence>
</complexType>
<!-- <complexType name="loginSvcType">
The <poll> command. <sequence>
--> <element name="objURI" type="anyURI"
<complexType name="pollType"> maxOccurs="unbounded"/>
<attribute name="op" type="epp:pollOpType" <element name="svcExtension" type="epp:extURIType"
use="required"/> minOccurs="0"/>
<attribute name="msgID" type="token"/> </sequence>
</complexType> </complexType>
<simpleType name="pollOpType"> <!--
<restriction base="token"> The <poll> command.
<enumeration value="ack"/> -->
<enumeration value="req"/> <complexType name="pollType">
</restriction> <attribute name="op" type="epp:pollOpType"
</simpleType> use="required"/>
<attribute name="msgID" type="token"/>
</complexType>
<!-- <simpleType name="pollOpType">
The <transfer> command. This is object-specific, and uses attributes <restriction base="token">
to identify the requested operation. <enumeration value="ack"/>
--> <enumeration value="req"/>
<complexType name="transferType"> </restriction>
<sequence> </simpleType>
<any namespace="##other"/>
</sequence>
<attribute name="op" type="epp:transferOpType"
use="required"/>
</complexType>
<simpleType name="transferOpType"> <!--
<restriction base="token"> The <transfer> command. This is object-specific, and uses attributes
<enumeration value="approve"/> to identify the requested operation.
<enumeration value="cancel"/> -->
<enumeration value="query"/> <complexType name="transferType">
<enumeration value="reject"/> <sequence>
<enumeration value="request"/> <any namespace="##other"/>
</restriction> </sequence>
</simpleType> <attribute name="op" type="epp:transferOpType"
use="required"/>
</complexType>
<!-- <simpleType name="transferOpType">
All other object-centric commands. EPP doesn't specify the syntax or <restriction base="token">
semantics of object-centric command elements. The elements MUST be <enumeration value="approve"/>
described in detail in another schema specific to the object. <enumeration value="cancel"/>
--> <enumeration value="query"/>
<complexType name="readWriteType"> <enumeration value="reject"/>
<sequence> <enumeration value="request"/>
<any namespace="##other"/> </restriction>
</sequence> </simpleType>
</complexType>
<complexType name="trIDType"> <!--
<sequence> All other object-centric commands. EPP doesn't specify the syntax or
<element name="clTRID" type="epp:trIDStringType" semantics of object-centric command elements. The elements MUST be
minOccurs="0"/> described in detail in another schema specific to the object.
<element name="svTRID" type="epp:trIDStringType"/> -->
</sequence> <complexType name="readWriteType">
</complexType> <sequence>
<any namespace="##other"/>
</sequence>
</complexType>
<simpleType name="trIDStringType"> <complexType name="trIDType">
<restriction base="token"> <sequence>
<minLength value="3"/> <element name="clTRID" type="epp:trIDStringType"
<maxLength value="64"/> minOccurs="0"/>
</restriction> <element name="svTRID" type="epp:trIDStringType"/>
</simpleType> </sequence>
</complexType>
<!-- <simpleType name="trIDStringType">
Response types. <restriction base="token">
--> <minLength value="3"/>
<complexType name="responseType"> <maxLength value="64"/>
<sequence> </restriction>
<element name="result" type="epp:resultType" </simpleType>
maxOccurs="unbounded"/>
<element name="msgQ" type="epp:msgQType"
minOccurs="0"/>
<element name="resData" type="epp:extAnyType" <!--
minOccurs="0"/> Response types.
<element name="extension" type="epp:extAnyType" -->
minOccurs="0"/> <complexType name="responseType">
<element name="trID" type="epp:trIDType"/> <sequence>
</sequence> <element name="result" type="epp:resultType"
</complexType> maxOccurs="unbounded"/>
<element name="msgQ" type="epp:msgQType"
minOccurs="0"/>
<element name="resData" type="epp:extAnyType"
minOccurs="0"/>
<element name="extension" type="epp:extAnyType"
minOccurs="0"/>
<element name="trID" type="epp:trIDType"/>
</sequence>
</complexType>
<complexType name="resultType"> <complexType name="resultType">
<sequence> <sequence>
<element name="msg" type="epp:msgType"/> <element name="msg" type="epp:msgType"/>
<choice minOccurs="0" maxOccurs="unbounded"> <choice minOccurs="0" maxOccurs="unbounded">
<element name="value" type="epp:errValueType"/> <element name="value" type="epp:errValueType"/>
<element name="extValue" type="epp:extErrValueType"/> <element name="extValue" type="epp:extErrValueType"/>
</choice> </choice>
</sequence> </sequence>
<attribute name="code" type="epp:resultCodeType" <attribute name="code" type="epp:resultCodeType"
use="required"/> use="required"/>
</complexType> </complexType>
<complexType name="errValueType" mixed="true"> <complexType name="errValueType" mixed="true">
<sequence> <sequence>
<any namespace="##any" processContents="skip"/> <any namespace="##any" processContents="skip"/>
</sequence> </sequence>
<anyAttribute namespace="##any" processContents="skip"/> <anyAttribute namespace="##any" processContents="skip"/>
</complexType> </complexType>
<complexType name="extErrValueType">
<sequence>
<element name="value" type="epp:errValueType"/>
<element name="reason" type="epp:msgType"/>
</sequence>
</complexType>
<complexType name="msgQType"> <complexType name="extErrValueType">
<sequence> <sequence>
<element name="qDate" type="dateTime" <element name="value" type="epp:errValueType"/>
minOccurs="0"/> <element name="reason" type="epp:msgType"/>
<element name="msg" type="epp:mixedMsgType" </sequence>
minOccurs="0"/> </complexType>
</sequence>
<attribute name="count" type="unsignedLong"
use="required"/>
<attribute name="id" type="eppcom:minTokenType"
use="required"/>
</complexType>
<complexType name="mixedMsgType" mixed="true"> <complexType name="msgQType">
<sequence> <sequence>
<any processContents="skip" <element name="qDate" type="dateTime"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0"/>
</sequence> <element name="msg" type="epp:mixedMsgType"
<attribute name="lang" type="language" minOccurs="0"/>
default="en"/> </sequence>
</complexType> <attribute name="count" type="unsignedLong"
use="required"/>
<attribute name="id" type="eppcom:minTokenType"
use="required"/>
</complexType>
<!-- <complexType name="mixedMsgType" mixed="true">
Human-readable text may be expressed in languages other than English. <sequence>
--> <any processContents="skip"
<complexType name="msgType"> minOccurs="0" maxOccurs="unbounded"/>
<simpleContent> </sequence>
<extension base="normalizedString"> <attribute name="lang" type="language"
<attribute name="lang" type="language" default="en"/>
default="en"/> </complexType>
</extension>
</simpleContent> <!--
</complexType> Human-readable text may be expressed in languages other than English.
-->
<complexType name="msgType">
<simpleContent>
<extension base="normalizedString">
<attribute name="lang" type="language"
default="en"/>
</extension>
</simpleContent>
</complexType>
<!--
EPP result codes.
-->
<simpleType name="resultCodeType">
<restriction base="unsignedShort">
<enumeration value="1000"/>
<enumeration value="1001"/>
<enumeration value="1300"/>
<enumeration value="1301"/>
<enumeration value="1500"/>
<enumeration value="2000"/>
<enumeration value="2001"/>
<enumeration value="2002"/>
<enumeration value="2003"/>
<enumeration value="2004"/>
<enumeration value="2005"/>
<enumeration value="2100"/>
<enumeration value="2101"/>
<enumeration value="2102"/>
<enumeration value="2103"/>
<enumeration value="2104"/>
<enumeration value="2105"/>
<enumeration value="2106"/>
<enumeration value="2200"/>
<enumeration value="2201"/>
<enumeration value="2202"/>
<enumeration value="2300"/>
<enumeration value="2301"/>
<enumeration value="2302"/>
<enumeration value="2303"/>
<enumeration value="2304"/>
<enumeration value="2305"/>
<enumeration value="2306"/>
<enumeration value="2307"/>
<enumeration value="2308"/>
<enumeration value="2400"/>
<enumeration value="2500"/>
<enumeration value="2501"/>
<enumeration value="2502"/>
</restriction>
</simpleType>
<!--
End of schema.
-->
</schema>
<!--
EPP result codes.
-->
<simpleType name="resultCodeType">
<restriction base="unsignedShort">
<enumeration value="1000"/>
<enumeration value="1001"/>
<enumeration value="1300"/>
<enumeration value="1301"/>
<enumeration value="1500"/>
<enumeration value="2000"/>
<enumeration value="2001"/>
<enumeration value="2002"/>
<enumeration value="2003"/>
<enumeration value="2004"/>
<enumeration value="2005"/>
<enumeration value="2100"/>
<enumeration value="2101"/>
<enumeration value="2102"/>
<enumeration value="2103"/>
<enumeration value="2104"/>
<enumeration value="2105"/>
<enumeration value="2106"/>
<enumeration value="2200"/>
<enumeration value="2201"/>
<enumeration value="2202"/>
<enumeration value="2300"/>
<enumeration value="2301"/>
<enumeration value="2302"/>
<enumeration value="2303"/>
<enumeration value="2304"/>
<enumeration value="2305"/>
<enumeration value="2306"/>
<enumeration value="2307"/>
<enumeration value="2308"/>
<enumeration value="2400"/>
<enumeration value="2500"/>
<enumeration value="2501"/>
<enumeration value="2502"/>
</restriction>
</simpleType>
<!--
End of schema.
-->
</schema>

View file

@ -53,6 +53,7 @@ Abstract client and object identifier type.
<simpleType name="clIDType"> <simpleType name="clIDType">
<restriction base="token"> <restriction base="token">
<minLength value="3"/> <minLength value="3"/>
<maxLength value="16"/>
</restriction> </restriction>
</simpleType> </simpleType>
@ -101,4 +102,4 @@ Transfer status identifiers.
<!-- <!--
End of schema. End of schema.
--> -->
</schema> </schema>

View file

@ -1,244 +1,238 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:ietf:params:xml:ns:host-1.0" <schema targetNamespace="urn:ietf:params:xml:ns:host-1.0"
xmlns:host="urn:ietf:params:xml:ns:host-1.0" xmlns:host="urn:ietf:params:xml:ns:host-1.0"
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0" xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0" xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
xmlns="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"> elementFormDefault="qualified">
<!-- <!--
Import common element types. Import common element types.
--> -->
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0" <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"/>
<import namespace="urn:ietf:params:xml:ns:epp-1.0"
schemaLocation="epp-1.0.xsd"/>
<annotation> <annotation>
<documentation> <documentation>
Extensible Provisioning Protocol v1.0 Extensible Provisioning Protocol v1.0
host provisioning schema. host provisioning schema.
</documentation> </documentation>
</annotation> </annotation>
<!-- <!--
Child elements found in EPP commands. Child elements found in EPP commands.
--> -->
<element name="check" type="host:mNameType"/> <element name="check" type="host:mNameType"/>
<element name="create" type="host:createType"/> <element name="create" type="host:createType"/>
<element name="delete" type="host:sNameType"/> <element name="delete" type="host:sNameType"/>
<element name="info" type="host:sNameType"/> <element name="info" type="host:sNameType"/>
<element name="update" type="host:updateType"/> <element name="update" type="host:updateType"/>
<!-- <!--
Child elements of the <create> command. Child elements of the <create> command.
--> -->
<complexType name="createType"> <complexType name="createType">
<sequence> <sequence>
<element name="name" type="eppcom:labelType"/> <element name="name" type="eppcom:labelType"/>
<element name="addr" type="host:addrType" <element name="addr" type="host:addrType"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
</sequence> </sequence>
</complexType> </complexType>
<complexType name="addrType"> <complexType name="addrType">
<simpleContent> <simpleContent>
<extension base="host:addrStringType"> <extension base="host:addrStringType">
<attribute name="ip" type="host:ipType" <attribute name="ip" type="host:ipType"
default="v4"/> default="v4"/>
</extension> </extension>
</simpleContent> </simpleContent>
</complexType> </complexType>
<simpleType name="addrStringType"> <simpleType name="addrStringType">
<restriction base="token"> <restriction base="token">
<minLength value="3"/> <minLength value="3"/>
<maxLength value="45"/> <maxLength value="45"/>
</restriction> </restriction>
</simpleType> </simpleType>
<simpleType name="ipType">
<simpleType name="ipType"> <restriction base="token">
<restriction base="token"> <enumeration value="v4"/>
<enumeration value="v4"/> <enumeration value="v6"/>
<enumeration value="v6"/> </restriction>
</restriction> </simpleType>
</simpleType>
<!-- <!--
Child elements of the <delete> and <info> commands. Child elements of the <delete> and <info> commands.
--> -->
<complexType name="sNameType"> <complexType name="sNameType">
<sequence> <sequence>
<element name="name" type="eppcom:labelType"/> <element name="name" type="eppcom:labelType"/>
</sequence> </sequence>
</complexType> </complexType>
<!-- <!--
Child element of commands that accept multiple names. Child element of commands that accept multiple names.
--> -->
<complexType name="mNameType"> <complexType name="mNameType">
<sequence> <sequence>
<element name="name" type="eppcom:labelType" <element name="name" type="eppcom:labelType"
maxOccurs="unbounded"/> maxOccurs="unbounded"/>
</sequence> </sequence>
</complexType> </complexType>
<!-- <!--
Child elements of the <update> command. Child elements of the <update> command.
--> -->
<complexType name="updateType"> <complexType name="updateType">
<sequence> <sequence>
<element name="name" type="eppcom:labelType"/> <element name="name" type="eppcom:labelType"/>
<element name="add" type="host:addRemType" <element name="add" type="host:addRemType"
minOccurs="0"/> minOccurs="0"/>
<element name="rem" type="host:addRemType" <element name="rem" type="host:addRemType"
minOccurs="0"/> minOccurs="0"/>
<element name="chg" type="host:chgType" <element name="chg" type="host:chgType"
minOccurs="0"/> minOccurs="0"/>
</sequence> </sequence>
</complexType> </complexType>
<!-- <!--
Data elements that can be added or removed. Data elements that can be added or removed.
--> -->
<complexType name="addRemType"> <complexType name="addRemType">
<sequence> <sequence>
<element name="addr" type="host:addrType" <element name="addr" type="host:addrType"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
<element name="status" type="host:statusType" <element name="status" type="host:statusType"
minOccurs="0" maxOccurs="7"/> minOccurs="0" maxOccurs="7"/>
</sequence> </sequence>
</complexType> </complexType>
<!-- <!--
Data elements that can be changed. Data elements that can be changed.
--> -->
<complexType name="chgType"> <complexType name="chgType">
<sequence> <sequence>
<element name="name" type="eppcom:labelType"/> <element name="name" type="eppcom:labelType"/>
</sequence> </sequence>
</complexType> </complexType>
<!-- <!--
Child response elements. Child response elements.
--> -->
<element name="chkData" type="host:chkDataType"/> <element name="chkData" type="host:chkDataType"/>
<element name="creData" type="host:creDataType"/> <element name="creData" type="host:creDataType"/>
<element name="infData" type="host:infDataType"/> <element name="infData" type="host:infDataType"/>
<element name="panData" type="host:panDataType"/> <element name="panData" type="host:panDataType"/>
<!-- <!--
<check> response elements. <check> response elements.
--> -->
<complexType name="chkDataType"> <complexType name="chkDataType">
<sequence> <sequence>
<element name="cd" type="host:checkType" <element name="cd" type="host:checkType"
maxOccurs="unbounded"/> maxOccurs="unbounded"/>
</sequence> </sequence>
</complexType> </complexType>
<complexType name="checkType"> <complexType name="checkType">
<sequence> <sequence>
<element name="name" type="host:checkNameType"/> <element name="name" type="host:checkNameType"/>
<element name="reason" type="eppcom:reasonType" <element name="reason" type="eppcom:reasonType"
minOccurs="0"/> minOccurs="0"/>
</sequence> </sequence>
</complexType> </complexType>
<complexType name="checkNameType"> <complexType name="checkNameType">
<simpleContent> <simpleContent>
<extension base="eppcom:labelType"> <extension base="eppcom:labelType">
<attribute name="avail" type="boolean" <attribute name="avail" type="boolean"
use="required"/> use="required"/>
</extension> </extension>
</simpleContent> </simpleContent>
</complexType> </complexType>
<!-- <!--
<create> response elements. <create> response elements.
--> -->
<complexType name="creDataType"> <complexType name="creDataType">
<sequence> <sequence>
<element name="name" type="eppcom:labelType"/> <element name="name" type="eppcom:labelType"/>
<element name="crDate" type="dateTime"/> <element name="crDate" type="dateTime"/>
</sequence> </sequence>
</complexType> </complexType>
<!-- <!--
<info> response elements. <info> response elements.
--> -->
<complexType name="infDataType"> <complexType name="infDataType">
<sequence> <sequence>
<element name="name" type="eppcom:labelType"/> <element name="name" type="eppcom:labelType"/>
<element name="roid" type="eppcom:roidType"/> <element name="roid" type="eppcom:roidType"/>
<element name="status" type="host:statusType" <element name="status" type="host:statusType"
maxOccurs="7"/> maxOccurs="7"/>
<element name="addr" type="host:addrType" <element name="addr" type="host:addrType"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
<element name="clID" type="eppcom:clIDType"/> <element name="clID" type="eppcom:clIDType"/>
<element name="crID" type="eppcom:clIDType"/> <element name="crID" type="eppcom:clIDType"/>
<element name="crDate" type="dateTime"/> <element name="crDate" type="dateTime"/>
<element name="upID" type="eppcom:clIDType" <element name="upID" type="eppcom:clIDType"
minOccurs="0"/> minOccurs="0"/>
<element name="upDate" type="dateTime" <element name="upDate" type="dateTime"
minOccurs="0"/> minOccurs="0"/>
<element name="trDate" type="dateTime" <element name="trDate" type="dateTime"
minOccurs="0"/> minOccurs="0"/>
</sequence> </sequence>
</complexType> </complexType>
<!-- <!--
Status is a combination of attributes and an optional human-readable Status is a combination of attributes and an optional human-readable
message that may be expressed in languages other than English. message that may be expressed in languages other than English.
--> -->
<complexType name="statusType"> <complexType name="statusType">
<simpleContent> <simpleContent>
<extension base="normalizedString"> <extension base="normalizedString">
<attribute name="s" type="host:statusValueType" <attribute name="s" type="host:statusValueType"
use="required"/> use="required"/>
<attribute name="lang" type="language" <attribute name="lang" type="language"
default="en"/> default="en"/>
</extension> </extension>
</simpleContent> </simpleContent>
</complexType> </complexType>
<simpleType name="statusValueType"> <simpleType name="statusValueType">
<restriction base="token"> <restriction base="token">
<enumeration value="clientDeleteProhibited"/> <enumeration value="clientDeleteProhibited"/>
<enumeration value="clientUpdateProhibited"/> <enumeration value="clientUpdateProhibited"/>
<enumeration value="linked"/> <enumeration value="linked"/>
<enumeration value="ok"/> <enumeration value="ok"/>
<enumeration value="pendingCreate"/> <enumeration value="pendingCreate"/>
<enumeration value="pendingDelete"/> <enumeration value="pendingDelete"/>
<enumeration value="pendingTransfer"/> <enumeration value="pendingTransfer"/>
<enumeration value="pendingUpdate"/> <enumeration value="pendingUpdate"/>
<enumeration value="serverDeleteProhibited"/> <enumeration value="serverDeleteProhibited"/>
<enumeration value="serverUpdateProhibited"/> <enumeration value="serverUpdateProhibited"/>
</restriction> </restriction>
</simpleType> </simpleType>
<!-- <!--
Pending action notification response elements. Pending action notification response elements.
--> -->
<complexType name="panDataType"> <complexType name="panDataType">
<sequence> <sequence>
<element name="name" type="host:paNameType"/> <element name="name" type="host:paNameType"/>
<element name="paTRID" type="epp:trIDType"/> <element name="paTRID" type="epp:trIDType"/>
<element name="paDate" type="dateTime"/> <element name="paDate" type="dateTime"/>
</sequence> </sequence>
</complexType> </complexType>
<complexType name="paNameType">
<complexType name="paNameType"> <simpleContent>
<simpleContent> <extension base="eppcom:labelType">
<extension base="eppcom:labelType"> <attribute name="paResult" type="boolean"
<attribute name="paResult" type="boolean" use="required"/>
use="required"/> </extension>
</extension> </simpleContent>
</simpleContent> </complexType>
</complexType>
<!-- <!--
End of schema. End of schema.
--> -->
</schema> </schema>

View file

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:ietf:params:xml:ns:keyrelay-1.0"
xmlns:keyrelay="urn:ietf:params:xml:ns:keyrelay-1.0"
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1"
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<annotation>
<documentation>
Extensible Provisioning Protocol v1.0 protocol
extension schema for relaying DNSSEC key material.
</documentation>
</annotation>
<import namespace="urn:ietf:params:xml:ns:epp-1.0"/>
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/>
<import namespace="urn:ietf:params:xml:ns:secDNS-1.1"/>
<import namespace="urn:ietf:params:xml:ns:domain-1.0"/>
<element name="keyRelayData" type="keyrelay:keyRelayDataType" />
<element name="infData" type="keyrelay:infDataType" />
<element name="create" type="keyrelay:createType" />
<complexType name="createType">
<sequence>
<element name="name" type="eppcom:labelType"/>
<!-- <element name="authInfo" type="domain:authInfoType"/> -->
<element name="keyRelayData" type="keyrelay:keyRelayDataType"
maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="infDataType">
<sequence>
<element name="name" type="eppcom:labelType"/>
<!-- <element name="authInfo" type="domain:authInfoType"/> -->
<element name="keyRelayData" type="keyrelay:keyRelayDataType"
maxOccurs="unbounded"/>
<element name="crDate" type="dateTime"/>
<element name="reID" type="eppcom:clIDType" />
<element name="acID" type="eppcom:clIDType" />
</sequence>
</complexType>
<complexType name="keyRelayDataType">
<sequence>
<element name="keyData" type="secDNS:keyDataType" />
<element name="expiry" type="keyrelay:keyRelayExpiryType"
minOccurs="0" />
</sequence>
</complexType>
<complexType name="keyRelayExpiryType">
<choice>
<element name="absolute" type="dateTime" />
<element name="relative" type="duration" />
</choice>
</complexType>
</schema>

View file

@ -1,130 +1,134 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<schema <schema
targetNamespace="urn:ietf:params:xml:ns:secDNS-1.1" targetNamespace="urn:ietf:params:xml:ns:secDNS-1.1"
xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1" xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1"
xmlns="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"> elementFormDefault="qualified">
<annotation> <annotation>
<documentation> <documentation>
Extensible Provisioning Protocol v1.0 Extensible Provisioning Protocol v1.0
domain name extension schema domain name extension schema
for provisioning DNS security (DNSSEC) extensions. for provisioning DNS security (DNSSEC) extensions.
</documentation> </documentation>
</annotation> </annotation>
<!-- <!--
Child elements found in EPP commands. Child elements found in EPP commands.
--> -->
<element name="create" type="secDNS:dsOrKeyType"/> <element name="create" type="secDNS:dsOrKeyType"/>
<element name="update" type="secDNS:updateType"/> <element name="update" type="secDNS:updateType"/>
<!--
Child elements supporting either the
dsData or the keyData interface.
-->
<complexType name="dsOrKeyType">
<sequence>
<element name="maxSigLife" type="secDNS:maxSigLifeType"
minOccurs="0"/>
<choice>
<element name="dsData" type="secDNS:dsDataType"
maxOccurs="unbounded"/>
<element name="keyData" type="secDNS:keyDataType"
maxOccurs="unbounded"/>
</choice>
</sequence>
</complexType>
<!-- <!--
Definition for the maximum signature lifetime (maxSigLife) Child elements supporting either the
--> dsData or the keyData interface.
<simpleType name="maxSigLifeType"> -->
<restriction base="int"> <complexType name="dsOrKeyType">
<minInclusive value="1"/> <sequence>
</restriction> <element name="maxSigLife" type="secDNS:maxSigLifeType"
</simpleType> minOccurs="0"/>
<choice>
<element name="dsData" type="secDNS:dsDataType"
maxOccurs="unbounded"/>
<element name="keyData" type="secDNS:keyDataType"
maxOccurs="unbounded"/>
</choice>
</sequence>
</complexType>
<!--
Child elements of dsData used for dsData interface
-->
<complexType name="dsDataType">
<sequence>
<element name="keyTag" type="unsignedShort"/>
<element name="alg" type="unsignedByte"/>
<element name="digestType" type="unsignedByte"/>
<element name="digest" type="hexBinary"/>
<element name="keyData" type="secDNS:keyDataType"
minOccurs="0"/>
</sequence>
</complexType>
<!--
Child elements of keyData used for keyData interface
and optionally with dsData interface
-->
<complexType name="keyDataType">
<sequence> <!--
<element name="flags" type="unsignedShort"/> Definition for the maximum signature life (maxSigLife)
<element name="protocol" type="unsignedByte"/> -->
<element name="alg" type="unsignedByte"/> <simpleType name="maxSigLifeType">
<element name="pubKey" type="secDNS:keyType"/> <restriction base="int">
</sequence> <minInclusive value="1"/>
</complexType> </restriction>
</simpleType>
<!--
Definition for the public key
-->
<simpleType name="keyType">
<restriction base="base64Binary">
<minLength value="1"/>
</restriction>
</simpleType>
<!-- <!--
Child elements of the <update> element. Child elements of dsData used for dsData interface
--> -->
<complexType name="updateType"> <complexType name="dsDataType">
<sequence> <sequence>
<element name="rem" type="secDNS:remType" <element name="keyTag" type="unsignedShort"/>
minOccurs="0"/> <element name="alg" type="unsignedByte"/>
<element name="add" type="secDNS:dsOrKeyType" <element name="digestType" type="unsignedByte"/>
minOccurs="0"/> <element name="digest" type="hexBinary"/>
<element name="chg" type="secDNS:chgType" <element name="keyData" type="secDNS:keyDataType"
minOccurs="0"/> minOccurs="0"/>
</sequence> </sequence>
<attribute name="urgent" type="boolean" default="false"/> </complexType>
</complexType>
<!--
Child elements of the <rem> command.
-->
<complexType name="remType">
<choice>
<element name="all" type="boolean"/>
<element name="dsData" type="secDNS:dsDataType"
maxOccurs="unbounded"/>
<element name="keyData" type="secDNS:keyDataType"
maxOccurs="unbounded"/>
</choice>
</complexType>
<!-- <!--
Child elements supporting the <chg> element. Child elements of keyData used for keyData interface
--> and optionally with dsData interface
-->
<complexType name="keyDataType">
<sequence>
<element name="flags" type="unsignedShort"/>
<element name="protocol" type="unsignedByte"/>
<element name="alg" type="unsignedByte"/>
<element name="pubKey" type="secDNS:keyType"/>
</sequence>
</complexType>
<complexType name="chgType"> <!--
<sequence> Definition for the public key
<element name="maxSigLife" type="secDNS:maxSigLifeType" -->
minOccurs="0"/> <simpleType name="keyType">
</sequence> <restriction base="base64Binary">
</complexType> <minLength value="1"/>
</restriction>
</simpleType>
<!-- <!--
Child response elements. Child elements of the <update> element.
--> -->
<element name="infData" type="secDNS:dsOrKeyType"/> <complexType name="updateType">
<sequence>
<element name="rem" type="secDNS:remType"
minOccurs="0"/>
<element name="add" type="secDNS:dsOrKeyType"
minOccurs="0"/>
<element name="chg" type="secDNS:chgType"
minOccurs="0"/>
</sequence>
<attribute name="urgent" type="boolean" default="false"/>
</complexType>
<!--
Child elements of the <rem> command.
-->
<complexType name="remType">
<choice>
<element name="all" type="boolean"/>
<element name="dsData" type="secDNS:dsDataType"
maxOccurs="unbounded"/>
<element name="keyData" type="secDNS:keyDataType"
maxOccurs="unbounded"/>
</choice>
</complexType>
<!--
Child elements supporting the <chg> element.
-->
<complexType name="chgType">
<sequence>
<element name="maxSigLife" type="secDNS:maxSigLifeType"
minOccurs="0"/>
</sequence>
</complexType>
<!--
Child response elements.
-->
<element name="infData" type="secDNS:dsOrKeyType"/>
</schema> </schema>