summaryrefslogtreecommitdiffstats
path: root/schemas/epp-1.0.xml
diff options
context:
space:
mode:
Diffstat (limited to 'schemas/epp-1.0.xml')
-rw-r--r--schemas/epp-1.0.xml446
1 files changed, 446 insertions, 0 deletions
diff --git a/schemas/epp-1.0.xml b/schemas/epp-1.0.xml
new file mode 100644
index 0000000..3609ad5
--- /dev/null
+++ b/schemas/epp-1.0.xml
@@ -0,0 +1,446 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<schema targetNamespace="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="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified">
+
+<!--
+Import common element types.
+-->
+
+ <import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/>
+
+ <annotation>
+ <documentation>
+ Extensible Provisioning Protocol v1.0 schema.
+ </documentation>
+ </annotation>
+
+<!--
+Every EPP XML instance must begin with this element.
+-->
+ <element name="epp" type="epp:eppType"/>
+
+<!--
+An EPP XML instance must contain a greeting, hello, command,
+response, or extension.
+-->
+ <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
+or <hello>.
+-->
+ <complexType name="greetingType">
+ <sequence>
+ <element name="svID" type="epp:sIDType"/>
+ <element name="svDate" type="dateTime"/>
+ <element name="svcMenu" type="epp:svcMenuType"/>
+ <element name="dcp" type="epp:dcpType"/>
+ </sequence>
+ </complexType>
+
+<!--
+Server IDs are strings with minimum and maximum length restrictions.
+-->
+ <simpleType name="sIDType">
+ <restriction base="normalizedString">
+ <minLength value="3"/>
+ <maxLength value="64"/>
+ </restriction>
+ </simpleType>
+
+<!--
+A server greeting identifies available object services.
+-->
+ <complexType name="svcMenuType">
+ <sequence>
+ <element name="version" type="epp:versionType"
+ maxOccurs="unbounded"/>
+ <element name="lang" type="language"
+ maxOccurs="unbounded"/>
+ <element name="objURI" type="anyURI"
+ maxOccurs="unbounded"/>
+ <element name="svcExtension" type="epp:extURIType"
+ minOccurs="0"/>
+ </sequence>
+ </complexType>
+
+<!--
+Data Collection Policy types.
+-->
+ <complexType name="dcpType">
+ <sequence>
+ <element name="access" type="epp:dcpAccessType"/>
+ <element name="statement" type="epp:dcpStatementType"
+ maxOccurs="unbounded"/>
+ <element name="expiry" type="epp:dcpExpiryType"
+ minOccurs="0"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="dcpAccessType">
+ <choice>
+ <element name="all"/>
+ <element name="none"/>
+ <element name="null"/>
+ <element name="other"/>
+ <element name="personal"/>
+ <element name="personalAndOther"/>
+ </choice>
+ </complexType>
+
+ <complexType name="dcpStatementType">
+ <sequence>
+ <element name="purpose" type="epp:dcpPurposeType"/>
+ <element name="recipient" type="epp:dcpRecipientType"/>
+ <element name="retention" type="epp:dcpRetentionType"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="dcpPurposeType">
+ <sequence>
+ <element name="admin"
+ minOccurs="0"/>
+ <element name="contact"
+ minOccurs="0"/>
+ <element name="other"
+ minOccurs="0"/>
+ <element name="prov"
+ minOccurs="0"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="dcpRecipientType">
+ <sequence>
+ <element name="other"
+ minOccurs="0"/>
+ <element name="ours" type="epp:dcpOursType"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <element name="public"
+ minOccurs="0"/>
+ <element name="same"
+ minOccurs="0"/>
+ <element name="unrelated"
+ minOccurs="0"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="dcpOursType">
+ <sequence>
+ <element name="recDesc" type="epp:dcpRecDescType"
+ minOccurs="0"/>
+ </sequence>
+ </complexType>
+
+ <simpleType name="dcpRecDescType">
+ <restriction base="token">
+ <minLength value="1"/>
+ <maxLength value="255"/>
+ </restriction>
+ </simpleType>
+
+ <complexType name="dcpRetentionType">
+ <choice>
+ <element name="business"/>
+ <element name="indefinite"/>
+ <element name="legal"/>
+ <element name="none"/>
+ <element name="stated"/>
+ </choice>
+ </complexType>
+
+ <complexType name="dcpExpiryType">
+ <choice>
+ <element name="absolute" type="dateTime"/>
+ <element name="relative" type="duration"/>
+ </choice>
+ </complexType>
+
+<!--
+Extension framework types.
+-->
+ <complexType name="extAnyType">
+ <sequence>
+ <any namespace="##other"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="extURIType">
+ <sequence>
+ <element name="extURI" type="anyURI"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+<!--
+An EPP version number is a dotted pair of decimal numbers.
+-->
+ <simpleType name="versionType">
+ <restriction base="token">
+ <pattern value="[1-9]+\.[0-9]+"/>
+ <enumeration value="1.0"/>
+ </restriction>
+ </simpleType>
+
+<!--
+Command types.
+-->
+ <complexType name="commandType">
+ <sequence>
+ <choice>
+ <element name="check" type="epp:readWriteType"/>
+ <element name="create" type="epp:readWriteType"/>
+ <element name="delete" type="epp:readWriteType"/>
+ <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.
+-->
+ <complexType name="loginType">
+ <sequence>
+ <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>
+
+ <complexType name="credsOptionsType">
+ <sequence>
+ <element name="version" type="epp:versionType"/>
+ <element name="lang" type="language"/>
+ </sequence>
+ </complexType>
+
+ <simpleType name="pwType">
+ <restriction base="token">
+ <minLength value="6"/>
+ <maxLength value="16"/>
+ </restriction>
+ </simpleType>
+
+ <complexType name="loginSvcType">
+ <sequence>
+ <element name="objURI" type="anyURI"
+ maxOccurs="unbounded"/>
+ <element name="svcExtension" type="epp:extURIType"
+ minOccurs="0"/>
+ </sequence>
+ </complexType>
+
+<!--
+The <poll> command.
+-->
+ <complexType name="pollType">
+ <attribute name="op" type="epp:pollOpType"
+ use="required"/>
+ <attribute name="msgID" type="token"/>
+ </complexType>
+
+ <simpleType name="pollOpType">
+ <restriction base="token">
+ <enumeration value="ack"/>
+ <enumeration value="req"/>
+ </restriction>
+ </simpleType>
+
+<!--
+The <transfer> command. This is object-specific, and uses attributes
+to identify the requested operation.
+-->
+ <complexType name="transferType">
+ <sequence>
+ <any namespace="##other"/>
+ </sequence>
+ <attribute name="op" type="epp:transferOpType"
+ use="required"/>
+ </complexType>
+
+ <simpleType name="transferOpType">
+ <restriction base="token">
+ <enumeration value="approve"/>
+ <enumeration value="cancel"/>
+ <enumeration value="query"/>
+ <enumeration value="reject"/>
+ <enumeration value="request"/>
+ </restriction>
+ </simpleType>
+
+<!--
+All other object-centric commands. EPP doesn't specify the syntax or
+semantics of object-centric command elements. The elements MUST be
+described in detail in another schema specific to the object.
+-->
+ <complexType name="readWriteType">
+ <sequence>
+ <any namespace="##other"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="trIDType">
+ <sequence>
+ <element name="clTRID" type="epp:trIDStringType"
+ minOccurs="0"/>
+ <element name="svTRID" type="epp:trIDStringType"/>
+ </sequence>
+ </complexType>
+
+ <simpleType name="trIDStringType">
+ <restriction base="token">
+ <minLength value="3"/>
+ <maxLength value="64"/>
+ </restriction>
+ </simpleType>
+
+<!--
+Response types.
+-->
+ <complexType name="responseType">
+ <sequence>
+ <element name="result" type="epp:resultType"
+ 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">
+ <sequence>
+ <element name="msg" type="epp:msgType"/>
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element name="value" type="epp:errValueType"/>
+ <element name="extValue" type="epp:extErrValueType"/>
+ </choice>
+ </sequence>
+ <attribute name="code" type="epp:resultCodeType"
+ use="required"/>
+ </complexType>
+
+ <complexType name="errValueType" mixed="true">
+ <sequence>
+ <any namespace="##any" processContents="skip"/>
+ </sequence>
+ <anyAttribute namespace="##any" processContents="skip"/>
+ </complexType>
+
+ <complexType name="extErrValueType">
+ <sequence>
+ <element name="value" type="epp:errValueType"/>
+ <element name="reason" type="epp:msgType"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="msgQType">
+ <sequence>
+ <element name="qDate" type="dateTime"
+ minOccurs="0"/>
+ <element name="msg" type="epp:mixedMsgType"
+ minOccurs="0"/>
+ </sequence>
+ <attribute name="count" type="unsignedLong"
+ use="required"/>
+ <attribute name="id" type="eppcom:minTokenType"
+ use="required"/>
+ </complexType>
+
+ <complexType name="mixedMsgType" mixed="true">
+ <sequence>
+ <any processContents="skip"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="lang" type="language"
+ default="en"/>
+ </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>
+
+
OpenPOWER on IntegriCloud