DRDE/AusRegEPPTK/resources/aeext-1.0.xsd

197 lines
5.0 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:X-ae:params:xml:ns:aeext-1.0"
xmlns:aeext="urn:X-ae:params:xml:ns:aeext-1.0"
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<!--
Import common element types.
-->
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0" schemaLocation="eppcom-1.0.xsd"/>
<import namespace="urn:ietf:params:xml:ns:epp-1.0" schemaLocation="epp-1.0.xsd"/>
<annotation>
<documentation>
.ae Extensions to the
Extensible Provisioning Protocol v1.0 schema.
</documentation>
</annotation>
<!--
Protocol extension framework elements.
-->
<element name="command" type="aeext:commandType"/>
<!--
Protocol extension type definitions.
-->
<complexType name="commandType">
<sequence>
<choice>
<element name="registrantTransfer" type="epp:readWriteType"/>
</choice>
<element name="clTRID" type="epp:trIDStringType"
minOccurs="0"/>
</sequence>
</complexType>
<!--
Command-response framework extension elements.
-->
<element name="create" type="aeext:createType"/>
<element name="update" type="aeext:updateType"/>
<element name="infData" type="aeext:infDataType"/>
<!--
.ae update command extension
-->
<complexType name="updateType">
<sequence>
<element name="aeProperties" type="aeext:aePropertiesType"
minOccurs="1"/>
<element name="explanation" type="aeext:explanationType"
minOccurs="1"/>
</sequence>
</complexType>
<!--
.ae create command extension
-->
<complexType name="createType">
<sequence>
<element name="aeProperties" type="aeext:aePropertiesType"
minOccurs="1"/>
</sequence>
</complexType>
<!--
.ae info response extension
-->
<complexType name="infDataType">
<sequence>
<element name="aeProperties" type="aeext:aePropertiesType"
minOccurs="1"/>
</sequence>
</complexType>
<!--
the .ae extension domain properties
-->
<complexType name="aePropertiesType">
<sequence>
<element name="registrantName" type="eppcom:labelType"
minOccurs="1"/>
<element name="registrantID" type="aeext:registrantIDType"
minOccurs="0"/>
<element name="eligibilityType" type="aeext:eligType"
minOccurs="1"/>
<element name="eligibilityName" type="eppcom:labelType"
minOccurs="0"/>
<element name="eligibilityID" type="aeext:eligibilityIDType"
minOccurs="0"/>
<element name="policyReason" type="aeext:policyNumType" minOccurs="0"/>
</sequence>
</complexType>
<!--
the explanation type
-->
<simpleType name="explanationType">
<restriction base="normalizedString">
<maxLength value="1000"/>
</restriction>
</simpleType>
<!--
registrant id type is used for registrantID
-->
<complexType name="registrantIDType">
<simpleContent>
<extension base="eppcom:labelType">
<attribute name="type" type="aeext:registrantAEIdType"
use="required"/>
</extension>
</simpleContent>
</complexType>
<!--
eligibility id type is used for eligibilityID
-->
<complexType name="eligibilityIDType">
<simpleContent>
<extension base="eppcom:labelType">
<attribute name="type" type="aeext:eligibilityAEIdType"
use="required"/>
</extension>
</simpleContent>
</complexType>
<!--
enumeration of valid registrant ID types for the .ae namespace
-->
<simpleType name="registrantAEIdType">
<restriction base="token">
<enumeration value="Trade License"/>
</restriction>
</simpleType>
<!--
enumeration of valid eligibility ID types for the .ae namespace
-->
<simpleType name="eligibilityAEIdType">
<restriction base="token">
<enumeration value="Trademark"/>
</restriction>
</simpleType>
<!--
enumeration of valid Eligibility Types for the .ae namespace
-->
<simpleType name="eligType">
<restriction base="token">
<enumeration value="Trade License"/>
<enumeration value="Freezone Trade License"/>
<enumeration value="Trademark"/>
<enumeration value="Freezone Trademark"/>
<enumeration value="Trade License (IT)"/>
<enumeration value="Freezone Trade License (IT)"/>
<enumeration value="Trademark (IT)"/>
<enumeration value="Freezone Trademark (IT)"/>
<enumeration value="Legacy"/>
<enumeration value="Legacy - Approved"/>
<enumeration value="Citizen"/>
<enumeration value="Permanent Resident"/>
<enumeration value="Sporting Organisation"/>
<enumeration value="Charitable Organisation"/>
<enumeration value="Religious Organisation"/>
<enumeration value="University"/>
<enumeration value="Technical College"/>
<enumeration value="School"/>
<enumeration value="Academy"/>
<enumeration value="Government Approved"/>
</restriction>
</simpleType>
<!--
Policy reason numbers are left unassigned to a meaning to promote
flexibility of policy application. The range is also left more
open than is strictly known at the time of writing in order to
reduce the need for redistribution of an updated version of this
schema should the supported policy numbers change at some time in
the future.
-->
<simpleType name="policyNumType">
<restriction base="integer">
<minInclusive value="1"/>
<maxInclusive value="99"/>
</restriction>
</simpleType>
<!--
End of schema.
-->
</schema>