<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:ietf:params:xml:ns:rdeContact-1.0"
  xmlns:rdeContact="urn:ietf:params:xml:ns:rdeContact-1.0"
  xmlns:rde="urn:ietf:params:xml:ns:rde-1.0"
  xmlns:contact="urn:ietf:params:xml:ns:contact-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.xsd"/>
  <import namespace="urn:ietf:params:xml:ns:contact-1.0"
    schemaLocation="contact.xsd"/>
  <import namespace="urn:ietf:params:xml:ns:rde-1.0"
    schemaLocation="rde.xsd"/>

  <annotation>
    <documentation>
      Registry Data Escrow contact provisioning schema
    </documentation>
  </annotation>

  <element name="abstractContact"
    type="rdeContact:abstractContentType"
    substitutionGroup="rde:content" abstract="true"/>
  <element name="contact"
    substitutionGroup="rdeContact:abstractContact"/>
  <element name="delete"
    type="rdeContact:deleteType"
    substitutionGroup="rde:delete"/>

  <!-- Contact Type -->
  <complexType name="abstractContentType">
    <complexContent>
      <extension base="rde:contentType">
        <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="crRr"
            type="rde:rrType"/>
          <element name="crDate"
            type="dateTime"/>
          <element name="upRr"
            type="rde:rrType" minOccurs="0"/>
          <element name="upDate"
            type="dateTime" minOccurs="0"/>
          <element name="trDate"
            type="dateTime" minOccurs="0"/>
          <element name="trnData"
            type="rdeContact:transferDataType" minOccurs="0"/>
          <element name="disclose"
            type="contact:discloseType" minOccurs="0"/>
        </sequence>
      </extension>
    </complexContent>
  </complexType>

  <complexType name="transferDataType">
    <sequence>
      <element name="trStatus" type="eppcom:trStatusType"/>
      <element name="reRr" type="rde:rrType"/>
      <element name="reDate" type="dateTime"/>
      <element name="acRr" type="rde:rrType"/>
      <element name="acDate" type="dateTime"/>
    </sequence>
  </complexType>


  <!-- Delete Type -->
  <complexType name="deleteType">
    <complexContent>
      <extension base="rde:deleteType">
        <sequence>
          <element name="id"
            type="eppcom:clIDType" minOccurs="0"
            maxOccurs="unbounded"/>
        </sequence>
      </extension>
    </complexContent>
  </complexType>
</schema>
