draft-ietf-regext-org-03.txt | draft-ietf-regext-org-04.txt | |||
---|---|---|---|---|
Internet Engineering Task Force L. Zhou | Internet Engineering Task Force L. Zhou | |||
Internet-Draft N. Kong | Internet-Draft N. Kong | |||
Intended status: Standards Track G. Zhou | Intended status: Standards Track G. Zhou | |||
Expires: October 29, 2018 X. Lee | Expires: November 5, 2018 X. Lee | |||
CNNIC | CNNIC | |||
J. Gould | J. Gould | |||
VeriSign, Inc. | Verisign, Inc. | |||
April 27, 2018 | May 4, 2018 | |||
Extensible Provisioning Protocol (EPP) Organization Mapping | Extensible Provisioning Protocol (EPP) Organization Mapping | |||
draft-ietf-regext-org-03 | draft-ietf-regext-org-04 | |||
Abstract | Abstract | |||
This document describes an Extensible Provisioning Protocol (EPP) | This document describes an Extensible Provisioning Protocol (EPP) | |||
mapping for provisioning and management of organization objects | mapping for provisioning and management of organization objects | |||
stored in a shared central repository. Specified in Extensible | stored in a shared central repository. Specified in Extensible | |||
Markup Language (XML), this extended mapping is applied to provide | Markup Language (XML), this extended mapping is applied to provide | |||
additional features required for the provisioning of organizations. | additional features required for the provisioning of organizations. | |||
Status of This Memo | Status of This Memo | |||
skipping to change at page 1, line 38 ¶ | skipping to change at page 1, line 38 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on October 29, 2018. | This Internet-Draft will expire on November 5, 2018. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 2, line 34 ¶ | skipping to change at page 2, line 34 ¶ | |||
2. Conventions Used in This Document . . . . . . . . . . . . . . 3 | 2. Conventions Used in This Document . . . . . . . . . . . . . . 3 | |||
3. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Object Attributes . . . . . . . . . . . . . . . . . . . . . . 4 | |||
3.1. Organization Identifier . . . . . . . . . . . . . . . . . 4 | 3.1. Organization Identifier . . . . . . . . . . . . . . . . . 4 | |||
3.2. Organization Roles . . . . . . . . . . . . . . . . . . . 4 | 3.2. Organization Roles . . . . . . . . . . . . . . . . . . . 4 | |||
3.2.1. Role Type . . . . . . . . . . . . . . . . . . . . . . 4 | 3.2.1. Role Type . . . . . . . . . . . . . . . . . . . . . . 4 | |||
3.2.2. Role Status . . . . . . . . . . . . . . . . . . . . . 4 | 3.2.2. Role Status . . . . . . . . . . . . . . . . . . . . . 4 | |||
3.2.3. Role Identifier . . . . . . . . . . . . . . . . . . . 4 | 3.2.3. Role Identifier . . . . . . . . . . . . . . . . . . . 4 | |||
3.3. Contact and Client Identifiers . . . . . . . . . . . . . 5 | 3.3. Contact and Client Identifiers . . . . . . . . . . . . . 5 | |||
3.4. Organization Status Values . . . . . . . . . . . . . . . 5 | 3.4. Organization Status Values . . . . . . . . . . . . . . . 5 | |||
3.5. Role Status Values . . . . . . . . . . . . . . . . . . . 6 | 3.5. Role Status Values . . . . . . . . . . . . . . . . . . . 6 | |||
3.6. Parent Identifier . . . . . . . . . . . . . . . . . . . . 6 | 3.6. Parent Identifier . . . . . . . . . . . . . . . . . . . . 7 | |||
3.7. URL . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 3.7. URL . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
3.8. Dates and Times . . . . . . . . . . . . . . . . . . . . . 7 | 3.8. Dates and Times . . . . . . . . . . . . . . . . . . . . . 7 | |||
4. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 7 | 4. EPP Command Mapping . . . . . . . . . . . . . . . . . . . . . 7 | |||
4.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 7 | 4.1. EPP Query Commands . . . . . . . . . . . . . . . . . . . 7 | |||
4.1.1. EPP <check> Command . . . . . . . . . . . . . . . . . 7 | 4.1.1. EPP <check> Command . . . . . . . . . . . . . . . . . 8 | |||
4.1.2. EPP <info> Command . . . . . . . . . . . . . . . . . 9 | 4.1.2. EPP <info> Command . . . . . . . . . . . . . . . . . 9 | |||
4.1.3. EPP <transfer> Command . . . . . . . . . . . . . . . 15 | 4.1.3. EPP <transfer> Command . . . . . . . . . . . . . . . 15 | |||
4.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 15 | 4.2. EPP Transform Commands . . . . . . . . . . . . . . . . . 15 | |||
4.2.1. EPP <create> Command . . . . . . . . . . . . . . . . 15 | 4.2.1. EPP <create> Command . . . . . . . . . . . . . . . . 15 | |||
4.2.2. EPP <delete> Command . . . . . . . . . . . . . . . . 19 | 4.2.2. EPP <delete> Command . . . . . . . . . . . . . . . . 19 | |||
4.2.3. EPP <renew> Command . . . . . . . . . . . . . . . . . 20 | 4.2.3. EPP <renew> Command . . . . . . . . . . . . . . . . . 20 | |||
4.2.4. EPP <transfer> Command . . . . . . . . . . . . . . . 20 | 4.2.4. EPP <transfer> Command . . . . . . . . . . . . . . . 20 | |||
4.2.5. EPP <update> Command . . . . . . . . . . . . . . . . 21 | 4.2.5. EPP <update> Command . . . . . . . . . . . . . . . . 21 | |||
5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 25 | 5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
6. Internationalization Considerations . . . . . . . . . . . . . 33 | 6. Internationalization Considerations . . . . . . . . . . . . . 33 | |||
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 33 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 33 | |||
7.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 33 | 7.1. XML Namespace . . . . . . . . . . . . . . . . . . . . . . 33 | |||
7.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 34 | 7.2. EPP Extension Registry . . . . . . . . . . . . . . . . . 34 | |||
7.3. Role Values Registry . . . . . . . . . . . . . . . . . . 34 | 7.3. Role Values Registry . . . . . . . . . . . . . . . . . . 34 | |||
7.3.1. Registration Template . . . . . . . . . . . . . . . . 34 | 7.3.1. Registration Template . . . . . . . . . . . . . . . . 34 | |||
7.3.2. Initial Registry Contents . . . . . . . . . . . . . . 34 | 7.3.2. Initial Registry Contents . . . . . . . . . . . . . . 35 | |||
8. Implementation Status . . . . . . . . . . . . . . . . . . . . 35 | 8. Implementation Status . . . . . . . . . . . . . . . . . . . . 35 | |||
8.1. CNNIC Implementation . . . . . . . . . . . . . . . . . . 36 | 8.1. Verisign EPP SDK . . . . . . . . . . . . . . . . . . . . 36 | |||
8.2. Reseller Extension . . . . . . . . . . . . . . . . . . . 36 | 8.2. CNNIC Implementation . . . . . . . . . . . . . . . . . . 36 | |||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 36 | 8.3. Reseller Extension . . . . . . . . . . . . . . . . . . . 37 | |||
10. Acknowledgment . . . . . . . . . . . . . . . . . . . . . . . 36 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 37 | |||
11. Normative References . . . . . . . . . . . . . . . . . . . . 36 | 10. Acknowledgment . . . . . . . . . . . . . . . . . . . . . . . 37 | |||
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 37 | ||||
11.1. Normative References . . . . . . . . . . . . . . . . . . 37 | ||||
11.2. Informative References . . . . . . . . . . . . . . . . . 38 | ||||
Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 38 | Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 38 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 39 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 40 | |||
1. Introduction | 1. Introduction | |||
There are many entities, such as registrars, resellers, DNS service | There are many entities, such as registrars, resellers, DNS service | |||
operators, or privacy proxies involved in the domain registration | operators, or privacy proxies involved in the domain registration | |||
business. These kind of entities have not been formally defined as | business. These kind of entities have not been formally defined as | |||
an object in EPP which will be specified as "organization" in this | an object in EPP which will be specified as "organization" in this | |||
document. | document. | |||
This document describes an organization object mapping for version | This document describes an organization object mapping for version | |||
skipping to change at page 4, line 35 ¶ | skipping to change at page 4, line 37 ¶ | |||
organization would have. Its corresponding element is <org:role>. | organization would have. Its corresponding element is <org:role>. | |||
3.2.1. Role Type | 3.2.1. Role Type | |||
An organization would support a list of roles. See Section 7.3 for a | An organization would support a list of roles. See Section 7.3 for a | |||
list of values. Its corresponding element is <org:type>. | list of values. Its corresponding element is <org:type>. | |||
3.2.2. Role Status | 3.2.2. Role Status | |||
A role of an organization object would have its own statuses. Its | A role of an organization object would have its own statuses. Its | |||
corresponding element is <org:status>. The values of role status are | corresponding element is <org:status>. The values of the role status | |||
defined in Section 3.5. | are defined in Section 3.5. | |||
3.2.3. Role Identifier | 3.2.3. Role Identifier | |||
A role MAY have a third party assigned identifier such as the IANA ID | A role MAY have a third party assigned identifier such as the IANA ID | |||
for registrars. Its corresponding element is <org:roleid>. | for registrars. Its corresponding element is <org:roleid>. | |||
Example of organization role identifier: | Example of organization role identifier: | |||
<org:role> | <org:role> | |||
<org:type>registrar</org:type> | <org:type>registrar</org:type> | |||
skipping to change at page 5, line 21 ¶ | skipping to change at page 5, line 28 ¶ | |||
[RFC5730]. | [RFC5730]. | |||
3.4. Organization Status Values | 3.4. Organization Status Values | |||
An organization object MUST always have at least one associated | An organization object MUST always have at least one associated | |||
status value. The default value is "ok". | status value. The default value is "ok". | |||
Status values that can be added or removed by a client are prefixed | Status values that can be added or removed by a client are prefixed | |||
with "client". Corresponding status values that can be added or | with "client". Corresponding status values that can be added or | |||
removed by a server are prefixed with "server". The "hold" and | removed by a server are prefixed with "server". The "hold" and | |||
"terminated" are server-managed when the organization has no parent | "terminated" status values are server-managed when the organization | |||
identifier [Section 3.6] and otherwise MAY be client-managed based on | has no parent identifier [Section 3.6] and otherwise MAY be client- | |||
server policy. | managed based on server policy. | |||
Status Value Descriptions: | Status Value Descriptions: | |||
o ok: This is the normal status value for an object that has no | o ok: This is the normal status value for an object that has no | |||
pending operations or prohibitions. This value is set and removed | pending operations or prohibitions. This value is set and removed | |||
by the server as other status values are added or removed. | by the server as other status values are added or removed. | |||
o hold: Organization transform commands and new links MUST be | o hold: Organization transform commands and new links MUST be | |||
rejected. | rejected. | |||
skipping to change at page 10, line 31 ¶ | skipping to change at page 10, line 38 ¶ | |||
contains the following child elements: | contains the following child elements: | |||
o A <org:id> element that contains the server-unique identifier of | o A <org:id> element that contains the server-unique identifier of | |||
the organization object, as defined in Section 3.1. | the organization object, as defined in Section 3.1. | |||
o A <org:roid> element that contains the Repository Object | o A <org:roid> element that contains the Repository Object | |||
IDentifier assigned to the organization object when the object was | IDentifier assigned to the organization object when the object was | |||
created. | created. | |||
o One or more <org:role> elements that contains the role type, role | o One or more <org:role> elements that contains the role type, role | |||
status and optional role id of the organization. | statuses and optional role id of the organization. | |||
* A <org:type> element that contains the type of the | * A <org:type> element that contains the type of the | |||
organization, as defined in Section 3.2. | organization, as defined in Section 3.2. | |||
* Zero or more <org:status> elements of a role. The values of | * Zero or more <org:status> elements that contains the role type. | |||
role status are defined in Section 3.5. | The values of the role status are defined in Section 3.5. | |||
* An OPTIONAL <org:roleid> element that contains a third party | * An OPTIONAL <org:roleid> element that contains a third party | |||
assigned identifier, such as IANA ID for registrars, as defined | assigned identifier, such as IANA ID for registrars, as defined | |||
in Section 3.2.3. | in Section 3.2.3. | |||
o Zero or more <org:status> elements that contains the operational | o Zero or more <org:status> elements that contains the operational | |||
status of the organization, as defined in Section 3.4. | status of the organization, as defined in Section 3.4. | |||
o An OPTIONAL <org:parentId> element that contains the identifier of | o An OPTIONAL <org:parentId> element that contains the identifier of | |||
the parent object, as defined in Section 3.6. | the parent object, as defined in Section 3.6. | |||
skipping to change at page 15, line 12 ¶ | skipping to change at page 15, line 12 ¶ | |||
An EPP error response MUST be returned if an <info> command cannot be | An EPP error response MUST be returned if an <info> command cannot be | |||
processed for any reason. | processed for any reason. | |||
4.1.3. EPP <transfer> Command | 4.1.3. EPP <transfer> Command | |||
The transfer semantics does not apply to organization object. No EPP | The transfer semantics does not apply to organization object. No EPP | |||
<transfer> command is defined in this document. | <transfer> command is defined in this document. | |||
4.2. EPP Transform Commands | 4.2. EPP Transform Commands | |||
EPP provides three commands to transform organization object | This document provides three commands to transform organization | |||
information: <create> to create an instance of an organization | object information: <create> to create an instance of an organization | |||
object, <delete> to delete an instance of an organization object, and | object, <delete> to delete an instance of an organization object, and | |||
<update> to change information associated with an organization | <update> to change information associated with an organization | |||
object. This document does not define a mapping for the EPP | object. This document does not define a mapping for the EPP | |||
<transfer> and <renew> command. | <transfer> and <renew> command. | |||
Transform commands are typically processed and completed in real | Transform commands are typically processed and completed in real | |||
time. Server operators MAY receive and process transform commands | time. Server operators MAY receive and process transform commands | |||
but defer completing the requested action if human or third-party | but defer completing the requested action if human or third-party | |||
review is required before the requested action can be completed. In | review is required before the requested action can be completed. In | |||
such situations, the server MUST return a 1001 response code to the | such situations, the server MUST return a 1001 response code to the | |||
skipping to change at page 15, line 52 ¶ | skipping to change at page 15, line 52 ¶ | |||
client to create an organization object. In addition to the standard | client to create an organization object. In addition to the standard | |||
EPP command elements, the <create> command MUST contain a | EPP command elements, the <create> command MUST contain a | |||
<org:create> element that identifies the organization namespace. The | <org:create> element that identifies the organization namespace. The | |||
<org:create> element contains the following child elements: | <org:create> element contains the following child elements: | |||
o A <org:id> element that contains the desired server-unique | o A <org:id> element that contains the desired server-unique | |||
identifier for the organization to be created, as defined in | identifier for the organization to be created, as defined in | |||
Section 3.1. | Section 3.1. | |||
o One or more <org:role> elements that contains the role type, role | o One or more <org:role> elements that contains the role type, role | |||
status and optional role id of the organization. | statuses and optional role id of the organization. | |||
* A <org:type> element that contains the type of the | * A <org:type> element that contains the type of the | |||
organization, as defined in Section 3.2. | organization, as defined in Section 3.2. | |||
* Zero or more <org:status> elements of a role. The values of | * Zero or more <org:status> elements that contains the role type. | |||
role status are defined in Section 3.5. | The values of the role status are defined in Section 3.5. | |||
* An OPTIONAL <org:roleid> element that contains a third party | * An OPTIONAL <org:roleid> element that contains a third party | |||
assigned identifier, such as IANA ID for registrars, as defined | assigned identifier, such as IANA ID for registrars, as defined | |||
in Section 3.2.3. | in Section 3.2.3. | |||
o Zero of more <org:status> element that contains the operational | o Zero of more <org:status> element that contains the operational | |||
status of the organization, as defined in Section 3.4. | status of the organization, as defined in Section 3.4. | |||
o An OPTIONAL <org:parentId> element that contains the identifier of | o An OPTIONAL <org:parentId> element that contains the identifier of | |||
the parent object, as defined in Section 3.6. | the parent object, as defined in Section 3.6. | |||
skipping to change at page 18, line 14 ¶ | skipping to change at page 18, line 14 ¶ | |||
C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
C: <command> | C: <command> | |||
C: <create> | C: <create> | |||
C: <org:create | C: <org:create | |||
C: xmlns:org="urn:ietf:params:xml:ns:org-1.0"> | C: xmlns:org="urn:ietf:params:xml:ns:org-1.0"> | |||
C: <org:id>res1523</org:id> | C: <org:id>res1523</org:id> | |||
C: <org:role> | C: <org:role> | |||
C: <org:type>reseller</org:type> | C: <org:type>reseller</org:type> | |||
C: <org:status>ok</org:type> | ||||
C: </org:role> | C: </org:role> | |||
C: <org:parentId>1523res</org:parentId> | C: <org:parentId>1523res</org:parentId> | |||
C: <org:postalInfo type="int"> | C: <org:postalInfo type="int"> | |||
C: <org:name>Example Organization Inc.</org:name> | C: <org:name>Example Organization Inc.</org:name> | |||
C: <org:addr> | C: <org:addr> | |||
C: <org:street>123 Example Dr.</org:street> | C: <org:street>123 Example Dr.</org:street> | |||
C: <org:street>Suite 100</org:street> | C: <org:street>Suite 100</org:street> | |||
C: <org:city>Dulles</org:city> | C: <org:city>Dulles</org:city> | |||
C: <org:sp>VA</org:sp> | C: <org:sp>VA</org:sp> | |||
C: <org:pc>20166-6503</org:pc> | C: <org:pc>20166-6503</org:pc> | |||
skipping to change at page 21, line 28 ¶ | skipping to change at page 21, line 28 ¶ | |||
added to the object. | added to the object. | |||
o An OPTIONAL <org:rem> element that contains attribute values to be | o An OPTIONAL <org:rem> element that contains attribute values to be | |||
removed from the object. | removed from the object. | |||
o An OPTIONAL <org:chg> element that contains attribute values to be | o An OPTIONAL <org:chg> element that contains attribute values to be | |||
changed. | changed. | |||
At least one <org:add>, <org:rem> or <org:chg> element MUST be | At least one <org:add>, <org:rem> or <org:chg> element MUST be | |||
provided if the command is not being extended. All of these elements | provided if the command is not being extended. All of these elements | |||
MAY be omitted if an <update> extension is present. The <org:add> | MAY be omitted if an <update> extension is present. The OPTIONAL | |||
and <org:rem> elements contain the following child element: | <org:add> and <org:rem> elements contain the following child element: | |||
o Zero or more <org:contact> elements that contain the identifiers | o Zero or more <org:contact> elements that contain the identifiers | |||
for contact objects to be associated with or removed from the | for contact objects to be associated with or removed from the | |||
organization object. Contact object identifiers MUST be known to | organization object. Contact object identifiers MUST be known to | |||
the server before the contact object can be associated with the | the server before the contact object can be associated with the | |||
organization object. | organization object. | |||
o Zero or more <org:role> elements that contains the role type, role | o Zero or more <org:role> elements that contains the role type, role | |||
status and optional role id of the organization. | statuses and optional role id of the organization. | |||
* A <org:type> element that contains the type of the | * A <org:type> element that contains the type of the | |||
organization, as defined in Section 3.2. | organization, as defined in Section 3.2. | |||
* Zero or more <org:status> elements of a role. The values of | * Zero or more <org:status> elements that contains the role type. | |||
role status are defined in Section 3.5. | The values of the role status are defined in Section 3.5. | |||
* An OPTIONAL <org:roleid> element that contains a third party | * An OPTIONAL <org:roleid> element that contains a third party | |||
assigned identifier, such as IANA ID for registrars, as defined | assigned identifier, such as IANA ID for registrars, as defined | |||
in Section 3.2.3. | in Section 3.2.3. | |||
o Zero or more <org:status> element that contains the operational | o Zero or more <org:status> element that contains the operational | |||
status of the organization. | status of the organization. | |||
A <org:chg> element contains the following OPTIONAL child elements. | A OPTIONAL <org:chg> element contains the following child elements, | |||
At least one child element MUST be present: | where at least one child element MUST be present: | |||
o A <org:parentId> element that contains the identifier of the | o An OPTIONAL <org:parentId> element that contains the identifier of | |||
parent object. | the parent object. | |||
o One or two <org:postalInfo> elements that contain postal-address | o Zero to two <org:postalInfo> elements that contain postal-address | |||
information. Two elements are provided so that address | information. Two elements are provided so that address | |||
information can be provided in both internationalized and | information can be provided in both internationalized and | |||
localized forms; a "type" attribute is used to identify the two | localized forms; a "type" attribute is used to identify the two | |||
forms. If an internationalized form (type="int") is provided, | forms. If an internationalized form (type="int") is provided, | |||
element content MUST be represented in a subset of UTF-8 that can | element content MUST be represented in a subset of UTF-8 that can | |||
be represented in the 7-bit US-ASCII character set. If a | be represented in the 7-bit US-ASCII character set. If a | |||
localized form (type="loc") is provided, element content MAY be | localized form (type="loc") is provided, element content MAY be | |||
represented in unrestricted UTF-8. The change of the postal info | represented in unrestricted UTF-8. The change of the postal info | |||
is defined as a replacement of that postal info element with the | is defined as a replacement of that postal info element with the | |||
contents of the sub-elements included in the update command. An | contents of the sub-elements included in the update command. An | |||
skipping to change at page 22, line 47 ¶ | skipping to change at page 22, line 47 ¶ | |||
+ An OPTIONAL <org:sp> element that contains the | + An OPTIONAL <org:sp> element that contains the | |||
organization's state or province. | organization's state or province. | |||
+ An OPTIONAL <org:pc> element that contains the | + An OPTIONAL <org:pc> element that contains the | |||
organization's postal code. | organization's postal code. | |||
+ A <org:cc> element that contains the organization's country | + A <org:cc> element that contains the organization's country | |||
code. | code. | |||
o A <org:voice> element that contains the organization's voice | o An OPTIONAL <org:voice> element that contains the organization's | |||
telephone number. | voice telephone number. | |||
o A <org:fax> element that contains the organization's facsimile | o An OPTIONAL <org:fax> element that contains the organization's | |||
telephone number. | facsimile telephone number. | |||
o A <org:email> element that contains the organization's email | o An OPTIONAL <org:email> element that contains the organization's | |||
address. | email address. | |||
o A <org:url> element that contains the URL to the website of the | o An OPTIONAL <org:url> element that contains the URL to the website | |||
organization. | of the organization. | |||
Example <update> command: | Example <update> command: | |||
C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | C:<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0"> | |||
C: <command> | C: <command> | |||
C: <update> | C: <update> | |||
C: <org:update | C: <org:update | |||
C: xmlns:org="urn:ietf:params:xml:ns:org-1.0"> | C: xmlns:org="urn:ietf:params:xml:ns:org-1.0"> | |||
C: <org:id>res1523</org:id> | C: <org:id>res1523</org:id> | |||
skipping to change at page 25, line 30 ¶ | skipping to change at page 25, line 30 ¶ | |||
5. Formal Syntax | 5. Formal Syntax | |||
An EPP object mapping is specified in XML Schema notation. The | An EPP object mapping is specified in XML Schema notation. The | |||
formal syntax presented here is a complete schema representation of | formal syntax presented here is a complete schema representation of | |||
the object mapping suitable for automated validation of EPP XML | the object mapping suitable for automated validation of EPP XML | |||
instances. The BEGIN and END tags are not part of the schema; they | 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 | are used to note the beginning and ending of the schema for URI | |||
registration purposes. | registration purposes. | |||
BEGIN | BEGIN | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<schema targetNamespace="urn:ietf:params:xml:ns:org-1.0" | ||||
xmlns:org="urn:ietf:params:xml:ns: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"/> | ||||
<annotation> | <schema targetNamespace="urn:ietf:params:xml:ns:org-1.0" | |||
<documentation> | xmlns:org="urn:ietf:params:xml:ns:org-1.0" | |||
Extensible Provisioning Protocol v1.0 | xmlns:epp="urn:ietf:params:xml:ns:epp-1.0" | |||
organization provisioning schema. | xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0" | |||
</documentation> | xmlns="http://www.w3.org/2001/XMLSchema" | |||
</annotation> | elementFormDefault="qualified"> | |||
<!-- | <!-- | |||
Child elements found in EPP commands. | Import common element types. | |||
--> | --> | |||
<element name="create" type="org:createType"/> | <import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/> | |||
<element name="delete" type="org:sIDType"/> | <import namespace="urn:ietf:params:xml:ns:epp-1.0"/> | |||
<element name="update" type="org:updateType"/> | ||||
<element name="check" type="org:mIDType"/> | ||||
<element name="info" type="org:infoType"/> | ||||
<!-- | <annotation> | |||
Utility types. | <documentation> | |||
--> | Extensible Provisioning Protocol v1.0 | |||
<simpleType name="statusType"> | organization provisioning schema. | |||
<restriction base="token"> | </documentation> | |||
<enumeration value="ok"/> | </annotation> | |||
<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"> | Child elements found in EPP commands. | |||
<enumeration value="ok"/> | --> | |||
<enumeration value="clientLinkProhibited"/> | <element name="create" type="org:createType"/> | |||
<enumeration value="linked"/> | <element name="delete" type="org:sIDType"/> | |||
<enumeration value="serverLinkProhibited"/> | <element name="update" type="org:updateType"/> | |||
</restriction> | <element name="check" type="org:mIDType"/> | |||
</simpleType> | <element name="info" type="org:infoType"/> | |||
<complexType name="roleType"> | <!-- | |||
<element name="type" type="token"/> | Utility types. | |||
<element name="status" type="org:roleStatusType" minOccurs="0" maxOccurs="3"/> | --> | |||
<element name="roleid" type="token" minOccurs="0"/> | <simpleType name="statusType"> | |||
</complexType> | <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> | ||||
<complexType name="postalInfoType"> | <simpleType name="roleStatusType"> | |||
<sequence> | <restriction base="token"> | |||
<element name="name" | <enumeration value="ok"/> | |||
type="org:postalLineType"/> | <enumeration value="clientLinkProhibited"/> | |||
<element name="addr" | <enumeration value="linked"/> | |||
type="org:addrType"/> | <enumeration value="serverLinkProhibited"/> | |||
</sequence> | </restriction> | |||
<attribute name="type" | </simpleType> | |||
type="org:postalInfoEnumType" | ||||
use="required"/> | ||||
</complexType> | ||||
<complexType name="contactType"> | <complexType name="roleType"> | |||
<simpleContent> | <sequence> | |||
<extension base="eppcom:clIDType"> | <element name="type" type="token"/> | |||
<attribute name="type" type="org:contactAttrType" use="required"/> | <element name="status" type="org:roleStatusType" | |||
<attribute name="typeName" type="token"/> | minOccurs="0" maxOccurs="3"/> | |||
</extension> | <element name="roleid" type="token" minOccurs="0"/> | |||
</simpleContent> | </sequence> | |||
</complexType> | </complexType> | |||
<complexType name="postalInfoType"> | ||||
<sequence> | ||||
<element name="name" | ||||
type="org:postalLineType"/> | ||||
<element name="addr" | ||||
type="org:addrType"/> | ||||
</sequence> | ||||
<attribute name="type" | ||||
type="org:postalInfoEnumType" | ||||
use="required"/> | ||||
</complexType> | ||||
<simpleType name="contactAttrType"> | <complexType name="contactType"> | |||
<restriction base="token"> | <simpleContent> | |||
<enumeration value="admin"/> | <extension base="eppcom:clIDType"> | |||
<enumeration value="billing"/> | <attribute name="type" type="org:contactAttrType" | |||
<enumeration value="tech"/> | use="required"/> | |||
<enumeration value="abuse"/> | <attribute name="typeName" type="token"/> | |||
<enumeration value="custom"/> | </extension> | |||
</restriction> | </simpleContent> | |||
</simpleType> | </complexType> | |||
<complexType name="e164Type"> | <simpleType name="contactAttrType"> | |||
<simpleContent> | <restriction base="token"> | |||
<extension base="org:e164StringType"> | <enumeration value="admin"/> | |||
<attribute name="x" type="token" /> | <enumeration value="billing"/> | |||
</extension> | <enumeration value="tech"/> | |||
</simpleContent> | <enumeration value="abuse"/> | |||
</complexType> | <enumeration value="custom"/> | |||
</restriction> | ||||
</simpleType> | ||||
<simpleType name="e164StringType"> | <complexType name="e164Type"> | |||
<restriction base="token"> | <simpleContent> | |||
<pattern value="(\+[0-9]{1,3}\.[0-9]{1,14})?" /> | <extension base="org:e164StringType"> | |||
<maxLength value="17" /> | <attribute name="x" type="token" /> | |||
</restriction> | </extension> | |||
</simpleType> | </simpleContent> | |||
</complexType> | ||||
<simpleType name="postalLineType"> | <simpleType name="e164StringType"> | |||
<restriction base="normalizedString"> | <restriction base="token"> | |||
<minLength value="1" /> | <pattern value="(\+[0-9]{1,3}\.[0-9]{1,14})?" /> | |||
<maxLength value="255" /> | <maxLength value="17" /> | |||
</restriction> | </restriction> | |||
</simpleType> | ||||
</simpleType> | <simpleType name="postalLineType"> | |||
<restriction base="normalizedString"> | ||||
<minLength value="1" /> | ||||
<maxLength value="255" /> | ||||
</restriction> | ||||
</simpleType> | ||||
<simpleType name="optPostalLineType"> | <simpleType name="optPostalLineType"> | |||
<restriction base="normalizedString"> | <restriction base="normalizedString"> | |||
<maxLength value="255" /> | <maxLength value="255" /> | |||
</restriction> | </restriction> | |||
</simpleType> | </simpleType> | |||
<simpleType name="pcType"> | <simpleType name="pcType"> | |||
<restriction base="token"> | <restriction base="token"> | |||
<maxLength value="16" /> | <maxLength value="16" /> | |||
</restriction> | </restriction> | |||
</simpleType> | </simpleType> | |||
<simpleType name="ccType"> | <simpleType name="ccType"> | |||
<restriction base="token"> | <restriction base="token"> | |||
<length value="2" /> | <length value="2" /> | |||
</restriction> | </restriction> | |||
</simpleType> | </simpleType> | |||
<complexType name="addrType"> | <complexType name="addrType"> | |||
<sequence> | <sequence> | |||
<element name="street" type="org:optPostalLineType" | <element name="street" type="org:optPostalLineType" | |||
minOccurs="0" maxOccurs="3" /> | minOccurs="0" maxOccurs="3" /> | |||
<element name="city" type="org:postalLineType" /> | <element name="city" type="org:postalLineType" /> | |||
<element name="sp" type="org:optPostalLineType" | <element name="sp" type="org:optPostalLineType" | |||
minOccurs="0" /> | minOccurs="0" /> | |||
<element name="pc" type="org:pcType" | <element name="pc" type="org:pcType" | |||
minOccurs="0" /> | minOccurs="0" /> | |||
<element name="cc" type="org:ccType" /> | <element name="cc" type="org:ccType" /> | |||
</sequence> | </sequence> | |||
</complexType> | </complexType> | |||
<simpleType name="postalInfoEnumType"> | <simpleType name="postalInfoEnumType"> | |||
<restriction base="token"> | <restriction base="token"> | |||
<enumeration value="loc" /> | <enumeration value="loc" /> | |||
<enumeration value="int" /> | <enumeration value="int" /> | |||
</restriction> | </restriction> | |||
</simpleType> | </simpleType> | |||
<!-- | <!-- | |||
Child element of commands that require only an identifier. | Child element of commands that require only an identifier. | |||
--> | --> | |||
<complexType name="sIDType"> | <complexType name="sIDType"> | |||
<sequence> | <sequence> | |||
<element name="id" type="eppcom:clIDType"/> | <element name="id" type="eppcom:clIDType"/> | |||
</sequence> | </sequence> | |||
</complexType> | </complexType> | |||
<!-- | <!-- | |||
Child element of commands that accept multiple identifiers. | Child element of commands that accept multiple identifiers. | |||
--> | --> | |||
<complexType name="mIDType"> | <complexType name="mIDType"> | |||
<sequence> | <sequence> | |||
<element name="id" | <element name="id" | |||
type="eppcom:clIDType" maxOccurs="unbounded"/> | type="eppcom:clIDType" maxOccurs="unbounded"/> | |||
</sequence> | </sequence> | |||
</complexType> | </complexType> | |||
<!-- | <!-- | |||
Child elements of the <info> commands. | Child elements of the <info> commands. | |||
--> | --> | |||
<complexType name="infoType"> | <complexType name="infoType"> | |||
<sequence> | <sequence> | |||
<element name="id" | <element name="id" | |||
type="eppcom:clIDType"/> | type="eppcom:clIDType"/> | |||
</sequence> | </sequence> | |||
</complexType> | </complexType> | |||
<!-- | <!-- | |||
Child elements of the <create> command. | Child elements of the <create> command. | |||
--> | --> | |||
<complexType name="createType"> | <complexType name="createType"> | |||
<sequence> | <sequence> | |||
<element name="id" | <element name="id" | |||
type="eppcom:clIDType"/> | type="eppcom:clIDType"/> | |||
<element name="role" | <element name="role" | |||
type="org:roleType" maxOccurs="unbounded"/> | type="org:roleType" maxOccurs="unbounded"/> | |||
<element name="status" | <element name="status" | |||
type="org:statusType" minOccurs="0" maxOccurs="4"/> | type="org:statusType" minOccurs="0" maxOccurs="4"/> | |||
<element name="parentId" | <element name="parentId" | |||
type="eppcom:clIDType" minOccurs="0"/> | type="eppcom:clIDType" minOccurs="0"/> | |||
<element name="postalInfo" | <element name="postalInfo" | |||
type="org:postalInfoType" minOccurs="0" maxOccurs="2"/> | type="org:postalInfoType" minOccurs="0" maxOccurs="2"/> | |||
<element name="voice" | <element name="voice" | |||
type="org:e164Type" minOccurs="0"/> | type="org:e164Type" minOccurs="0"/> | |||
<element name="fax" | <element name="fax" | |||
type="org:e164Type" minOccurs="0"/> | type="org:e164Type" minOccurs="0"/> | |||
<element name="email" | <element name="email" | |||
type="eppcom:minTokenType" minOccurs="0"/> | type="eppcom:minTokenType" minOccurs="0"/> | |||
<element name="url" | <element name="url" | |||
type="anyURI" minOccurs="0"/> | type="anyURI" minOccurs="0"/> | |||
<element name="contact" | ||||
type="org:contactType" | ||||
minOccurs="0" maxOccurs="unbounded"/> | ||||
</sequence> | ||||
</complexType> | ||||
<!-- | <element name="contact" | |||
Child elements of the <update> command. | type="org:contactType" | |||
--> | minOccurs="0" maxOccurs="unbounded"/> | |||
<complexType name="updateType"> | </sequence> | |||
<sequence> | </complexType> | |||
<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> | ||||
</complexType> | ||||
<!-- | <!-- | |||
Data elements that can be added or removed. | Child elements of the <update> command. | |||
--> | --> | |||
<complexType name="addRemType"> | <complexType name="updateType"> | |||
<sequence> | <sequence> | |||
<element name="contact" | <element name="id" | |||
type="org:contactType" minOccurs="0" maxOccurs="unbounded"/> | type="eppcom:clIDType"/> | |||
<element name="role" type="org:roleType" | <element name="add" | |||
minOccurs="0" maxOccurs="unbounded"/> | type="org:addRemType" minOccurs="0"/> | |||
<element name="status" type="org:statusType" | <element name="rem" | |||
minOccurs="0" maxOccurs="9"/> | type="org:addRemType" minOccurs="0"/> | |||
</sequence> | <element name="chg" | |||
</complexType> | type="org:chgType" minOccurs="0"/> | |||
</sequence> | ||||
</complexType> | ||||
<!-- | <!-- | |||
Data elements that can be changed. | Data elements that can be added or removed. | |||
--> | --> | |||
<complexType name="chgType"> | <complexType name="addRemType"> | |||
<sequence> | <sequence> | |||
<element name="parentId" | <element name="contact" | |||
type="eppcom:clIDType" minOccurs="0"/> | type="org:contactType" minOccurs="0" maxOccurs="unbounded"/> | |||
<element name="postalInfo" | <element name="role" type="org:roleType" | |||
type="org:chgPostalInfoType" | minOccurs="0" maxOccurs="unbounded"/> | |||
minOccurs="0" maxOccurs="2"/> | <element name="status" type="org:statusType" | |||
<element name="voice" | minOccurs="0" maxOccurs="9"/> | |||
type="org:e164Type" minOccurs="0"/> | </sequence> | |||
<element name="fax" | </complexType> | |||
type="org:e164Type" minOccurs="0"/> | ||||
<element name="email" | ||||
type="eppcom:minTokenType" minOccurs="0"/> | ||||
<element name="url" | ||||
type="anyURI" minOccurs="0"/> | ||||
</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"/> | ||||
<complexType name="chgPostalInfoType"> | <element name="fax" | |||
<sequence> | type="org:e164Type" minOccurs="0"/> | |||
<element name="name" | <element name="email" | |||
type="org:postalLineType" minOccurs="0"/> | type="eppcom:minTokenType" minOccurs="0"/> | |||
<element name="addr" | <element name="url" | |||
type="org:addrType" minOccurs="0"/> | type="anyURI" minOccurs="0"/> | |||
</sequence> | </sequence> | |||
<attribute name="type" | </complexType> | |||
type="org:postalInfoEnumType" use="required"/> | ||||
</complexType> | ||||
<!-- | <complexType name="chgPostalInfoType"> | |||
Child response elements. | <sequence> | |||
--> | <element name="name" | |||
<element name="chkData" type="org:chkDataType"/> | type="org:postalLineType" minOccurs="0"/> | |||
<element name="creData" type="org:creDataType"/> | <element name="addr" | |||
<element name="infData" type="org:infDataType"/> | type="org:addrType" minOccurs="0"/> | |||
</sequence> | ||||
<attribute name="type" | ||||
type="org:postalInfoEnumType" use="required"/> | ||||
</complexType> | ||||
<!-- | <!-- | |||
<check> response elements. | Child response elements. | |||
--> | --> | |||
<complexType name="chkDataType"> | <element name="chkData" type="org:chkDataType"/> | |||
<sequence> | <element name="creData" type="org:creDataType"/> | |||
<element name="cd" type="org:checkType" | <element name="infData" type="org:infDataType"/> | |||
maxOccurs="unbounded" /> | ||||
</sequence> | ||||
</complexType> | ||||
<complexType name="checkType"> | <!-- | |||
<sequence> | <check> response elements. | |||
<element name="id" type="org:checkIDType" /> | --> | |||
<element name="reason" type="eppcom:reasonType" | <complexType name="chkDataType"> | |||
minOccurs="0" /> | <sequence> | |||
</sequence> | <element name="cd" type="org:checkType" | |||
</complexType> | maxOccurs="unbounded" /> | |||
</sequence> | ||||
</complexType> | ||||
<complexType name="checkIDType"> | <complexType name="checkType"> | |||
<simpleContent> | <sequence> | |||
<extension base="eppcom:clIDType"> | <element name="id" type="org:checkIDType" /> | |||
<attribute name="avail" type="boolean" | <element name="reason" type="eppcom:reasonType" | |||
use="required" /> | minOccurs="0" /> | |||
</extension> | </sequence> | |||
</simpleContent> | </complexType> | |||
</complexType> | ||||
<!-- | <complexType name="checkIDType"> | |||
<info> response elements. | <simpleContent> | |||
--> | <extension base="eppcom:clIDType"> | |||
<complexType name="infDataType"> | <attribute name="avail" type="boolean" | |||
<sequence> | use="required" /> | |||
<element name="id" | </extension> | |||
type="eppcom:clIDType"/> | </simpleContent> | |||
<element name="roid" | </complexType> | |||
type="eppcom:roidType"/> | ||||
<element name="role" | ||||
type="org:roleType" maxOccurs="unbounded"/> | ||||
<element name="status" | ||||
type="org:statusType" maxOccurs="9"/> | ||||
<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. | <info> response elements. | |||
--> | --> | |||
</schema> | <complexType name="infDataType"> | |||
END | <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"/> | ||||
<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 | ||||
6. Internationalization Considerations | 6. Internationalization Considerations | |||
EPP is represented in XML, which provides native support for encoding | EPP is represented in XML, which provides native support for encoding | |||
information using the Unicode character set and its more compact | information using the Unicode character set and its more compact | |||
representations including UTF-8. Conformant XML processors recognize | representations including UTF-8. Conformant XML processors recognize | |||
both UTF-8 and UTF-16. Though XML includes provisions to identify | both UTF-8 and UTF-16. Though XML includes provisions to identify | |||
and use other character encodings through use of an "encoding" | and use other character encodings through use of an "encoding" | |||
attribute in an <?xml?> declaration, use of UTF-8 is RECOMMENDED. | attribute in an <?xml?> declaration, use of UTF-8 is RECOMMENDED. | |||
skipping to change at page 33, line 36 ¶ | skipping to change at page 33, line 41 ¶ | |||
7. IANA Considerations | 7. IANA Considerations | |||
7.1. XML Namespace | 7.1. XML Namespace | |||
This document uses URNs to describe XML namespaces and XML schemas | This document uses URNs to describe XML namespaces and XML schemas | |||
conforming to a registry mechanism described in [RFC3688]. IANA is | conforming to a registry mechanism described in [RFC3688]. IANA is | |||
requested to assignment the following URI. | requested to assignment the following URI. | |||
Registration request for the organization namespace: | Registration request for the organization namespace: | |||
o URI: urn:ietf:params:xml:ns:org-1.0 | URI: urn:ietf:params:xml:ns:org-1.0 | |||
o Registrant Contact: See the "Author's Address" section of this | Registrant Contact: See the "Author's Address" section of this | |||
document. | document. | |||
o XML: None. Namespace URIs do not represent an XML specification. | XML: None. Namespace URIs do not represent an XML specification. | |||
Registration request for the organization XML schema: | Registration request for the organization XML schema: | |||
o URI: urn:ietf:params:xml:ns:org-1.0 | URI: urn:ietf:params:xml:ns:org-1.0 | |||
Registrant Contact: See the "Author's Address" section of this | ||||
o Registrant Contact: See the "Author's Address" section of this | ||||
document. | document. | |||
o XML: See the "Formal Syntax" section of this document. | XML: See the "Formal Syntax" section of this document. | |||
7.2. EPP Extension Registry | 7.2. EPP Extension Registry | |||
The EPP extension described in this document should be registered by | The EPP extension described in this document should be registered by | |||
the IANA in the EPP Extension Registry described in [RFC7451]. The | the IANA in the EPP Extension Registry described in [RFC7451]. The | |||
details of the registration are as follows: | details of the registration are as follows: | |||
Name of Extension: Organization Object Extension | Name of Extension: Organization Object Extension | |||
Document status: Standards Track | Document status: Standards Track | |||
Reference: (insert reference to RFC version of this document) | Reference: (insert reference to RFC version of this document) | |||
Registrant Name and Email Address: IESG | Registrant Name and Email Address: IESG | |||
TLDs: any | TLDs: any | |||
IPR Disclosure: none | IPR Disclosure: none | |||
Status: active | Status: active | |||
Notes: none | Notes: none | |||
7.3. Role Values Registry | 7.3. Role Values Registry | |||
The following values should be registered by the IANA in the "EPP | The following values should be registered by the IANA in the "EPP | |||
Organization Role Values" registry. The registration policy for this | Organization Role Values" registry. The registration policy for this | |||
registry is "Expert Review" [RFC8126]. | registry is "Expert Review" [RFC8126]. | |||
7.3.1. Registration Template | 7.3.1. Registration Template | |||
Value: the string value being registered. | Value: the string value being registered. | |||
skipping to change at page 34, line 47 ¶ | skipping to change at page 35, line 7 ¶ | |||
Description: Brief description of the organization role values. | Description: Brief description of the organization role values. | |||
Registrant Name: For Standards Track RFCs, state "IESG". For others, | Registrant Name: For Standards Track RFCs, state "IESG". For others, | |||
give the name of the responsible party. | give the name of the responsible party. | |||
Registrant Contact Information: an email address, postal address, or | Registrant Contact Information: an email address, postal address, or | |||
some other information to be used to contact the registrant. | some other information to be used to contact the registrant. | |||
7.3.2. Initial Registry Contents | 7.3.2. Initial Registry Contents | |||
Value: registrar | Followings are the initial registry contents: | |||
Description: The entity object instance represents the authority | Value: registrar | |||
Description: The entity object instance represents the authority | ||||
responsible for the registration in the registry. | responsible for the registration in the registry. | |||
Registrant Name: IESG | Registrant Name: IESG | |||
Registrant Contact Information: iesg@ietf.org | ||||
Value: reseller | Registrant Contact Information: iesg@ietf.org | |||
Description: The entity object instance represents a third party | Value: reseller | |||
Description: The entity object instance represents a third party | ||||
through which the registration was conducted (i.e., not the | through which the registration was conducted (i.e., not the | |||
registry or registrar). | registry or registrar). | |||
Registrant Name: IESG | Registrant Name: IESG | |||
Registrant Contact Information: iesg@ietf.org | Registrant Contact Information: iesg@ietf.org | |||
Value: privacyproxy | Value: privacyproxy | |||
Description: The entity object instance represents a third-party who | Description: The entity object instance represents a third-party | |||
could help to register a domain without exposing the registrants' | who could help to register a domain without exposing the | |||
private information.. | registrants' private information.. | |||
Registrant Name: IESG | Registrant Name: IESG | |||
Registrant Contact Information: iesg@ietf.org | Registrant Contact Information: iesg@ietf.org | |||
8. Implementation Status | 8. Implementation Status | |||
Note to RFC Editor: Please remove this section and the reference to | Note to RFC Editor: Please remove this section and the reference to | |||
[RFC6982] before publication. This section records the status of | [RFC7942] before publication. This section records the status of | |||
known implementations of the protocol defined by this specification | known implementations of the protocol defined by this specification | |||
at the time of posting of this Internet-Draft, and is based on a | at the time of posting of this Internet-Draft, and is based on a | |||
proposal described in [RFC6982]. The description of implementations | proposal described in [RFC7942]. The description of implementations | |||
in this section is intended to assist the IETF in its decision | in this section is intended to assist the IETF in its decision | |||
processes in progressing drafts to RFCs. Please note that the | processes in progressing drafts to RFCs. Please note that the | |||
listing of any individual implementation here does not imply | listing of any individual implementation here does not imply | |||
endorsement by the IETF. Furthermore, no effort has been spent to | endorsement by the IETF. Furthermore, no effort has been spent to | |||
verify the information presented here that was supplied by IETF | verify the information presented here that was supplied by IETF | |||
contributors. This is not intended as, and must not be construed to | contributors. This is not intended as, and must not be construed to | |||
be, a catalog of available implementations or their features. | be, a catalog of available implementations or their features. | |||
Readers are advised to note that other implementations may exist. | Readers are advised to note that other implementations may exist. | |||
According to [RFC6982], "this will allow reviewers and working groups | According to [RFC7942], "this will allow reviewers and working groups | |||
to assign due consideration to documents that have the benefit of | to assign due consideration to documents that have the benefit of | |||
running code, which may serve as evidence of valuable experimentation | running code, which may serve as evidence of valuable experimentation | |||
and feedback that have made the implemented protocols more mature. | and feedback that have made the implemented protocols more mature. | |||
It is up to the individual working groups to use this information as | It is up to the individual working groups to use this information as | |||
they see fit". | they see fit". | |||
CNNIC and Net::DRI (Patrick Mevzek) are in the process of development | Verisign has already implemented this object mapping. CNNIC and | |||
research to update organization extension from reseller extension. | Net::DRI (Patrick Mevzek) are in the process of development research | |||
to update organization objecct from reseller object. Dns Belgium is | ||||
planning to implement it after the publication of this document. | ||||
Dns Belgium is planning to implement it after the publication of this | 8.1. Verisign EPP SDK | |||
document. | ||||
8.1. CNNIC Implementation | Organization: Verisign Inc. | |||
Name: Verisign EPP SDK | ||||
Description: The Verisign EPP SDK includes both a full client | ||||
implementation and a full server stub implementation of draft-ietf- | ||||
regext-org. | ||||
Level of maturity: Development | ||||
Coverage: All aspects of the protocol are implemented. | ||||
Licensing: GNU Lesser General Public License | ||||
Contact: jgould@verisign.com | ||||
URL: https://www.verisign.com/en_US/channel-resources/domain- | ||||
registry-products/epp-sdks | ||||
8.2. CNNIC Implementation | ||||
Organization: CNNIC | Organization: CNNIC | |||
Name: EPP Organization Mapping | Name: EPP Organization Mapping | |||
Description: CNNIC is trying to update EPP organization mapping from | Description: CNNIC is trying to update EPP organization mapping from | |||
previous reseller mapping according to this document. | previous reseller mapping according to this document. | |||
Level of maturity: Research. | Level of maturity: Development | |||
Coverage: EPP organization mapping. | Coverage: EPP organization mapping | |||
Contact: zhouguiqing@cnnic.cn | Contact: zhouguiqing@cnnic.cn | |||
8.2. Reseller Extension | 8.3. Reseller Extension | |||
This document was updated from draft-ietf-regext-reseller. CNNIC, | This document was updated from [ID.draft-ietf-regext-reseller]. | |||
VeriSign and Net::DRI (Patrick Mevzek) have already implemented the | CNNIC, Verisign and Net::DRI (Patrick Mevzek) have already | |||
reseller mapping. | implemented the reseller mapping. | |||
9. Security Considerations | 9. Security Considerations | |||
The object mapping extension described in this document does not | The object mapping extension described in this document does not | |||
provide any other security services or introduce any additional | provide any other security services or introduce any additional | |||
considerations beyond those described by [RFC5730] or those caused by | considerations beyond those described by [RFC5730] or those caused by | |||
the protocol layers used by EPP. The security considerations | the protocol layers used by EPP. The security considerations | |||
described in these other specifications apply to this specification | described in these other specifications apply to this specification | |||
as well. | as well. | |||
10. Acknowledgment | 10. Acknowledgment | |||
The authors would like to thank Rik Ribbers, Marc Groeneweg, Patrick | The authors would like to thank Rik Ribbers, Marc Groeneweg, Patrick | |||
Mevzek, Antoin Verschuren and Scott Hollenbeck for their careful | Mevzek, Antoin Verschuren and Scott Hollenbeck for their careful | |||
review and valuable comments. | review and valuable comments. | |||
11. Normative References | 11. References | |||
11.1. Normative References | ||||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
DOI 10.17487/RFC3688, January 2004, | DOI 10.17487/RFC3688, January 2004, | |||
<https://www.rfc-editor.org/info/rfc3688>. | <https://www.rfc-editor.org/info/rfc3688>. | |||
[RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", | [RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", | |||
STD 69, RFC 5730, DOI 10.17487/RFC5730, August 2009, | STD 69, RFC 5730, DOI 10.17487/RFC5730, August 2009, | |||
<https://www.rfc-editor.org/info/rfc5730>. | <https://www.rfc-editor.org/info/rfc5730>. | |||
[RFC5733] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) | [RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running | |||
Contact Mapping", STD 69, RFC 5733, DOI 10.17487/RFC5733, | Code: The Implementation Status Section", BCP 205, | |||
August 2009, <https://www.rfc-editor.org/info/rfc5733>. | RFC 7942, DOI 10.17487/RFC7942, July 2016, | |||
<https://www.rfc-editor.org/info/rfc7942>. | ||||
[RFC6982] Sheffer, Y. and A. Farrel, "Improving Awareness of Running | ||||
Code: The Implementation Status Section", RFC 6982, | ||||
DOI 10.17487/RFC6982, July 2013, | ||||
<https://www.rfc-editor.org/info/rfc6982>. | ||||
[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>. | ||||
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | |||
Writing an IANA Considerations Section in RFCs", BCP 26, | Writing an IANA Considerations Section in RFCs", BCP 26, | |||
RFC 8126, DOI 10.17487/RFC8126, June 2017, | RFC 8126, DOI 10.17487/RFC8126, June 2017, | |||
<https://www.rfc-editor.org/info/rfc8126>. | <https://www.rfc-editor.org/info/rfc8126>. | |||
[W3C.REC-xml-20040204] | [W3C.REC-xml-20040204] | |||
Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E., and | Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E., and | |||
F. Yergeau, ""Extensible Markup Language (XML) 1.0 (Third | F. Yergeau, ""Extensible Markup Language (XML) 1.0 (Third | |||
Edition)", World Wide Web Consortium FirstEdition REC-xml- | Edition)", World Wide Web Consortium FirstEdition REC-xml- | |||
skipping to change at page 38, line 5 ¶ | skipping to change at page 38, line 25 ¶ | |||
Wide Web Consortium Recommendation REC-xmlschema- | Wide Web Consortium Recommendation REC-xmlschema- | |||
1-20041028", October 2004, | 1-20041028", October 2004, | |||
<http://www.w3.org/TR/2004/REC-xmlschema-1-20041028>. | <http://www.w3.org/TR/2004/REC-xmlschema-1-20041028>. | |||
[W3C.REC-xmlschema-2-20041028] | [W3C.REC-xmlschema-2-20041028] | |||
Biron, P. and A. Malhotra, ""XML Schema Part 2: Datatypes | Biron, P. and A. Malhotra, ""XML Schema Part 2: Datatypes | |||
Second Edition", World Wide Web Consortium Recommendation | Second Edition", World Wide Web Consortium Recommendation | |||
REC-xmlschema-2-20041028", October 2004, | REC-xmlschema-2-20041028", October 2004, | |||
<http://www.w3.org/TR/2004/REC-xmlschema-2-20041028>. | <http://www.w3.org/TR/2004/REC-xmlschema-2-20041028>. | |||
11.2. Informative References | ||||
[ID.draft-ietf-regext-reseller] | ||||
Zhou, L., Kong, N., Guiqing, G., Lee, X., and J. Gould, | ||||
"Extensible Provisioning Protocol (EPP) Reseller Mapping", | ||||
Dec 2016, | ||||
<http://tools.ietf.org/html/draft-ietf-regext-reseller>. | ||||
[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>. | ||||
Appendix A. Change Log | Appendix A. Change Log | |||
Initial -00: Individual document submitted. | Initial -00: Individual document submitted. | |||
-01: | -01: | |||
* Updated abstract text. | * Updated abstract text. | |||
* Added sentences to avoid loop of parent identifiers in section | * Added sentences to avoid loop of parent identifiers in section | |||
3.4. | 3.4. | |||
skipping to change at page 39, line 29 ¶ | skipping to change at page 40, line 12 ¶ | |||
* Updated section 4.2.5 for the "add", "rem" and "chg" example. | * Updated section 4.2.5 for the "add", "rem" and "chg" example. | |||
* Updated section 5 of formal syntax. | * Updated section 5 of formal syntax. | |||
* Updated section 7.2 for the registration template and initial | * Updated section 7.2 for the registration template and initial | |||
values. | values. | |||
* Updated section 8 of implementation status. | * Updated section 8 of implementation status. | |||
Organization WG document-04: | ||||
* Updated section 3.2, changed the structure of organization | ||||
role. | ||||
* Updated references. | ||||
* Updated section 8 of implementation status. | ||||
Authors' Addresses | Authors' Addresses | |||
Linlin Zhou | Linlin Zhou | |||
CNNIC | CNNIC | |||
4 South 4th Street, Zhongguancun, Haidian District | 4 South 4th Street, Zhongguancun, Haidian District | |||
Beijing, Beijing 100190 | Beijing, Beijing 100190 | |||
China | China | |||
Phone: +86 10 5881 2677 | Phone: +86 10 5881 2677 | |||
Email: zhoulinlin@cnnic.cn | Email: zhoulinlin@cnnic.cn | |||
skipping to change at page 40, line 23 ¶ | skipping to change at page 41, line 14 ¶ | |||
Xiaodong Lee | Xiaodong Lee | |||
CNNIC | CNNIC | |||
4 South 4th Street, Zhongguancun, Haidian District | 4 South 4th Street, Zhongguancun, Haidian District | |||
Beijing, Beijing 100190 | Beijing, Beijing 100190 | |||
China | China | |||
Phone: +86 10 5881 3020 | Phone: +86 10 5881 3020 | |||
Email: xl@cnnic.cn | Email: xl@cnnic.cn | |||
James Gould | James Gould | |||
VeriSign, Inc. | Verisign, Inc. | |||
12061 Bluemont Way | 12061 Bluemont Way | |||
Reston, VA 20190 | Reston, VA 20190 | |||
US | US | |||
Email: jgould@verisign.com | Email: jgould@verisign.com | |||
End of changes. 99 change blocks. | ||||
440 lines changed or deleted | 481 lines changed or added | |||
This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |