1<?xml version="1.0" encoding="UTF-8"?>
   2<!--
   3   Copyright (C) The Internet Society (2004).
   4
   5   This document is subject to the rights, licenses and restrictions
   6   contained in BCP 78, and except as set forth therein, the authors
   7   retain all their rights.
   8
   9   This document and the information contained herein are provided on an
  10   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/S HE
  11   REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE
  12   INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR
  13   IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
  14   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
  15   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  16-->
  17<schema targetNamespace="urn:ietf:params:xml:ns:rgp-1.0"
  18        xmlns:rgp="urn:ietf:params:xml:ns:rgp-1.0"
  19        xmlns="http://www.w3.org/2001/XMLSchema"
  20        elementFormDefault="qualified">
  21    <annotation>
  22        <documentation>
  23            Extensible Provisioning Protocol v1.0
  24            domain name extension schema for registry grace period
  25            processing.
  26        </documentation>
  27    </annotation>
  28
  29    <!--
  30    Child elements found in EPP commands.
  31    -->
  32    <element name="update" type="rgp:updateType"/>
  33
  34    <!--
  35    Child elements of the <update> command for the
  36    redemption grace period.
  37    -->
  38    <complexType name="updateType">
  39        <sequence>
  40            <element name="restore" type="rgp:restoreType"/>
  41        </sequence>
  42    </complexType>
  43
  44    <complexType name="restoreType">
  45        <sequence>
  46            <element name="report" type="rgp:reportType"
  47                     minOccurs="0"/>
  48        </sequence>
  49        <attribute name="op" type="rgp:rgpOpType" use="required"/>
  50    </complexType>
  51
  52    <!--
  53    New redemption grace period operations can be defined
  54    by adding to this enumeration.
  55    -->
  56    <simpleType name="rgpOpType">
  57        <restriction base="token">
  58            <enumeration value="request"/>
  59            <enumeration value="report"/>
  60        </restriction>
  61    </simpleType>
  62
  63    <complexType name="reportType">
  64        <sequence>
  65            <element name="preData" type="rgp:mixedType"/>
  66            <element name="postData" type="rgp:mixedType"/>
  67            <element name="delTime" type="dateTime"/>
  68            <element name="resTime" type="dateTime"/>
  69            <element name="resReason" type="rgp:reportTextType"/>
  70            <element name="statement" type="rgp:reportTextType"
  71                     maxOccurs="2"/>
  72            <element name="other" type="rgp:mixedType"
  73                     minOccurs="0"/>
  74        </sequence>
  75    </complexType>
  76
  77    <complexType name="mixedType">
  78        <complexContent mixed="true">
  79            <restriction base="anyType">
  80                <sequence>
  81                    <any processContents="lax"
  82                         minOccurs="0" maxOccurs="unbounded"/>
  83                </sequence>
  84            </restriction>
  85        </complexContent>
  86    </complexType>
  87
  88    <complexType name="reportTextType">
  89        <complexContent mixed="true">
  90            <restriction base="anyType">
  91                <sequence>
  92                    <any processContents="lax"
  93                         minOccurs="0" maxOccurs="unbounded"/>
  94                </sequence>
  95                <attribute name="lang" type="language" default="en"/>
  96            </restriction>
  97        </complexContent>
  98    </complexType>
  99
 100    <!--
 101    Child response elements.
 102    -->
 103    <element name="infData" type="rgp:respDataType"/>
 104    <element name="upData" type="rgp:respDataType"/>
 105
 106    <!--
 107    Response elements.
 108    -->
 109    <complexType name="respDataType">
 110        <sequence>
 111            <element name="rgpStatus" type="rgp:statusType"
 112                     maxOccurs="unbounded"/>
 113        </sequence>
 114    </complexType>
 115
 116    <!--
 117 Status is a combination of attributes and an optional
 118    human-readable message that may be expressed in languages
 119    other than English.
 120    -->
 121    <complexType name="statusType">
 122        <simpleContent>
 123            <extension base="normalizedString">
 124                <attribute name="s" type="rgp:statusValueType"
 125                           use="required"/>
 126                <attribute name="lang" type="language" default="en"/>
 127            </extension>
 128        </simpleContent>
 129    </complexType>
 130
 131    <simpleType name="statusValueType">
 132        <restriction base="token">
 133            <enumeration value="addPeriod"/>
 134            <enumeration value="autoRenewPeriod"/>
 135            <enumeration value="renewPeriod"/>
 136            <enumeration value="transferPeriod"/>
 137            <enumeration value="pendingDelete"/>
 138            <enumeration value="pendingRestore"/>
 139            <enumeration value="redemptionPeriod"/>
 140        </restriction>
 141    </simpleType>
 142
 143    <!--
 144    End of schema.
 145    -->
 146</schema>