<?xml version="1.0"?>

<schema targetNamespace="urn:iana:xml:ns:eppcom"
        xmlns:eppcom="urn:iana:xml:ns:eppcom"
        xmlns="http://www.w3.org/2000/10/XMLSchema"
        elementFormDefault="qualified">

  <annotation>
    <documentation>
      Extensible Provisioning Protocol v1.0
      shared structures schema.
    </documentation>
  </annotation>

<!--
Utility types.
-->

  <complexType name="authInfoType">
    <simpleContent>
      <extension base="string">
        <attribute name="type" type="eppcom:authType"/>
        <attribute name="roid" type="eppcom:roidType"
         use="default" value=""/>
      </extension>
    </simpleContent>
  </complexType>

  <simpleType name="authType">
    <restriction base="string">
      <enumeration value="pw"/>
    </restriction>
  </simpleType>

  <simpleType name="checkType">
    <restriction base="string">
      <enumeration value="+"/>
      <enumeration value="-"/>
    </restriction>
  </simpleType>

  <simpleType name="clIDType">
    <restriction base="string">
      <minLength value="3"/>
      <maxLength value="16"/>
    </restriction>
  </simpleType>

  <complexType name="emptyType"/>

  <simpleType name="labelType">
    <restriction base="string">
      <minLength value="1"/>
      <maxLength value="255"/>
    </restriction>
  </simpleType>

<!--
Repository Object IDentifiers are formed as follows:
[1-80 characters] "-" [1-8 characters]
The first 1-80 characters are assigned by and must be unique within
the repository.
The last 1-8 characters are assigned by and must be unique within
a centralized management facility.
-->

  <simpleType name="roidType">
    <restriction base="string">
      <pattern value="\w{1,80}-\w{1,8}"/>
    </restriction>
  </simpleType>

<!--
Transfer status values.
-->
  <simpleType name="trStatusType">
    <restriction base="string">
      <enumeration value="pending"/>
      <enumeration value="approved"/>
      <enumeration value="cancelled"/>
      <enumeration value="rejected"/>
      <enumeration value="autoApproved"/>
      <enumeration value="autoCancelled"/>
    </restriction>
  </simpleType>

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