Skip to content

Commit

Permalink
Add XSD files
Browse files Browse the repository at this point in the history
  • Loading branch information
ben221199 committed Aug 4, 2024
1 parent a03b7fa commit e0334fa
Show file tree
Hide file tree
Showing 18 changed files with 2,854 additions and 0 deletions.
33 changes: 33 additions & 0 deletions src/main/resources/schema/allocationToken-1.0.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:allocationToken="urn:ietf:params:xml:ns:allocationToken-1.0"
targetNamespace="urn:ietf:params:xml:ns:allocationToken-1.0"
elementFormDefault="qualified">
<annotation>
<documentation>
Extensible Provisioning Protocol v1.0
Allocation Token Extension
</documentation>
</annotation>

<!-- Element used in info command to get allocation token. -->
<element name="info">
<complexType>
<complexContent>
<restriction base="anyType" />
</complexContent>
</complexType>
</element>

<!-- Allocation Token used in transform
commands and info response -->
<element name="allocationToken"
type="allocationToken:allocationTokenType" />
<simpleType name="allocationTokenType">
<restriction base="token">
<minLength value="1" />
</restriction>
</simpleType>

<!-- End of schema. -->
</schema>
122 changes: 122 additions & 0 deletions src/main/resources/schema/changePoll-1.0.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:ietf:params:xml:ns:changePoll-1.0"
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
xmlns:changePoll="urn:ietf:params:xml:ns:changePoll-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
Change Poll Mapping Schema.
</documentation>
</annotation>

<!--
Change element.
-->
<element name="changeData" type="changePoll:changeDataType"/>

<!--
Attributes associated with the change.
-->
<complexType name="changeDataType">
<sequence>
<element name="operation" type="changePoll:operationType"/>
<element name="date" type="dateTime"/>
<element name="svTRID" type="epp:trIDStringType"/>
<element name="who" type="changePoll:whoType"/>
<element name="caseId" type="changePoll:caseIdType"
minOccurs="0"/>
<element name="reason" type="eppcom:reasonType"
minOccurs="0"/>
</sequence>
<attribute name="state" type="changePoll:stateType"
default="after"/>
</complexType>
<!--
Enumerated list of operations, with extensibility via "custom".
-->
<simpleType name="operationEnum">
<restriction base="token">
<enumeration value="create"/>
<enumeration value="delete"/>
<enumeration value="renew"/>
<enumeration value="transfer"/>
<enumeration value="update"/>
<enumeration value="restore"/>
<enumeration value="autoRenew"/>
<enumeration value="autoDelete"/>
<enumeration value="autoPurge"/>
<enumeration value="custom"/>
</restriction>
</simpleType>

<!--
Enumerated of state of the object in the poll message.
-->
<simpleType name="stateType">
<restriction base="token">
<enumeration value="before"/>
<enumeration value="after"/>
</restriction>
</simpleType>

<!--
Transform operation type
-->
<complexType name="operationType">
<simpleContent>
<extension base="changePoll:operationEnum">
<attribute name="op" type="token"/>
</extension>
</simpleContent>
</complexType>

<!--
Case identifier type
-->
<complexType name="caseIdType">
<simpleContent>
<extension base="token">
<attribute name="type" type="changePoll:caseTypeEnum"
use="required"/>
<attribute name="name" type="token"
use="optional"/>
</extension>
</simpleContent>
</complexType>

<!--
Enumerated list of case identifier types
-->
<simpleType name="caseTypeEnum">
<restriction base="token">
<enumeration value="udrp"/>
<enumeration value="urs"/>
<enumeration value="custom"/>
</restriction>
</simpleType>

<!--
Who type
-->
<simpleType name="whoType">
<restriction base="normalizedString">
<minLength value="1"/>
<maxLength value="255"/>
</restriction>
</simpleType>

<!--
End of schema.
-->
</schema>
90 changes: 90 additions & 0 deletions src/main/resources/schema/e164epp-1.0.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns:e164="urn:ietf:params:xml:ns:e164epp-1.0" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:ietf:params:xml:ns:e164epp-1.0" elementFormDefault="qualified">
<annotation>
<documentation>
Extensible Provisioning Protocol v1.0
domain name extension schema for E.164 number provisioning.
</documentation>
</annotation>
<!--
Child elements found in EPP commands.
-->
<element name="create" type="e164:createType"/>
<element name="update" type="e164:updateType"/>
<!--
Global elements.
-->
<element name="naptr" type="e164:naptrType"/>
<!--
Child elements of the <create> command.
-->
<complexType name="createType">
<sequence>
<element ref="e164:naptr" maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="naptrType">
<sequence>
<element name="order" type="unsignedShort"/>
<element name="pref" type="unsignedShort"/>
<element name="flags" type="e164:flagsType" minOccurs="0"/>
<element name="svc" type="e164:svcType"/>
<element name="regex" type="e164:regexType" minOccurs="0"/>
<element name="repl" type="e164:replType" minOccurs="0"/>
</sequence>
</complexType>
<simpleType name="flagsType">
<restriction base="token">
<pattern value="[A-Z]|[a-z]|[0-9]"/>
<length value="1"/>
</restriction>
</simpleType>
<simpleType name="svcType">
<restriction base="token">
<minLength value="1"/>
</restriction>
</simpleType>
<simpleType name="regexType">
<restriction base="token">
<minLength value="1"/>
</restriction>
</simpleType>
<simpleType name="replType">
<restriction base="token">
<minLength value="1"/>
<maxLength value="255"/>
</restriction>
</simpleType>
<!--
Child elements of the <update> command.
-->
<complexType name="updateType">
<sequence>
<element name="add" type="e164:addRemType" minOccurs="0"/>
<element name="rem" type="e164:addRemType" minOccurs="0"/>
</sequence>
</complexType>
<!--
Data elements that can be added or removed.
-->
<complexType name="addRemType">
<sequence>
<element ref="e164:naptr" maxOccurs="unbounded"/>
</sequence>
</complexType>
<!--
Child response elements.
-->
<element name="infData" type="e164:infDataType"/>
<!--
<info> response elements.
-->
<complexType name="infDataType">
<sequence>
<element ref="e164:naptr" maxOccurs="unbounded"/>
</sequence>
</complexType>
<!--
End of schema.
-->
</schema>
127 changes: 127 additions & 0 deletions src/main/resources/schema/e164val-1.0.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:ietf:params:xml:ns:e164val-1.0"
xmlns:e164val="urn:ietf:params:xml:ns:e164val-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"
schemaLocation="eppcom-1.0.xsd"/>

<annotation>
<documentation>
Extensible Provisioning Protocol v1.0
domain name extension schema for framework for
provisioning of E.164 number validation information.
</documentation>
</annotation>

<!--
Child elements found in EPP commands.
-->
<element name="create" type="e164val:insertType"/>
<element name="update" type="e164val:updateType"/>
<element name="renew" type="e164val:insertType"/>
<element name="transfer" type="e164val:insertType"/>

<!--
Child elements of the <create>, <renew>, and <update> commands.
-->
<complexType name="insertType">
<sequence>
<element name="add" type="e164val:addType"
maxOccurs="unbounded" />
</sequence>
</complexType>

<!--
Child elements of the <update> command.
-->
<complexType name="updateType">
<sequence>
<element name="add" type="e164val:addType"
minOccurs="0"
maxOccurs="unbounded"/>
<element name="rem" type="e164val:remType"
minOccurs="0"
maxOccurs="unbounded"/>
<element name="chg" type="e164val:chgType"
minOccurs="0"
maxOccurs="unbounded"/>
</sequence>
</complexType>

<!--
Data elements for add, chg and rem.
-->
<complexType name="addType">
<sequence>
<element ref="e164val:validationInfo"/>
</sequence>
<attribute name="id" type="eppcom:minTokenType"
use="required"/>
</complexType>

<complexType name="chgType">
<sequence>
<element ref="e164val:validationInfo"/>
</sequence>
<attribute name="id" type="eppcom:minTokenType"
use="required"/>
</complexType>

<complexType name="remType">
<attribute name="id" type="eppcom:minTokenType"
use="required"/>
</complexType>


<!--
Child elements found in EPP responses
-->
<element name="infData" type="e164val:infDataType"/>

<!--
child elements of the <info> response.
-->
<complexType name="infDataType">
<sequence>
<element name="inf" type="e164val:infType"
minOccurs="0"
maxOccurs="unbounded"/>
</sequence>
</complexType>

<!--
Data elements for inf
-->
<complexType name="infType">
<sequence>
<element ref="e164val:validationInfo"/>
</sequence>
<attribute name="id" type="eppcom:minTokenType"
use="required"/>
</complexType>

<!--
Global elements.
-->
<element name="validationInfo" type="e164val:ValidationInfoType" />

<!--
Extension framework types.
-->
<complexType name="ValidationInfoType">
<sequence>
<any namespace="##other"/>
</sequence>
</complexType>


<!--
End of schema.
-->
</schema>
Loading

0 comments on commit e0334fa

Please sign in to comment.