Tech-invite3GPPspaceIETFspace
959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 8543

Extensible Provisioning Protocol (EPP) Organization Mapping

Pages: 43
Proposed Standard
Part 2 of 2 – Pages 27 to 43
First   Prev   None

Top   ToC   RFC8543 - Page 27   prevText

5. Formal Syntax

An EPP object mapping is specified in XML Schema notation. The formal syntax presented here is a complete schema representation of the object mapping suitable for automated validation of EPP XML instances. The BEGIN and END tags are not part of the schema; they are used to note the beginning and ending of the schema for URI registration purposes. BEGIN <?xml version="1.0" encoding="UTF-8"?> <schema targetNamespace="urn:ietf:params:xml:ns:epp:org-1.0" xmlns:org="urn:ietf:params:xml:ns:epp:org-1.0" xmlns:epp="urn:ietf:params:xml:ns:epp-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"/> <import namespace="urn:ietf:params:xml:ns:epp-1.0"/>
Top   ToC   RFC8543 - Page 28
       <annotation>
         <documentation>
           Extensible Provisioning Protocol v1.0
           organization provisioning schema.
         </documentation>
       </annotation>

      <!--
      Child elements found in EPP commands.
      -->
       <element name="create" type="org:createType"/>
       <element name="delete" type="org:sIDType"/>
       <element name="update" type="org:updateType"/>
       <element name="check" type="org:mIDType"/>
       <element name="info" type="org:infoType"/>
       <element name="panData" type="org:panDataType"/>

      <!--
      Utility types.
      -->
       <simpleType name="statusType">
         <restriction base="token">
           <enumeration value="ok"/>
           <enumeration value="hold"/>
           <enumeration value="terminated"/>
           <enumeration value="clientDeleteProhibited"/>
           <enumeration value="clientUpdateProhibited"/>
           <enumeration value="clientLinkProhibited"/>
           <enumeration value="linked"/>
           <enumeration value="pendingCreate"/>
           <enumeration value="pendingUpdate"/>
           <enumeration value="pendingDelete"/>
           <enumeration value="serverDeleteProhibited"/>
           <enumeration value="serverUpdateProhibited"/>
           <enumeration value="serverLinkProhibited"/>
         </restriction>
       </simpleType>

       <simpleType name="roleStatusType">
         <restriction base="token">
           <enumeration value="ok"/>
           <enumeration value="clientLinkProhibited"/>
           <enumeration value="linked"/>
           <enumeration value="serverLinkProhibited"/>
         </restriction>
       </simpleType>

       <complexType name="roleType">
Top   ToC   RFC8543 - Page 29
         <sequence>
           <element name="type" type="token"/>
           <element name="status" type="org:roleStatusType"
             minOccurs="0" maxOccurs="3"/>
           <element name="roleID" type="token" minOccurs="0"/>
         </sequence>
       </complexType>

       <complexType name="postalInfoType">
         <sequence>
           <element name="name"
             type="org:postalLineType"/>
           <element name="addr"
             type="org:addrType" minOccurs="0"/>
         </sequence>
         <attribute name="type"
           type="org:postalInfoEnumType"
           use="required"/>
       </complexType>

       <complexType name="contactType">
         <simpleContent>
           <extension base="eppcom:clIDType">
             <attribute name="type" type="org:contactAttrType"
               use="required"/>
             <attribute name="typeName" type="token"/>
           </extension>
         </simpleContent>
       </complexType>

       <simpleType name="contactAttrType">
         <restriction base="token">
           <enumeration value="admin"/>
           <enumeration value="billing"/>
           <enumeration value="tech"/>
           <enumeration value="abuse"/>
           <enumeration value="custom"/>
         </restriction>
       </simpleType>

       <complexType name="e164Type">
         <simpleContent>
           <extension base="org:e164StringType">
             <attribute name="x" type="token"/>
           </extension>
         </simpleContent>
       </complexType>
Top   ToC   RFC8543 - Page 30
       <simpleType name="e164StringType">
         <restriction base="token">
           <pattern value="(\+[0-9]{1,3}\.[0-9]{1,14})?"/>
           <maxLength value="17"/>
         </restriction>
       </simpleType>

       <simpleType name="postalLineType">
         <restriction base="normalizedString">
           <minLength value="1"/>
           <maxLength value="255"/>
         </restriction>
       </simpleType>

       <simpleType name="optPostalLineType">
         <restriction base="normalizedString">
           <maxLength value="255"/>
         </restriction>
       </simpleType>

       <simpleType name="pcType">
         <restriction base="token">
           <maxLength value="16"/>
         </restriction>
       </simpleType>

       <simpleType name="ccType">
         <restriction base="token">
           <length value="2"/>
         </restriction>
       </simpleType>

       <complexType name="addrType">
         <sequence>
           <element name="street" type="org:optPostalLineType"
             minOccurs="0" maxOccurs="3"/>
           <element name="city" type="org:postalLineType"/>
           <element name="sp" type="org:optPostalLineType"
             minOccurs="0"/>
           <element name="pc" type="org:pcType"
             minOccurs="0"/>
           <element name="cc" type="org:ccType"/>
         </sequence>
       </complexType>

       <simpleType name="postalInfoEnumType">
         <restriction base="token">
           <enumeration value="loc"/>
Top   ToC   RFC8543 - Page 31
           <enumeration value="int"/>
         </restriction>
       </simpleType>

      <!--
      Child element of commands that require only an identifier.
      -->
       <complexType name="sIDType">
         <sequence>
           <element name="id" type="eppcom:clIDType"/>
         </sequence>
       </complexType>

      <!--
      Child element of commands that accept multiple identifiers.
      -->
       <complexType name="mIDType">
         <sequence>
           <element name="id"
             type="eppcom:clIDType" maxOccurs="unbounded"/>
         </sequence>
       </complexType>

      <!--
      Pending action notification response elements.
      -->
       <complexType name="panDataType">
         <sequence>
           <element name="id" type="org:paCLIDType"/>
           <element name="paTRID" type="epp:trIDType"/>
           <element name="paDate" type="dateTime"/>
         </sequence>
       </complexType>

       <complexType name="paCLIDType">
         <simpleContent>
           <extension base="eppcom:clIDType">
             <attribute name="paResult" type="boolean"
              use="required"/>
           </extension>
         </simpleContent>
       </complexType>

      <!--
      Child elements of the <info> commands.
      -->
       <complexType name="infoType">
         <sequence>
Top   ToC   RFC8543 - Page 32
           <element name="id"
             type="eppcom:clIDType"/>
         </sequence>
       </complexType>

      <!--
      Child elements of the <create> command.
      -->
       <complexType name="createType">
         <sequence>
           <element name="id"
             type="eppcom:clIDType"/>
           <element name="role"
             type="org:roleType" maxOccurs="unbounded"/>
           <element name="status"
             type="org:statusType" minOccurs="0" maxOccurs="4"/>
           <element name="parentId"
             type="eppcom:clIDType" minOccurs="0"/>
           <element name="postalInfo"
             type="org:postalInfoType" minOccurs="0" maxOccurs="2"/>
           <element name="voice"
             type="org:e164Type" minOccurs="0"/>
           <element name="fax"
             type="org:e164Type" minOccurs="0"/>
           <element name="email"
             type="eppcom:minTokenType" minOccurs="0"/>
           <element name="url"
             type="anyURI" minOccurs="0"/>
           <element name="contact"
             type="org:contactType"
             minOccurs="0" maxOccurs="unbounded"/>
         </sequence>
       </complexType>

      <!--
      Child elements of the <update> command.
      -->
       <complexType name="updateType">
         <sequence>
           <element name="id"
             type="eppcom:clIDType"/>
           <element name="add"
             type="org:addRemType" minOccurs="0"/>
           <element name="rem"
             type="org:addRemType" minOccurs="0"/>
           <element name="chg"
             type="org:chgType" minOccurs="0"/>
         </sequence>
Top   ToC   RFC8543 - Page 33
       </complexType>

      <!--
      Data elements that can be added or removed.
      -->
       <complexType name="addRemType">
         <sequence>
           <element name="contact"
             type="org:contactType" minOccurs="0"
             maxOccurs="unbounded"/>
           <element name="role" type="org:roleType"
             minOccurs="0" maxOccurs="unbounded"/>
           <element name="status" type="org:statusType"
             minOccurs="0" maxOccurs="9"/>
         </sequence>
       </complexType>

      <!--
      Data elements that can be changed.
      -->
       <complexType name="chgType">
         <sequence>
           <element name="parentId"
             type="eppcom:clIDType" minOccurs="0"/>
           <element name="postalInfo"
             type="org:chgPostalInfoType"
             minOccurs="0" maxOccurs="2"/>
           <element name="voice"
             type="org:e164Type" minOccurs="0"/>
           <element name="fax"
             type="org:e164Type" minOccurs="0"/>
           <element name="email"
             type="eppcom:minTokenType" minOccurs="0"/>
           <element name="url"
             type="anyURI" minOccurs="0"/>
         </sequence>
       </complexType>

       <complexType name="chgPostalInfoType">
         <sequence>
           <element name="name"
             type="org:postalLineType" minOccurs="0"/>
           <element name="addr"
             type="org:addrType" minOccurs="0"/>
         </sequence>
         <attribute name="type"
           type="org:postalInfoEnumType" use="required"/>
       </complexType>
Top   ToC   RFC8543 - Page 34
      <!--
      Child response elements.
      -->
       <element name="chkData" type="org:chkDataType"/>
       <element name="creData" type="org:creDataType"/>
       <element name="infData" type="org:infDataType"/>

      <!--
      <check> response elements.
      -->
       <complexType name="chkDataType">
         <sequence>
           <element name="cd" type="org:checkType"
             maxOccurs="unbounded" />
         </sequence>
       </complexType>

       <complexType name="checkType">
         <sequence>
           <element name="id" type="org:checkIDType"/>
           <element name="reason" type="eppcom:reasonType"
             minOccurs="0"/>
         </sequence>
       </complexType>

       <complexType name="checkIDType">
         <simpleContent>
           <extension base="eppcom:clIDType">
             <attribute name="avail" type="boolean"
               use="required"/>
           </extension>
         </simpleContent>
       </complexType>

      <!--
      <info> response elements.
      -->

       <complexType name="infDataType">
         <sequence>
           <element name="id"
             type="eppcom:clIDType"/>
           <element name="roid"
             type="eppcom:roidType"/>
           <element name="role"
             type="org:roleType" maxOccurs="unbounded"/>
           <element name="status"
             type="org:statusType" maxOccurs="9"/>
Top   ToC   RFC8543 - Page 35
           <element name="parentId"
             type="eppcom:clIDType" minOccurs="0"/>
           <element name="postalInfo"
             type="org:postalInfoType" minOccurs="0" maxOccurs="2"/>
           <element name="voice"
             type="org:e164Type" minOccurs="0"/>
           <element name="fax"
             type="org:e164Type" minOccurs="0"/>
           <element name="email"
             type="eppcom:minTokenType" minOccurs="0"/>
           <element name="url"
             type="anyURI" minOccurs="0"/>
           <element name="contact"
             type="org:contactType" minOccurs="0"
             maxOccurs="unbounded"/>
           <element name="clID"
             type="eppcom:clIDType" minOccurs="0"/>
           <element name="crID"
             type="eppcom:clIDType"/>
           <element name="crDate"
             type="dateTime"/>
           <element name="upID"
             type="eppcom:clIDType" minOccurs="0"/>
           <element name="upDate"
             type="dateTime" minOccurs="0"/>
         </sequence>
       </complexType>
      <!--
      <create> response elements.
      -->
       <complexType name="creDataType">
         <sequence>
           <element name="id" type="eppcom:clIDType"/>
           <element name="crDate" type="dateTime"/>
         </sequence>
       </complexType>

      <!--

      End of schema.
      -->
      </schema>
      END
Top   ToC   RFC8543 - Page 36

6. Internationalization Considerations

EPP is represented in XML, which provides native support for encoding information using the Unicode character set [UNICODE] and its more compact representations, including UTF-8. Conformant XML processors recognize both UTF-8 [RFC3629] and UTF-16 [RFC2781]. Though XML includes provisions to identify and use other character encodings through use of an "encoding" attribute in an <?xml?> declaration, use of UTF-8 is RECOMMENDED. As an extension of the EPP organization object mapping, the elements and element content described in this document MUST inherit the internationalization conventions used to represent higher-layer domain and core protocol structures present in an XML instance that includes this extension.

7. IANA Considerations

7.1. XML Namespace

This document uses URNs to describe XML namespaces and XML schemas conforming to a registry mechanism described in [RFC3688]. IANA has assigned the following URI. The organization namespace: URI: urn:ietf:params:xml:ns:epp:org-1.0 Registrant Contact: IESG XML: None. Namespace URIs do not represent an XML specification. The organization XML schema: URI: urn:ietf:params:xml:schema:epp:org-1.0 Registrant Contact: IESG XML: See the "Formal Syntax" section of RFC 8543 (this document).
Top   ToC   RFC8543 - Page 37

7.2. EPP Extension Registry

The EPP extension described in this document has been registered by IANA in the "Extensions for the Extensible Provisioning Protocol (EPP)" registry described in [RFC7451]. The details of the registration are as follows: Name of Extension: Extensible Provisioning Protocol (EPP) Organization Mapping Document status: Standards Track Reference: RFC 8543 Registrant Name and Email Address: IESG, iesg@ietf.org TLDs: Any IPR Disclosure: None Status: Active Notes: None

7.3. Role Type Values Registry

IANA has created a new category of protocol registry for values of the organization roles. The name of this registry is "EPP Organization Role Values". The registration policy for this registry is "Expert Review" [RFC8126].

7.3.1. Registration Template

Value: The string value being registered. Description: Brief description of the organization role values. Registrant Name: For RFC specifications, state "IESG". For other specifications, give the name of the responsible party. Registrant Contact Information: An email address, postal address, or some other information to be used to contact the registrant.
Top   ToC   RFC8543 - Page 38

7.3.2. Initial Registry Contents

The following are the initial registry contents: Value: registrar Description: The entity object instance represents the authority responsible for the registration in the registry. Registrant: IESG, iesg@ietf.org Value: reseller Description: The entity object instance represents a third party through which the registration was conducted (i.e., not the registry or registrar). Registrant: IESG, iesg@ietf.org Value: privacyproxy Description: The entity object instance represents a third party who could help to register a domain without exposing the registrants' private information. Registrant: IESG, iesg@ietf.org Value: dns-operator Description: The entity object instance represents a third-party DNS operator that maintains the name servers and zone data on behalf of a registrant. Registrant: IESG, iesg@ietf.org

8. Security Considerations

The organization object may have personally identifiable information, such as <org:contact>. This information is not a required element in this document that can be provided on a voluntary basis. If it is provided, both client and server MUST ensure that authorization information is stored and exchanged with high-grade encryption mechanisms to provide privacy services, which are specified in [RFC5733]. The security considerations described in [RFC5730] or those caused by the protocol layers used by EPP will apply to this specification as well.
Top   ToC   RFC8543 - Page 39

9. References

9.1. Normative References

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>. [RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO 10646", STD 63, RFC 3629, DOI 10.17487/RFC3629, November 2003, <https://www.rfc-editor.org/info/rfc3629>. [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, DOI 10.17487/RFC3688, January 2004, <https://www.rfc-editor.org/info/rfc3688>. [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, DOI 10.17487/RFC3986, January 2005, <https://www.rfc-editor.org/info/rfc3986>. [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, DOI 10.17487/RFC5322, October 2008, <https://www.rfc-editor.org/info/rfc5322>. [RFC5646] Phillips, A., Ed. and M. Davis, Ed., "Tags for Identifying Languages", BCP 47, RFC 5646, DOI 10.17487/RFC5646, September 2009, <https://www.rfc-editor.org/info/rfc5646>. [RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", STD 69, RFC 5730, DOI 10.17487/RFC5730, August 2009, <https://www.rfc-editor.org/info/rfc5730>. [RFC5733] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) Contact Mapping", STD 69, RFC 5733, DOI 10.17487/RFC5733, August 2009, <https://www.rfc-editor.org/info/rfc5733>. [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, DOI 10.17487/RFC8126, June 2017, <https://www.rfc-editor.org/info/rfc8126>. [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc-editor.org/info/rfc8174>.
Top   ToC   RFC8543 - Page 40
   [UNICODE]  The Unicode Consortium, "The Unicode Standard",
              <http://www.unicode.org/versions/latest/>.

   [W3C.REC-xml-20081126]
              Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E., and
              F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fifth
              Edition)", World Wide Web Consortium Recommendation
              REC-xml-20081126, November 2008,
              <https://www.w3.org/TR/xml/>.

   [W3C.REC-xmlschema-1-20041028]
              Thompson, H., Beech, D., Maloney, M., and N. Mendelsohn,
              "XML Schema Part 1: Structures Second Edition", World Wide
              Web Consortium Recommendation REC-xmlschema-1-20041028,
              October 2004,
              <http://www.w3.org/TR/2004/REC-xmlschema-1-20041028>.

   [W3C.REC-xmlschema-2-20041028]
              Biron, P. and A. Malhotra, "XML Schema Part 2: Datatypes
              Second Edition", World Wide Web Consortium Recommendation
              REC-xmlschema-2-20041028, October 2004,
              <http://www.w3.org/TR/2004/REC-xmlschema-2-20041028>.

9.2. Informative References

[RFC2781] Hoffman, P. and F. Yergeau, "UTF-16, an encoding of ISO 10646", RFC 2781, DOI 10.17487/RFC2781, February 2000, <https://www.rfc-editor.org/info/rfc2781>. [RFC7451] Hollenbeck, S., "Extension Registry for the Extensible Provisioning Protocol", RFC 7451, DOI 10.17487/RFC7451, February 2015, <https://www.rfc-editor.org/info/rfc7451>.
Top   ToC   RFC8543 - Page 41

Acknowledgments

The authors would like to thank Rik Ribbers, Marc Groeneweg, Patrick Mevzek, Antoin Verschuren, and Scott Hollenbeck for their careful review and valuable comments.

Authors' Addresses

Linlin Zhou CNNIC 4 South 4th Street, Zhongguancun, Haidian District Beijing, Beijing 100190 China Email: zhoulinlin@cnnic.cn Ning Kong Consultant Email: ietfing@gmail.com Jiankang Yao CNNIC 4 South 4th Street, Zhongguancun, Haidian District Beijing, Beijing 100190 China Email: yaojk@cnnic.cn James Gould VeriSign, Inc. 12061 Bluemont Way Reston, VA 20190 United States of America Email: jgould@verisign.com URI: http://www.verisign.com Guiqing Zhou Email: qing.joe@gmail.com