Network Working Group                                      S. Hollenbeck
Request for Comments: 4931                                VeriSign, Inc.
Obsoletes: 3731                                                 May 2007
Category: Standards Track
        
Network Working Group                                      S. Hollenbeck
Request for Comments: 4931                                VeriSign, Inc.
Obsoletes: 3731                                                 May 2007
Category: Standards Track
        

Extensible Provisioning Protocol (EPP) Domain Name Mapping

可扩展配置协议(EPP)域名映射

Status of This Memo

关于下段备忘

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

本文件规定了互联网社区的互联网标准跟踪协议,并要求进行讨论和提出改进建议。有关本协议的标准化状态和状态,请参考当前版本的“互联网官方协议标准”(STD 1)。本备忘录的分发不受限制。

Copyright Notice

版权公告

Copyright (C) The IETF Trust (2007).

版权所有(C)IETF信托基金(2007年)。

Abstract

摘要

This document describes an Extensible Provisioning Protocol (EPP) mapping for the provisioning and management of Internet domain names stored in a shared central repository. Specified in XML, the mapping defines EPP command syntax and semantics as applied to domain names. This document obsoletes RFC 3731.

本文档描述了可扩展资源调配协议(EPP)映射,用于调配和管理存储在共享中央存储库中的Internet域名。在XML中指定,映射定义了应用于域名的EPP命令语法和语义。本文件淘汰了RFC 3731。

Table of Contents

目录

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Relationship of Domain Objects and Host Objects  . . . . .  3
     1.2.  Conventions Used in This Document  . . . . . . . . . . . .  5
   2.  Object Attributes  . . . . . . . . . . . . . . . . . . . . . .  5
     2.1.  Domain and Host Names  . . . . . . . . . . . . . . . . . .  5
     2.2.  Contact and Client Identifiers . . . . . . . . . . . . . .  5
     2.3.  Status Values  . . . . . . . . . . . . . . . . . . . . . .  5
     2.4.  Dates and Times  . . . . . . . . . . . . . . . . . . . . .  7
     2.5.  Validity Periods . . . . . . . . . . . . . . . . . . . . .  8
     2.6.  Authorization Information  . . . . . . . . . . . . . . . .  8
     2.7.  Other DNS Resource Record Attributes . . . . . . . . . . .  8
   3.  EPP Command Mapping  . . . . . . . . . . . . . . . . . . . . .  9
     3.1.  EPP Query Commands . . . . . . . . . . . . . . . . . . . .  9
       3.1.1.  EPP <check> Command  . . . . . . . . . . . . . . . . .  9
       3.1.2.  EPP <info> Command . . . . . . . . . . . . . . . . . . 11
       3.1.3.  EPP <transfer> Query Command . . . . . . . . . . . . . 15
     3.2.  EPP Transform Commands . . . . . . . . . . . . . . . . . . 17
       3.2.1.  EPP <create> Command . . . . . . . . . . . . . . . . . 18
       3.2.2.  EPP <delete> Command . . . . . . . . . . . . . . . . . 20
       3.2.3.  EPP <renew> Command  . . . . . . . . . . . . . . . . . 21
       3.2.4.  EPP <transfer> Command . . . . . . . . . . . . . . . . 23
       3.2.5.  EPP <update> Command . . . . . . . . . . . . . . . . . 25
     3.3.  Offline Review of Requested Actions  . . . . . . . . . . . 28
   4.  Formal Syntax  . . . . . . . . . . . . . . . . . . . . . . . . 31
   5.  Internationalization Considerations  . . . . . . . . . . . . . 40
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 40
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 41
   8.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 41
   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 42
     9.1.  Normative References . . . . . . . . . . . . . . . . . . . 42
     9.2.  Informative References . . . . . . . . . . . . . . . . . . 43
   Appendix A.  Changes from RFC 3731 . . . . . . . . . . . . . . . . 44
        
   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Relationship of Domain Objects and Host Objects  . . . . .  3
     1.2.  Conventions Used in This Document  . . . . . . . . . . . .  5
   2.  Object Attributes  . . . . . . . . . . . . . . . . . . . . . .  5
     2.1.  Domain and Host Names  . . . . . . . . . . . . . . . . . .  5
     2.2.  Contact and Client Identifiers . . . . . . . . . . . . . .  5
     2.3.  Status Values  . . . . . . . . . . . . . . . . . . . . . .  5
     2.4.  Dates and Times  . . . . . . . . . . . . . . . . . . . . .  7
     2.5.  Validity Periods . . . . . . . . . . . . . . . . . . . . .  8
     2.6.  Authorization Information  . . . . . . . . . . . . . . . .  8
     2.7.  Other DNS Resource Record Attributes . . . . . . . . . . .  8
   3.  EPP Command Mapping  . . . . . . . . . . . . . . . . . . . . .  9
     3.1.  EPP Query Commands . . . . . . . . . . . . . . . . . . . .  9
       3.1.1.  EPP <check> Command  . . . . . . . . . . . . . . . . .  9
       3.1.2.  EPP <info> Command . . . . . . . . . . . . . . . . . . 11
       3.1.3.  EPP <transfer> Query Command . . . . . . . . . . . . . 15
     3.2.  EPP Transform Commands . . . . . . . . . . . . . . . . . . 17
       3.2.1.  EPP <create> Command . . . . . . . . . . . . . . . . . 18
       3.2.2.  EPP <delete> Command . . . . . . . . . . . . . . . . . 20
       3.2.3.  EPP <renew> Command  . . . . . . . . . . . . . . . . . 21
       3.2.4.  EPP <transfer> Command . . . . . . . . . . . . . . . . 23
       3.2.5.  EPP <update> Command . . . . . . . . . . . . . . . . . 25
     3.3.  Offline Review of Requested Actions  . . . . . . . . . . . 28
   4.  Formal Syntax  . . . . . . . . . . . . . . . . . . . . . . . . 31
   5.  Internationalization Considerations  . . . . . . . . . . . . . 40
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 40
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 41
   8.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 41
   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 42
     9.1.  Normative References . . . . . . . . . . . . . . . . . . . 42
     9.2.  Informative References . . . . . . . . . . . . . . . . . . 43
   Appendix A.  Changes from RFC 3731 . . . . . . . . . . . . . . . . 44
        
1. Introduction
1. 介绍

This document describes an Internet domain name mapping for version 1.0 of the Extensible Provisioning Protocol (EPP). This mapping is specified using the Extensible Markup Language (XML) 1.0 as described in [W3C.REC-xml-20040204] and XML Schema notation as described in [W3C.REC-xmlschema-1-20041028] and [W3C.REC-xmlschema-2-20041028]. This document obsoletes RFC 3731 [RFC3731].

本文档描述了可扩展资源调配协议(EPP)1.0版的Internet域名映射。此映射是使用[W3C.REC-XML-20040204]中所述的可扩展标记语言(XML)1.0和[W3C.REC-xmlschema-1-20041028]和[W3C.REC-xmlschema-2-20041028]中所述的XML模式表示法指定的。本文件废除了RFC 3731[RFC3731]。

[RFC4930] provides a complete description of EPP command and response structures. A thorough understanding of the base protocol specification is necessary to understand the mapping described in this document.

[RFC4930]提供了EPP命令和响应结构的完整描述。要理解本文档中描述的映射,必须彻底理解基本协议规范。

XML is case sensitive. Unless stated otherwise, XML specifications and examples provided in this document MUST be interpreted in the character case presented to develop a conforming implementation.

XML区分大小写。除非另有说明,否则本文档中提供的XML规范和示例必须按照提供的字符大小写进行解释,以开发一致的实现。

1.1. Relationship of Domain Objects and Host Objects
1.1. 域对象与主机对象的关系

The EPP mapping for host objects is described in [RFC4932]. This document assumes that domain name objects have a superordinate relationship to subordinate host name objects. For example, domain name "example.com" has a superordinate relationship to host name "ns1.example.com". EPP actions (such as object transfers) that do not preserve this relationship MUST be explicitly disallowed.

[RFC4932]中描述了主机对象的EPP映射。本文档假设域名对象与从属主机名对象具有上级关系。例如,域名“example.com”与主机名“ns1.example.com”有一个上级关系。必须明确禁止不保留此关系的EPP操作(例如对象传输)。

A host name object can be created in a repository for which no superordinate domain name object exists. For example, host name "ns1.example.com" can be created in the ".example" repository so that DNS domains in ".example" can be delegated to the host. Such hosts are described as "external" hosts in this specification since the name of the host does not belong to the name space of the repository in which the host is being used for delegation purposes.

可以在不存在上级域名对象的存储库中创建主机名对象。例如,可以在“.example”存储库中创建主机名“ns1.example.com”,以便将“.example”中的DNS域委派给主机。在本规范中,此类主机被描述为“外部”主机,因为主机的名称不属于用于委派目的的存储库的名称空间。

Whether a host is external or internal relates to the repository in which the host is being used for delegation purposes. Whether or not an internal host is subordinate relates to a domain within the repository. For example, host ns1.example1.com is a subordinate host of domain example1.com, but it is not a subordinate host of domain example2.com. ns1.example1.com can be used as a name server for example2.com. In this case, ns1.example1.com MUST be treated as an internal host, subject to the rules governing operations on subordinate hosts within the same repository.

主机是外部的还是内部的与用于委派目的的主机所在的存储库有关。内部主机是否从属关系到存储库中的域。例如,主机ns1.example1.com是域example1.com的从属主机,但它不是域example2.com的从属主机。ns1.example1.com可以用作example2.com的名称服务器。在这种情况下,必须将ns1.example1.com视为内部主机,并遵守管理同一存储库中从属主机上操作的规则。

Name server hosts for domain delegation can be specified as either references to existing host objects or as domain attributes that describe a host machine. A server operator MUST use one name server

域委派的名称服务器主机可以指定为对现有主机对象的引用,也可以指定为描述主机的域属性。服务器操作员必须使用一个名称服务器

specification form consistently. A server operator that announces support for host objects in an EPP greeting MUST NOT allow domain attributes to describe a name server host machine. A server operator that does not announce support for host objects MUST allow domain attributes to describe a name server host machine. When domain attributes are used to describe a name server host machine, IP addresses SHOULD be required only as needed to generate DNS glue records.

规范格式一致。在EPP问候语中宣布支持主机对象的服务器操作员不得允许域属性描述名称服务器主机。不宣布支持主机对象的服务器操作员必须允许域属性描述名称服务器主机。当域属性用于描述名称服务器主机时,仅当需要生成DNS粘合记录时才需要IP地址。

Name servers are specified within a <domain:ns> element. This element MUST contain one or more <domain:hostObj> elements or one or more <domain:hostAttr> elements. A <domain:hostObj> element contains the fully qualified name of a known name server host object. A <domain:hostAttr> element contains the following child elements:

名称服务器是在<domain:ns>元素中指定的。此元素必须包含一个或多个<domain:hostObj>元素或一个或多个<domain:hostAttr>元素。<domain:hostObj>元素包含已知名称服务器主机对象的完全限定名。<domain:hostAttr>元素包含以下子元素:

- A <domain:hostName> element that contains the fully qualified name of a host.

- 包含主机的完全限定名的<domain:hostName>元素。

- Zero or more OPTIONAL <domain:hostAddr> elements that contain the IP addresses to be associated with the host. Each element MAY contain an "ip" attribute to identify the IP address format. Attribute value "v4" is used to note IPv4 address format. Attribute value "v6" is used to note IPv6 address format. If the "ip" attribute is not specified, "v4" is the default attribute value. IP address syntax requirements are described in Section 2.5 of the EPP host mapping [RFC4932].

- 零个或多个可选<domain:hostAddr>元素,其中包含要与主机关联的IP地址。每个元素可能包含一个“ip”属性,用于标识ip地址格式。属性值“v4”用于说明IPv4地址格式。属性值“v6”用于说明IPv6地址格式。如果未指定“ip”属性,“v4”是默认属性值。IP地址语法要求见EPP主机映射[RFC4932]的第2.5节。

Example host object name server elements for domain example.com:

域Example.com的主机对象名服务器元素示例:

   <domain:ns>
     <domain:hostObj>ns1.example.com</domain:hostObj>
     <domain:hostObj>ns1.example.net</domain:hostObj>
   </domain:ns>
        
   <domain:ns>
     <domain:hostObj>ns1.example.com</domain:hostObj>
     <domain:hostObj>ns1.example.net</domain:hostObj>
   </domain:ns>
        

Example host attribute name server elements for domain example.com:

域Example.com的主机属性名称服务器元素示例:

   <domain:ns>
     <domain:hostAttr>
       <domain:hostName>ns1.example.com</domain:hostName>
       <domain:hostAddr
        ip="v4">192.0.2.2</domain:hostAddr>
       <domain:hostAddr
        ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
     </domain:hostAttr>
     <domain:hostAttr>
       <domain:hostName>ns1.example.net</domain:hostName>
     </domain:hostAttr>
   </domain:ns>
        
   <domain:ns>
     <domain:hostAttr>
       <domain:hostName>ns1.example.com</domain:hostName>
       <domain:hostAddr
        ip="v4">192.0.2.2</domain:hostAddr>
       <domain:hostAddr
        ip="v6">1080:0:0:0:8:800:200C:417A</domain:hostAddr>
     </domain:hostAttr>
     <domain:hostAttr>
       <domain:hostName>ns1.example.net</domain:hostName>
     </domain:hostAttr>
   </domain:ns>
        
1.2. Conventions Used in This Document
1.2. 本文件中使用的公约

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].

本文件中的关键词“必须”、“不得”、“必需”、“应”、“不应”、“应”、“不应”、“建议”、“可”和“可选”应按照[RFC2119]中所述进行解释。

In examples, "C:" represents lines sent by a protocol client and "S:" represents lines returned by a protocol server. Indentation and white space in examples are provided only to illustrate element relationships and are not a REQUIRED feature of this protocol.

在示例中,“C:”表示协议客户端发送的行,“S:”表示协议服务器返回的行。示例中的缩进和空白仅用于说明元素关系,不是本协议的必需功能。

2. Object Attributes
2. 对象属性

An EPP domain object has attributes and associated values that can be viewed and modified by the sponsoring client or the server. This section describes each attribute type in detail. The formal syntax for the attribute values described here can be found in the "Formal Syntax" section of this document and in the appropriate normative references.

EPP域对象具有发起客户端或服务器可以查看和修改的属性和关联值。本节详细描述了每种属性类型。此处描述的属性值的正式语法可在本文件的“正式语法”部分和相应的规范性参考文件中找到。

2.1. Domain and Host Names
2.1. 域名和主机名

The syntax for domain and host names described in this document MUST conform to [RFC0952] as updated by [RFC1123]. At the time of this writing, RFC 3490 [RFC3490] describes a standard to use certain ASCII name labels to represent non-ASCII name labels. These conformance requirements might change as a result of progressing work in developing standards for internationalized domain names. A server MAY restrict allowable domain names to a particular top-level domain, second-level domain, or other domain for which the server is authoritative. The trailing dot required when these names are stored in a DNS zone is implicit and MUST NOT be provided when exchanging host and domain names.

本文档中描述的域名和主机名语法必须符合[RFC1123]更新的[RFC0952]。在撰写本文时,RFC 3490[RFC3490]描述了使用某些ASCII名称标签来表示非ASCII名称标签的标准。这些一致性要求可能会随着国际化域名标准开发工作的进展而发生变化。服务器可以将允许的域名限制为特定的顶级域、二级域或服务器授权的其他域。当这些名称存储在DNS区域中时所需的尾随点是隐式的,在交换主机名和域名时不得提供。

2.2. Contact and Client Identifiers
2.2. 联系人和客户标识符

All EPP contacts are identified by a server-unique identifier. Contact identifiers are character strings with a specified minimum length, a specified maximum length, and a specified format. Contact identifiers use the "clIDType" client identifier syntax described in [RFC4930].

所有EPP联系人都由服务器唯一标识符标识。联系人标识符是具有指定最小长度、指定最大长度和指定格式的字符串。联系人标识符使用[RFC4930]中描述的“clIDType”客户端标识符语法。

2.3. Status Values
2.3. 状态值

A domain object MUST always have at least one associated status value. Status values can be set only by the client that sponsors a domain object and by the server on which the object resides. A client can change the status of a domain object using the EPP

域对象必须始终至少有一个关联的状态值。状态值只能由发起域对象的客户端和对象所在的服务器设置。客户端可以使用EPP更改域对象的状态

<update> command. Each status value MAY be accompanied by a string of human-readable text that describes the rationale for the status applied to the object.

<update>命令。每个状态值可能伴随着一个人类可读文本字符串,该字符串描述了应用于对象的状态的基本原理。

A client MUST NOT alter status values set by the server. A server MAY alter or override status values set by a client subject to local server policies. The status of an object MAY change as a result of either a client-initiated transform command or an action performed by a server operator.

客户端不得更改服务器设置的状态值。服务器可以根据本地服务器策略更改或覆盖客户端设置的状态值。对象的状态可能会因客户端启动的转换命令或服务器操作员执行的操作而改变。

Status values that can be added or removed by a client are prefixed with "client". Corresponding status values that can be added or removed by a server are prefixed with "server". Status values that do not begin with either "client" or "server" are server-managed.

客户端可以添加或删除的状态值以“客户端”作为前缀。可由服务器添加或删除的相应状态值以“服务器”作为前缀。不以“客户端”或“服务器”开头的状态值由服务器管理。

Status Value Descriptions:

状态值说明:

- clientDeleteProhibited, serverDeleteProhibited

- 客户端删除禁止,服务器删除禁止

Requests to delete the object MUST be rejected.

必须拒绝删除对象的请求。

- clientHold, serverHold

- 服务器保持架

DNS delegation information MUST NOT be published for the object.

不得发布对象的DNS委派信息。

- clientRenewProhibited, serverRenewProhibited

- ClientRenew禁止,ServerRenew禁止

Requests to renew the object MUST be rejected.

必须拒绝续订对象的请求。

- clientTransferProhibited, serverTransferProhibited

- 客户端传输禁止,服务器传输禁止

Requests to transfer the object MUST be rejected.

必须拒绝传输对象的请求。

- clientUpdateProhibited, serverUpdateProhibited

- clientUpdateProhibited,serverUpdateProhibited

Requests to update the object (other than to remove this status) MUST be rejected.

必须拒绝更新对象(而不是删除此状态)的请求。

- inactive

- 不活跃的

Delegation information has not been associated with the object.

委派信息尚未与对象关联。

- ok

- 好啊

This is the normal status value for an object that has no pending operations or prohibitions. This value is set and removed by the server as other status values are added or removed.

这是没有挂起操作或禁止的对象的正常状态值。当添加或删除其他状态值时,服务器将设置和删除此值。

- pendingCreate, pendingDelete, pendingRenew, pendingTransfer, pendingUpdate

- pendingCreate、pendingDelete、pendingRenew、pendingTransfer、pendingUpdate

A transform command has been processed for the object, but the action has not been completed by the server. Server operators can delay action completion for a variety of reasons, such as to allow for human review or third-party action. A transform command that is processed, but whose requested action is pending, is noted with response code 1001.

已为对象处理转换命令,但服务器尚未完成该操作。服务器操作员可以出于各种原因延迟操作完成,例如允许人工审核或第三方操作。已处理但其请求的操作处于挂起状态的转换命令用响应代码1001表示。

When the requested action has been completed, the pendingCreate, pendingDelete, pendingRenew, pendingTransfer, or pendingUpdate status value MUST be removed. All clients involved in the transaction MUST be notified using a service message that the action has been completed and that the status of the object has changed.

完成请求的操作后,必须删除pendingCreate、pendingDelete、pendingRenew、pendingTransfer或pendingUpdate状态值。必须使用服务消息通知事务中涉及的所有客户端操作已完成,并且对象的状态已更改。

"ok" status MUST NOT be combined with any other status.

“正常”状态不得与任何其他状态组合。

"pendingDelete" status MUST NOT be combined with either "clientDeleteProhibited" or "serverDeleteProhibited" status.

“pendingDelete”状态不能与“ClientDelete禁止”或“ServerDelete禁止”状态组合。

"pendingRenew" status MUST NOT be combined with either "clientRenewProhibited" or "serverRenewProhibited" status.

“pendingRenew”状态不得与“ClientRenewAblimited”或“ServerRenewAblimited”状态组合。

"pendingTransfer" status MUST NOT be combined with either "clientTransferProhibited" or "serverTransferProhibited" status.

“pendingTransfer”状态不得与“ClientTransferProbited”或“ServerTransferProbited”状态组合。

"pendingUpdate" status MUST NOT be combined with either "clientUpdateProhibited" or "serverUpdateProhibited" status.

“pendingUpdate”状态不能与“clientUpdateProhibited”或“serverUpdateProhibited”状态组合。

The pendingCreate, pendingDelete, pendingRenew, pendingTransfer, and pendingUpdate status values MUST NOT be combined with each other.

pendingCreate、pendingDelete、pendingRenew、pendingTransfer和pendingUpdate状态值不得相互组合。

Other status combinations not expressly prohibited MAY be used.

可以使用未明确禁止的其他状态组合。

2.4. Dates and Times
2.4. 日期和时间

Date and time attribute values MUST be represented in Universal Coordinated Time (UTC) using the Gregorian calendar. The extended date-time form using upper case "T" and "Z" characters defined in [W3C.REC-xmlschema-2-20041028] MUST be used to represent date-time values as XML Schema does not support truncated date-time forms or lower case "T" and "Z" characters.

日期和时间属性值必须使用公历以世界协调时间(UTC)表示。必须使用[W3C.REC-xmlschema-2-20041028]中定义的大写“T”和“Z”字符的扩展日期时间表单来表示日期时间值,因为XML模式不支持截断日期时间表单或小写“T”和“Z”字符。

2.5. Validity Periods
2.5. 有效期

A domain name object MAY have a specified validity period. If server policy supports domain object validity periods, the validity period is defined when a domain object is created, and it MAY be extended by the EPP <renew> or <transfer> commands. As a matter of server policy, this specification does not define actions to be taken upon expiration of a domain object's validity period.

域名对象可能具有指定的有效期。如果服务器策略支持域对象有效期,则有效期将在创建域对象时定义,并且可以通过EPP<renew>或<transfer>命令延长。根据服务器策略,此规范不定义域对象有效期到期时要采取的操作。

Validity periods are measured in years or months with the appropriate units specified using the "unit" attribute. Valid values for the "unit" attribute are "y" for years and "m" for months. The minimum allowable period value is one (1). The maximum allowable value is ninety-nine decimal (99). A server MAY support a lower maximum value.

有效期以年或月为单位,使用“单位”属性指定适当的单位。“单位”属性的有效值为“y”表示年,“m”表示月。允许的最小周期值为一(1)。最大允许值为九十九位小数(99)。服务器可能支持较低的最大值。

2.6. Authorization Information
2.6. 授权信息

Authorization information is associated with domain objects to facilitate transfer operations. Authorization information is assigned when a domain object is created, and it might be updated in the future. This specification describes password-based authorization information, though other mechanisms are possible.

授权信息与域对象关联,以便于传输操作。授权信息是在创建域对象时分配的,将来可能会更新。本规范描述了基于密码的授权信息,但也可以使用其他机制。

2.7. Other DNS Resource Record Attributes
2.7. 其他DNS资源记录属性

While the DNS allows many resource record types to be associated with a domain, this mapping only explicitly specifies elements that describe resource records used for domain delegation and resolution. Facilities to provision other domain-related resource record types can be developed by extending this mapping.

虽然DNS允许许多资源记录类型与域关联,但此映射仅显式指定描述用于域委派和解析的资源记录的元素。通过扩展此映射,可以开发提供其他域相关资源记录类型的工具。

The provisioning method described in this mapping separates discrete data elements by data type. This method of data definition allows XML Schema processors to perform basic syntax validation tasks, reducing ambiguity and the amount of parsing and syntax-checking work required of protocol processors. Provisioning and extension methods that aggregate data into opaque strings are possible, but such methods SHOULD NOT be used because they impose additional parsing, interpretation, and validation requirements on protocol processors.

此映射中描述的配置方法按数据类型分离离散数据元素。这种数据定义方法允许XML模式处理器执行基本的语法验证任务,减少了歧义性以及协议处理器所需的解析和语法检查工作量。可以使用将数据聚合为不透明字符串的配置和扩展方法,但不应使用此类方法,因为它们会对协议处理器施加额外的解析、解释和验证要求。

3. EPP Command Mapping
3. EPP命令映射

A detailed description of the EPP syntax and semantics can be found in [RFC4930]. The command mappings described here are specifically for use in provisioning and managing Internet domain names via EPP.

有关EPP语法和语义的详细说明,请参见[RFC4930]。这里描述的命令映射专门用于通过EPP配置和管理Internet域名。

3.1. EPP Query Commands
3.1. EPP查询命令

EPP provides three commands to retrieve domain information: <check> to determine if a domain object can be provisioned within a repository, <info> to retrieve detailed information associated with a domain object, and <transfer> to retrieve domain object transfer status information.

EPP提供了三个用于检索域信息的命令:<check>用于确定是否可以在存储库中配置域对象,<info>用于检索与域对象关联的详细信息,<transfer>用于检索域对象传输状态信息。

3.1.1. EPP <check> Command
3.1.1. EPP<check>命令

The EPP <check> command is used to determine if an object can be provisioned within a repository. It provides a hint that allows a client to anticipate the success or failure of provisioning an object using the <create> command as object provisioning requirements are ultimately a matter of server policy.

EPP<check>命令用于确定是否可以在存储库中配置对象。它提供了一个提示,允许客户端预测使用<create>命令设置对象的成功或失败,因为对象设置要求最终取决于服务器策略。

In addition to the standard EPP command elements, the <check> command MUST contain a <domain:check> element that identifies the domain namespace. The <domain:check> element contains the following child elements:

除了标准的EPP命令元素外,<check>命令还必须包含标识域命名空间的<domain:check>元素。<domain:check>元素包含以下子元素:

- One or more <domain:name> elements that contain the fully qualified names of the domain objects to be queried.

- 包含要查询的域对象的完全限定名的一个或多个<domain:name>元素。

Example <check> command:

示例<check>命令:

   C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   C:  <command>
   C:    <check>
   C:      <domain:check
   C:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   C:        <domain:name>example.com</domain:name>
   C:        <domain:name>example.net</domain:name>
   C:        <domain:name>example.org</domain:name>
   C:      </domain:check>
   C:    </check>
   C:    <clTRID>ABC-12345</clTRID>
   C:  </command>
   C:</epp>
        
   C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   C:  <command>
   C:    <check>
   C:      <domain:check
   C:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   C:        <domain:name>example.com</domain:name>
   C:        <domain:name>example.net</domain:name>
   C:        <domain:name>example.org</domain:name>
   C:      </domain:check>
   C:    </check>
   C:    <clTRID>ABC-12345</clTRID>
   C:  </command>
   C:</epp>
        

When a <check> command has been processed successfully, the EPP <resData> element MUST contain a child <domain:chkData> element that identifies the domain namespace. The <domain:chkData> element contains one or more <domain:cd> elements that contain the following child elements:

成功处理<check>命令后,EPP<resData>元素必须包含标识域命名空间的子<domain:chkData>元素。<domain:chkData>元素包含一个或多个<domain:cd>元素,这些元素包含以下子元素:

- A <domain:name> element that contains the fully qualified name of the queried domain object. This element MUST contain an "avail" attribute whose value indicates object availability (can it be provisioned or not) at the moment the <check> command was completed. A value of "1" or "true" means that the object can be provisioned. A value of "0" or "false" means that the object can not be provisioned.

- 包含查询的域对象的完全限定名的<domain:name>元素。此元素必须包含一个“avail”属性,该属性的值表示在<check>命令完成时对象的可用性(是否可以设置)。值“1”或“true”表示可以设置对象。值“0”或“false”表示无法设置对象。

- An OPTIONAL <domain:reason> element that MAY be provided when an object cannot be provisioned. If present, this element contains server-specific text to help explain why the object cannot be provisioned. This text MUST be represented in the response language previously negotiated with the client; an OPTIONAL "lang" attribute MAY be present to identify the language if the negotiated value is something other than the default value of "en" (English).

- 一个可选的<domain:reason>元素,当无法设置对象时可以提供该元素。如果存在,此元素包含特定于服务器的文本,以帮助解释无法设置对象的原因。该文本必须以之前与客户协商的回复语言表示;如果协商值不是默认值“en”(英语),则可能存在可选的“lang”属性来标识语言。

Example <check> response:

示例<check>响应:

   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1000">
   S:      <msg>Command completed successfully</msg>
   S:    </result>
   S:    <resData>
   S:      <domain:chkData
   S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   S:        <domain:cd>
   S:          <domain:name avail="1">example.com</domain:name>
   S:        </domain:cd>
   S:        <domain:cd>
   S:          <domain:name avail="0">example.net</domain:name>
   S:          <domain:reason>In use</domain:reason>
   S:        </domain:cd>
   S:        <domain:cd>
   S:          <domain:name avail="1">example.org</domain:name>
   S:        </domain:cd>
   S:      </domain:chkData>
   S:    </resData>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
        
   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1000">
   S:      <msg>Command completed successfully</msg>
   S:    </result>
   S:    <resData>
   S:      <domain:chkData
   S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   S:        <domain:cd>
   S:          <domain:name avail="1">example.com</domain:name>
   S:        </domain:cd>
   S:        <domain:cd>
   S:          <domain:name avail="0">example.net</domain:name>
   S:          <domain:reason>In use</domain:reason>
   S:        </domain:cd>
   S:        <domain:cd>
   S:          <domain:name avail="1">example.org</domain:name>
   S:        </domain:cd>
   S:      </domain:chkData>
   S:    </resData>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
        
   S:      <svTRID>54322-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>
        
   S:      <svTRID>54322-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>
        

An EPP error response MUST be returned if a <check> command cannot be processed for any reason.

如果由于任何原因无法处理<check>命令,则必须返回EPP错误响应。

3.1.2. EPP <info> Command
3.1.2. EPP<info>命令

The EPP <info> command is used to retrieve information associated with a domain object. The response to this command MAY vary depending on the identity of the querying client, use of authorization information, and server policy towards unauthorized clients. If the querying client is the sponsoring client, all available information MUST be returned. If the querying client is not the sponsoring client, but the client provides valid authorization information, all available information MUST be returned. If the querying client is not the sponsoring client, and the client does not provide valid authorization information, server policy determines which OPTIONAL elements are returned.

EPP<info>命令用于检索与域对象关联的信息。根据查询客户端的标识、授权信息的使用以及针对未授权客户端的服务器策略,对此命令的响应可能会有所不同。如果查询客户端是发起客户端,则必须返回所有可用信息。如果查询客户端不是发起客户端,但客户端提供了有效的授权信息,则必须返回所有可用信息。如果查询客户端不是发起客户端,并且客户端未提供有效的授权信息,则服务器策略将确定返回哪些可选元素。

In addition to the standard EPP command elements, the <info> command MUST contain a <domain:info> element that identifies the domain namespace. The <domain:info> element contains the following child elements:

除了标准的EPP命令元素外,<info>命令还必须包含标识域名称空间的<domain:info>元素。<domain:info>元素包含以下子元素:

- A <domain:name> element that contains the fully qualified name of the domain object to be queried. An OPTIONAL "hosts" attribute is available to control return of information describing hosts related to the domain object. A value of "all" (the default, which MAY be absent) returns information describing both subordinate and delegated hosts. A value of "del" returns information describing only delegated hosts. A value of "sub" returns information describing only subordinate hosts. A value of "none" returns no information describing delegated or subordinate hosts.

- 包含要查询的域对象的完全限定名的<domain:name>元素。可选的“hosts”属性可用于控制描述与域对象相关的主机的信息的返回。值“all”(默认值,可能不存在)返回描述从属主机和委托主机的信息。值“del”返回仅描述委派主机的信息。值“sub”返回仅描述从属主机的信息。值“none”不返回描述委托主机或从属主机的信息。

- An OPTIONAL <domain:authInfo> element that contains authorization information associated with the domain object or authorization information associated with the domain object's registrant or associated contacts. An OPTIONAL "roid" attribute MUST be used to identify the registrant or contact object if and only if the given authInfo is associated with a registrant or contact object, and not the domain object itself. If this element is not provided or if the authorization information is invalid, server policy determines if the command is rejected or if response information will be returned to the client.

- 与域关联的域或授权元素包含与域相关联的信息。当且仅当给定的authInfo与注册人或联系人对象而非域对象本身关联时,必须使用可选的“roid”属性来标识注册人或联系人对象。如果未提供此元素或授权信息无效,服务器策略将确定命令是否被拒绝或响应信息是否将返回给客户端。

Example <info> command without authorization information:

没有授权信息的<info>命令示例:

   C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   C:  <command>
   C:    <info>
   C:      <domain:info
   C:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   C:        <domain:name hosts="all">example.com</domain:name>
   C:      </domain:info>
   C:    </info>
   C:    <clTRID>ABC-12345</clTRID>
   C:  </command>
   C:</epp>
        
   C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   C:  <command>
   C:    <info>
   C:      <domain:info
   C:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   C:        <domain:name hosts="all">example.com</domain:name>
   C:      </domain:info>
   C:    </info>
   C:    <clTRID>ABC-12345</clTRID>
   C:  </command>
   C:</epp>
        

Example <info> command with authorization information:

带有授权信息的<info>命令示例:

   C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   C:  <command>
   C:    <info>
   C:      <domain:info
   C:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   C:        <domain:name hosts="all">example.com</domain:name>
   C:        <domain:authInfo>
   C:          <domain:pw>2fooBAR</domain:pw>
   C:        </domain:authInfo>
   C:      </domain:info>
   C:    </info>
   C:    <clTRID>ABC-12345</clTRID>
   C:  </command>
   C:</epp>
        
   C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   C:  <command>
   C:    <info>
   C:      <domain:info
   C:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   C:        <domain:name hosts="all">example.com</domain:name>
   C:        <domain:authInfo>
   C:          <domain:pw>2fooBAR</domain:pw>
   C:        </domain:authInfo>
   C:      </domain:info>
   C:    </info>
   C:    <clTRID>ABC-12345</clTRID>
   C:  </command>
   C:</epp>
        

When an <info> command has been processed successfully, the EPP <resData> element MUST contain a child <domain:infData> element that identifies the domain namespace. Elements that are not OPTIONAL MUST be returned; OPTIONAL elements are returned based on client authorization and server policy. The <domain:infData> element contains the following child elements:

成功处理<info>命令后,EPP<resData>元素必须包含标识域命名空间的子<domain:infData>元素。必须返回非可选的元素;根据客户端授权和服务器策略返回可选元素。<domain:infData>元素包含以下子元素:

- A <domain:name> element that contains the fully qualified name of the domain object.

- 包含域对象的完全限定名的<domain:name>元素。

- A <domain:roid> element that contains the Repository Object IDentifier assigned to the domain object when the object was created.

- 一个<domain:roid>元素,包含创建对象时分配给域对象的存储库对象标识符。

- Zero or more OPTIONAL <domain:status> elements that contain the current status descriptors associated with the domain.

- 零个或多个可选<domain:status>元素,其中包含与域关联的当前状态描述符。

- If supported by the server, one OPTIONAL <domain:registrant> element and one or more OPTIONAL <domain:contact> elements that contain identifiers for the human or organizational social information objects associated with the domain object.

- 如果服务器支持,一个可选的<domain:register>元素和一个或多个可选的<domain:contact>元素包含与域对象关联的人类或组织社会信息对象的标识符。

- An OPTIONAL <domain:ns> element that contains the fully qualified names of the delegated host objects or host attributes (name servers) associated with the domain object. See Section 1.1 for a description of the elements used to specify host objects or host attributes.

- 可选的<domain:ns>元素,包含与域对象关联的委托主机对象或主机属性(名称服务器)的完全限定名。有关用于指定主体对象或主体属性的元素的说明,请参见第1.1节。

- Zero or more OPTIONAL <domain:host> elements that contain the fully qualified names of the subordinate host objects that exist under this superordinate domain object.

- 零个或多个可选<domain:host>元素,这些元素包含此上级域对象下存在的从属主机对象的完全限定名。

- A <domain:clID> element that contains the identifier of the sponsoring client.

- 包含发起客户端标识符的<domain:clID>元素。

- An OPTIONAL <domain:crID> element that contains the identifier of the client that created the domain object.

- 可选的<domain:crID>元素,包含创建域对象的客户端的标识符。

- An OPTIONAL <domain:crDate> element that contains the date and time of domain object creation.

- 可选的<domain:crDate>元素,包含域对象创建的日期和时间。

- An OPTIONAL <domain:exDate> element that contains the date and time identifying the end of the domain object's registration period.

- 可选的<domain:exDate>元素,包含标识域对象注册期结束的日期和时间。

- An OPTIONAL <domain:upID> element that contains the identifier of the client that last updated the domain object. This element MUST NOT be present if the domain has never been modified.

- 可选的<domain:upID>元素,包含上次更新域对象的客户端的标识符。如果从未修改过域,则此元素不得存在。

- An OPTIONAL <domain:upDate> element that contains the date and time of the most recent domain object modification. This element MUST NOT be present if the domain object has never been modified.

- 可选的<domain:upDate>元素,包含最近一次域对象修改的日期和时间。如果从未修改过域对象,则此元素不得存在。

- An OPTIONAL <domain:trDate> element that contains the date and time of the most recent successful domain object transfer. This element MUST NOT be provided if the domain object has never been transferred.

- 可选的<domain:trDate>元素,包含最近一次成功的域对象传输的日期和时间。如果从未传输过域对象,则不得提供此元素。

- An OPTIONAL <domain:authInfo> element that contains authorization information associated with the domain object. This element MUST only be returned if the querying client is the current sponsoring client, or if the client supplied valid authorization information with the command.

- 可选的<domain:authInfo>元素,包含与域对象关联的授权信息。仅当查询客户机是当前发起客户机,或者客户机随命令提供了有效的授权信息时,才必须返回此元素。

Example <info> response for an authorized client:

授权客户的<info>响应示例:

   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1000">
   S:      <msg>Command completed successfully</msg>
   S:    </result>
   S:    <resData>
   S:      <domain:infData
   S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   S:        <domain:name>example.com</domain:name>
   S:        <domain:roid>EXAMPLE1-REP</domain:roid>
   S:        <domain:status s="ok"/>
   S:        <domain:registrant>jd1234</domain:registrant>
   S:        <domain:contact type="admin">sh8013</domain:contact>
   S:        <domain:contact type="tech">sh8013</domain:contact>
   S:        <domain:ns>
   S:          <domain:hostObj>ns1.example.com</domain:hostObj>
   S:          <domain:hostObj>ns1.example.net</domain:hostObj>
   S:        </domain:ns>
   S:        <domain:host>ns1.example.com</domain:host>
   S:        <domain:host>ns2.example.com</domain:host>
   S:        <domain:clID>ClientX</domain:clID>
   S:        <domain:crID>ClientY</domain:crID>
   S:        <domain:crDate>1999-04-03T22:00:00.0Z</domain:crDate>
   S:        <domain:upID>ClientX</domain:upID>
   S:        <domain:upDate>1999-12-03T09:00:00.0Z</domain:upDate>
   S:        <domain:exDate>2005-04-03T22:00:00.0Z</domain:exDate>
   S:        <domain:trDate>2000-04-08T09:00:00.0Z</domain:trDate>
   S:        <domain:authInfo>
   S:          <domain:pw>2fooBAR</domain:pw>
   S:        </domain:authInfo>
   S:      </domain:infData>
   S:    </resData>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
   S:      <svTRID>54322-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>
        
   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1000">
   S:      <msg>Command completed successfully</msg>
   S:    </result>
   S:    <resData>
   S:      <domain:infData
   S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   S:        <domain:name>example.com</domain:name>
   S:        <domain:roid>EXAMPLE1-REP</domain:roid>
   S:        <domain:status s="ok"/>
   S:        <domain:registrant>jd1234</domain:registrant>
   S:        <domain:contact type="admin">sh8013</domain:contact>
   S:        <domain:contact type="tech">sh8013</domain:contact>
   S:        <domain:ns>
   S:          <domain:hostObj>ns1.example.com</domain:hostObj>
   S:          <domain:hostObj>ns1.example.net</domain:hostObj>
   S:        </domain:ns>
   S:        <domain:host>ns1.example.com</domain:host>
   S:        <domain:host>ns2.example.com</domain:host>
   S:        <domain:clID>ClientX</domain:clID>
   S:        <domain:crID>ClientY</domain:crID>
   S:        <domain:crDate>1999-04-03T22:00:00.0Z</domain:crDate>
   S:        <domain:upID>ClientX</domain:upID>
   S:        <domain:upDate>1999-12-03T09:00:00.0Z</domain:upDate>
   S:        <domain:exDate>2005-04-03T22:00:00.0Z</domain:exDate>
   S:        <domain:trDate>2000-04-08T09:00:00.0Z</domain:trDate>
   S:        <domain:authInfo>
   S:          <domain:pw>2fooBAR</domain:pw>
   S:        </domain:authInfo>
   S:      </domain:infData>
   S:    </resData>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
   S:      <svTRID>54322-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>
        

A server with a different information return policy MAY provide less information in a response.

具有不同信息返回策略的服务器可能会在响应中提供较少的信息。

Example <info> response for an unauthorized client:

未授权客户端的<info>响应示例:

   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1000">
   S:      <msg>Command completed successfully</msg>
   S:    </result>
   S:    <resData>
   S:      <domain:infData
   S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   S:        <domain:name>example.com</domain:name>
   S:        <domain:roid>EXAMPLE1-REP</domain:roid>
   S:        <domain:clID>ClientX</domain:clID>
   S:      </domain:infData>
   S:    </resData>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
   S:      <svTRID>54322-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>
        
   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1000">
   S:      <msg>Command completed successfully</msg>
   S:    </result>
   S:    <resData>
   S:      <domain:infData
   S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   S:        <domain:name>example.com</domain:name>
   S:        <domain:roid>EXAMPLE1-REP</domain:roid>
   S:        <domain:clID>ClientX</domain:clID>
   S:      </domain:infData>
   S:    </resData>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
   S:      <svTRID>54322-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>
        

An EPP error response MUST be returned if an <info> command cannot be processed for any reason.

如果由于任何原因无法处理<info>命令,则必须返回EPP错误响应。

3.1.3. EPP <transfer> Query Command
3.1.3. EPP<transfer>查询命令

The EPP <transfer> command provides a query operation that allows a client to determine real-time status of pending and completed transfer requests. In addition to the standard EPP command elements, the <transfer> command MUST contain an "op" attribute with value "query", and a <domain:transfer> element that identifies the domain namespace. The <domain:transfer> element contains the following child elements:

EPP<transfer>命令提供一个查询操作,允许客户端确定挂起和完成的传输请求的实时状态。除了标准的EPP命令元素外,<transfer>命令必须包含一个值为“query”的“op”属性和一个标识域名称空间的<domain:transfer>元素。<domain:transfer>元素包含以下子元素:

- A <domain:name> element that contains the fully qualified name of the domain object to be queried.

- 包含要查询的域对象的完全限定名的<domain:name>元素。

- An OPTIONAL <domain:authInfo> element that contains authorization information associated with the domain object or authorization information associated with the domain object's registrant or associated contacts. An OPTIONAL "roid" attribute MUST be used to identify the registrant or contact object if and only if the given authInfo is associated with a registrant or contact object, and

- 与域关联的域或授权元素包含与域相关联的信息。当且仅当给定的authInfo与注册人或联系人对象关联时,必须使用可选的“roid”属性来标识注册人或联系人对象,并且

not the domain object itself. If this element is not provided or if the authorization information is invalid, server policy determines if the command is rejected or if response information will be returned to the client.

而不是域对象本身。如果未提供此元素或授权信息无效,服务器策略将确定命令是否被拒绝或响应信息是否将返回给客户端。

Example <transfer> query command:

示例<transfer>查询命令:

   C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   C:  <command>
   C:    <transfer op="query">
   C:      <domain:transfer
   C:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   C:        <domain:name>example.com</domain:name>
   C:        <domain:authInfo>
   C:          <domain:pw roid="JD1234-REP">2fooBAR</domain:pw>
   C:        </domain:authInfo>
   C:      </domain:transfer>
   C:    </transfer>
   C:    <clTRID>ABC-12345</clTRID>
   C:  </command>
   C:</epp>
        
   C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   C:  <command>
   C:    <transfer op="query">
   C:      <domain:transfer
   C:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   C:        <domain:name>example.com</domain:name>
   C:        <domain:authInfo>
   C:          <domain:pw roid="JD1234-REP">2fooBAR</domain:pw>
   C:        </domain:authInfo>
   C:      </domain:transfer>
   C:    </transfer>
   C:    <clTRID>ABC-12345</clTRID>
   C:  </command>
   C:</epp>
        

When a <transfer> query command has been processed successfully, the EPP <resData> element MUST contain a child <domain:trnData> element that identifies the domain namespace. The <domain:trnData> element contains the following child elements:

成功处理<transfer>查询命令后,EPP<resData>元素必须包含标识域命名空间的子<domain:trnda>元素。<domain:trnda>元素包含以下子元素:

- A <domain:name> element that contains the fully qualified name of the domain object.

- 包含域对象的完全限定名的<domain:name>元素。

- A <domain:trStatus> element that contains the state of the most recent transfer request.

- 包含最近传输请求状态的<domain:trStatus>元素。

- A <domain:reID> element that contains the identifier of the client that requested the object transfer.

- 包含请求对象传输的客户端标识符的<domain:reID>元素。

- A <domain:reDate> element that contains the date and time that the transfer was requested.

- 包含请求传输的日期和时间的<domain:reDate>元素。

- A <domain:acID> element that contains the identifier of the client that SHOULD act upon a PENDING transfer request. For all other status types, the value identifies the client that took the indicated action.

- 一个<domain:acID>元素,包含应根据挂起的传输请求进行操作的客户端的标识符。对于所有其他状态类型,该值标识执行指定操作的客户端。

- A <domain:acDate> element that contains the date and time of a required or completed response. For a PENDING request, the value identifies the date and time by which a response is required before an automated response action will be taken by the server. For all other status types, the value identifies the date and time when the request was completed.

- 包含所需或已完成响应的日期和时间的<domain:acDate>元素。对于挂起的请求,该值标识服务器执行自动响应操作之前需要响应的日期和时间。对于所有其他状态类型,该值标识请求完成的日期和时间。

- An OPTIONAL <domain:exDate> element that contains the end of the domain object's validity period if the <transfer> command caused or causes a change in the validity period.

- 可选的<domain:exDate>元素,如果<transfer>命令导致或导致有效期发生更改,则该元素包含域对象有效期的结束。

Example <transfer> query response:

示例<transfer>查询响应:

   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1000">
   S:      <msg>Command completed successfully</msg>
   S:    </result>
   S:    <resData>
   S:      <domain:trnData
   S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   S:        <domain:name>example.com</domain:name>
   S:        <domain:trStatus>pending</domain:trStatus>
   S:        <domain:reID>ClientX</domain:reID>
   S:        <domain:reDate>2000-06-06T22:00:00.0Z</domain:reDate>
   S:        <domain:acID>ClientY</domain:acID>
   S:        <domain:acDate>2000-06-11T22:00:00.0Z</domain:acDate>
   S:        <domain:exDate>2002-09-08T22:00:00.0Z</domain:exDate>
   S:      </domain:trnData>
   S:    </resData>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
   S:      <svTRID>54322-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>
        
   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1000">
   S:      <msg>Command completed successfully</msg>
   S:    </result>
   S:    <resData>
   S:      <domain:trnData
   S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   S:        <domain:name>example.com</domain:name>
   S:        <domain:trStatus>pending</domain:trStatus>
   S:        <domain:reID>ClientX</domain:reID>
   S:        <domain:reDate>2000-06-06T22:00:00.0Z</domain:reDate>
   S:        <domain:acID>ClientY</domain:acID>
   S:        <domain:acDate>2000-06-11T22:00:00.0Z</domain:acDate>
   S:        <domain:exDate>2002-09-08T22:00:00.0Z</domain:exDate>
   S:      </domain:trnData>
   S:    </resData>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
   S:      <svTRID>54322-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>
        

An EPP error response MUST be returned if a <transfer> query command cannot be processed for any reason.

如果由于任何原因无法处理<transfer>查询命令,则必须返回EPP错误响应。

3.2. EPP Transform Commands
3.2. EPP转换命令

EPP provides five commands to transform domain objects: <create> to create an instance of a domain object, <delete> to delete an instance of a domain object, <renew> to extend the validity period of a domain object, <transfer> to manage domain object sponsorship changes, and <update> to change information associated with a domain object.

EPP提供了五个用于转换域对象的命令:<create>用于创建域对象的实例,<delete>用于删除域对象的实例,<renew>用于延长域对象的有效期,<transfer>用于管理域对象赞助更改,<update>用于更改与域对象关联的信息。

Transform commands are typically processed and completed in real time. Server operators MAY receive and process transform commands, but defer completing the requested action if human or third-party review is required before the requested action can be completed. In such situations the server MUST return a 1001 response code to the client to note that the command has been received and processed, but the requested action is pending. The server MUST also manage the status of the object that is the subject of the command to reflect the initiation and completion of the requested action. Once the action has been completed, all clients involved in the transaction MUST be notified using a service message that the action has been completed and that the status of the object has changed.

转换命令通常是实时处理和完成的。服务器操作员可以接收和处理转换命令,但如果在完成请求的操作之前需要人工或第三方审核,则推迟完成请求的操作。在这种情况下,服务器必须向客户端返回1001响应代码,以注意命令已被接收和处理,但请求的操作处于挂起状态。服务器还必须管理作为命令主题的对象的状态,以反映请求操作的启动和完成。操作完成后,必须使用服务消息通知事务中涉及的所有客户端操作已完成,并且对象的状态已更改。

3.2.1. EPP <create> Command
3.2.1. EPP<create>命令

The EPP <create> command provides a transform operation that allows a client to create a domain object. In addition to the standard EPP command elements, the <create> command MUST contain a <domain:create> element that identifies the domain namespace. The <domain:create> element contains the following child elements:

EPP<create>命令提供一个转换操作,允许客户端创建域对象。除了标准的EPP命令元素外,<create>命令还必须包含标识域命名空间的<domain:create>元素。<domain:create>元素包含以下子元素:

- A <domain:name> element that contains the fully qualified name of the domain object to be created.

- 包含要创建的域对象的完全限定名的<domain:name>元素。

- An OPTIONAL <domain:period> element that contains the initial registration period of the domain object. A server MAY define a default initial registration period if not specified by the client.

- 可选的<domain:period>元素,包含域对象的初始注册周期。如果客户端未指定,服务器可以定义默认的初始注册期。

- An OPTIONAL <domain:ns> element that contains the fully qualified names of the delegated host objects or host attributes (name servers) associated with the domain object to provide resolution services for the domain; see Section 1.1 for a description of the elements used to specify host objects or host attributes. A host object MUST be known to the server before the host object can be associated with a domain object.

- 一个可选的<domain:ns>元素,其中包含与域对象关联的委托主机对象或主机属性(名称服务器)的完全限定名,以便为域提供解析服务;有关用于指定主体对象或主体属性的元素的说明,请参见第1.1节。在主机对象与域对象关联之前,服务器必须知道主机对象。

- An OPTIONAL <domain:registrant> element that contains the identifier for the human or organizational social information (contact) object to be associated with the domain object as the object registrant. This object identifier MUST be known to the server before the contact object can be associated with the domain object. The EPP mapping for contact objects is described in [RFC4933].

- 可选的<domain:registent>元素,包含作为对象注册者与域对象关联的人员或组织社会信息(contact)对象的标识符。在联系人对象与域对象关联之前,服务器必须知道此对象标识符。[RFC4933]中描述了接触对象的EPP映射。

- Zero or more OPTIONAL <domain:contact> elements that contain the identifiers for other contact objects to be associated with the domain object. Contact object identifiers MUST be known to the server before the contact object can be associated with the domain object.

- 零个或多个可选<domain:contact>元素,其中包含与域对象关联的其他联系人对象的标识符。在联系人对象与域对象关联之前,服务器必须知道联系人对象标识符。

- A <domain:authInfo> element that contains authorization information to be associated with the domain object. This mapping includes a password-based authentication mechanism, but the schema allows new mechanisms to be defined in new schemas.

- 包含要与域对象关联的授权信息的<domain:authInfo>元素。此映射包括基于密码的身份验证机制,但模式允许在新模式中定义新机制。

Example <create> command:

示例<create>命令:

   C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   C:  <command>
   C:    <create>
   C:      <domain:create
   C:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   C:        <domain:name>example.com</domain:name>
   C:        <domain:period unit="y">2</domain:period>
   C:        <domain:ns>
   C:          <domain:hostObj>ns1.example.com</domain:hostObj>
   C:          <domain:hostObj>ns1.example.net</domain:hostObj>
   C:        </domain:ns>
   C:        <domain:registrant>jd1234</domain:registrant>
   C:        <domain:contact type="admin">sh8013</domain:contact>
   C:        <domain:contact type="tech">sh8013</domain:contact>
   C:        <domain:authInfo>
   C:          <domain:pw>2fooBAR</domain:pw>
   C:        </domain:authInfo>
   C:      </domain:create>
   C:    </create>
   C:    <clTRID>ABC-12345</clTRID>
   C:  </command>
   C:</epp>
        
   C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   C:  <command>
   C:    <create>
   C:      <domain:create
   C:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   C:        <domain:name>example.com</domain:name>
   C:        <domain:period unit="y">2</domain:period>
   C:        <domain:ns>
   C:          <domain:hostObj>ns1.example.com</domain:hostObj>
   C:          <domain:hostObj>ns1.example.net</domain:hostObj>
   C:        </domain:ns>
   C:        <domain:registrant>jd1234</domain:registrant>
   C:        <domain:contact type="admin">sh8013</domain:contact>
   C:        <domain:contact type="tech">sh8013</domain:contact>
   C:        <domain:authInfo>
   C:          <domain:pw>2fooBAR</domain:pw>
   C:        </domain:authInfo>
   C:      </domain:create>
   C:    </create>
   C:    <clTRID>ABC-12345</clTRID>
   C:  </command>
   C:</epp>
        

When a <create> command has been processed successfully, the EPP <resData> element MUST contain a child <domain:creData> element that identifies the domain namespace. The <domain:creData> element contains the following child elements:

成功处理<create>命令后,EPP<resData>元素必须包含标识域命名空间的子<domain:creData>元素。<domain:creData>元素包含以下子元素:

- A <domain:name> element that contains the fully qualified name of the domain object.

- 包含域对象的完全限定名的<domain:name>元素。

- A <domain:crDate> element that contains the date and time of domain object creation.

- 包含域对象创建日期和时间的<domain:crDate>元素。

- An OPTIONAL <domain:exDate> element that contains the date and time identifying the end of the domain object's registration period.

- 可选的<domain:exDate>元素,包含标识域对象注册期结束的日期和时间。

Example <create> response:

示例<create>响应:

   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1000">
   S:      <msg>Command completed successfully</msg>
   S:    </result>
   S:    <resData>
   S:      <domain:creData
   S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   S:        <domain:name>example.com</domain:name>
   S:        <domain:crDate>1999-04-03T22:00:00.0Z</domain:crDate>
   S:        <domain:exDate>2001-04-03T22:00:00.0Z</domain:exDate>
   S:      </domain:creData>
   S:    </resData>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
   S:      <svTRID>54321-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>
        
   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1000">
   S:      <msg>Command completed successfully</msg>
   S:    </result>
   S:    <resData>
   S:      <domain:creData
   S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   S:        <domain:name>example.com</domain:name>
   S:        <domain:crDate>1999-04-03T22:00:00.0Z</domain:crDate>
   S:        <domain:exDate>2001-04-03T22:00:00.0Z</domain:exDate>
   S:      </domain:creData>
   S:    </resData>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
   S:      <svTRID>54321-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>
        

An EPP error response MUST be returned if a <create> command cannot be processed for any reason.

如果由于任何原因无法处理<create>命令,则必须返回EPP错误响应。

3.2.2. EPP <delete> Command
3.2.2. EPP<delete>命令

The EPP <delete> command provides a transform operation that allows a client to delete a domain object. In addition to the standard EPP command elements, the <delete> command MUST contain a <domain:delete> element that identifies the domain namespace. The <domain:delete> element contains the following child elements:

EPP<delete>命令提供一个转换操作,允许客户端删除域对象。除了标准的EPP命令元素外,<delete>命令还必须包含标识域命名空间的<domain:delete>元素。<domain:delete>元素包含以下子元素:

- A <domain:name> element that contains the fully qualified name of the domain object to be deleted.

- 包含要删除的域对象的完全限定名的<domain:name>元素。

A domain object SHOULD NOT be deleted if subordinate host objects are associated with the domain object. For example, if domain "example.com" exists, and host object "ns1.example.com" also exists, then domain "example.com" SHOULD NOT be deleted until host "ns1.example.com" has been either deleted or renamed to exist in a different superordinate domain. A server SHOULD notify clients that object relationships exist by sending a 2305 error response code when

如果从属主机对象与域对象关联,则不应删除域对象。例如,如果域“example.com”存在,并且主机对象“ns1.example.com”也存在,则在主机“ns1.example.com”被删除或重命名为存在于不同的上级域之前,不应删除域“example.com”。服务器应在以下情况下通过发送2305错误响应代码通知客户端存在对象关系:

a <delete> command is attempted and fails due to existing object relationships. Delegated and subordinate host objects associated with a domain object can be determined using the <info> query command for the domain object.

尝试执行<delete>命令,但由于存在对象关系而失败。可以使用域对象的<info>查询命令来确定与域对象关联的委托主机对象和从属主机对象。

Example <delete> command:

示例<delete>命令:

   C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   C:  <command>
   C:    <delete>
   C:      <domain:delete
   C:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   C:        <domain:name>example.com</domain:name>
   C:      </domain:delete>
   C:    </delete>
   C:    <clTRID>ABC-12345</clTRID>
   C:  </command>
   C:</epp>
        
   C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   C:  <command>
   C:    <delete>
   C:      <domain:delete
   C:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   C:        <domain:name>example.com</domain:name>
   C:      </domain:delete>
   C:    </delete>
   C:    <clTRID>ABC-12345</clTRID>
   C:  </command>
   C:</epp>
        

When a <delete> command has been processed successfully, a server MUST respond with an EPP response with no <resData> element.

成功处理<delete>命令后,服务器必须使用不带<resData>元素的EPP响应进行响应。

Example <delete> response:

示例<delete>响应:

   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1000">
   S:      <msg>Command completed successfully</msg>
   S:    </result>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
   S:      <svTRID>54321-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>
        
   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1000">
   S:      <msg>Command completed successfully</msg>
   S:    </result>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
   S:      <svTRID>54321-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>
        

An EPP error response MUST be returned if a <delete> command cannot be processed for any reason.

如果由于任何原因无法处理<delete>命令,则必须返回EPP错误响应。

3.2.3. EPP <renew> Command
3.2.3. EPP<renew>命令

The EPP <renew> command provides a transform operation that allows a client to extend the validity period of a domain object. In addition to the standard EPP command elements, the <renew> command MUST

EPP<renew>命令提供转换操作,允许客户端延长域对象的有效期。除了标准EPP命令元素外,<renew>命令必须

contain a <domain:renew> element that identifies the domain namespace. The <domain:renew> element contains the following child elements:

包含标识域命名空间的<domain:renew>元素。<domain:renew>元素包含以下子元素:

- A <domain:name> element that contains the fully qualified name of the domain object whose validity period is to be extended.

- 一个<domain:name>元素,包含有效期要延长的域对象的完全限定名。

- A <domain:curExpDate> element that contains the date on which the current validity period ends. This value ensures that repeated <renew> commands do not result in multiple unanticipated successful renewals.

- 包含当前有效期结束日期的<domain:curExpDate>元素。此值确保重复的<renew>命令不会导致多次意外的成功续订。

- An OPTIONAL <domain:period> element that contains the number of units to be added to the registration period of the domain object. The number of units available MAY be subject to limits imposed by the server.

- 可选的<domain:period>元素,包含要添加到域对象的注册周期的单元数。可用单元的数量可能受到服务器施加的限制。

Example <renew> command:

示例<renew>命令:

   C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   C:  <command>
   C:    <renew>
   C:      <domain:renew
   C:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   C:        <domain:name>example.com</domain:name>
   C:        <domain:curExpDate>2000-04-03</domain:curExpDate>
   C:        <domain:period unit="y">5</domain:period>
   C:      </domain:renew>
   C:    </renew>
   C:    <clTRID>ABC-12345</clTRID>
   C:  </command>
   C:</epp>
        
   C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   C:  <command>
   C:    <renew>
   C:      <domain:renew
   C:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   C:        <domain:name>example.com</domain:name>
   C:        <domain:curExpDate>2000-04-03</domain:curExpDate>
   C:        <domain:period unit="y">5</domain:period>
   C:      </domain:renew>
   C:    </renew>
   C:    <clTRID>ABC-12345</clTRID>
   C:  </command>
   C:</epp>
        

When a <renew> command has been processed successfully, the EPP <resData> element MUST contain a child <domain:renData> element that identifies the domain namespace. The <domain:renData> element contains the following child elements:

成功处理<renew>命令后,EPP<resData>元素必须包含标识域命名空间的子<domain:renData>元素。<domain:renData>元素包含以下子元素:

- A <domain:name> element that contains the fully qualified name of the domain object.

- 包含域对象的完全限定名的<domain:name>元素。

- An OPTIONAL <domain:exDate> element that contains the date and time identifying the end of the domain object's registration period.

- 可选的<domain:exDate>元素,包含标识域对象注册期结束的日期和时间。

Example <renew> response:

示例<更新>响应:

   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1000">
   S:      <msg>Command completed successfully</msg>
   S:    </result>
   S:    <resData>
   S:      <domain:renData
   S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   S:        <domain:name>example.com</domain:name>
   S:        <domain:exDate>2005-04-03T22:00:00.0Z</domain:exDate>
   S:      </domain:renData>
   S:    </resData>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
   S:      <svTRID>54322-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>
        
   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1000">
   S:      <msg>Command completed successfully</msg>
   S:    </result>
   S:    <resData>
   S:      <domain:renData
   S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   S:        <domain:name>example.com</domain:name>
   S:        <domain:exDate>2005-04-03T22:00:00.0Z</domain:exDate>
   S:      </domain:renData>
   S:    </resData>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
   S:      <svTRID>54322-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>
        

An EPP error response MUST be returned if a <renew> command cannot be processed for any reason.

如果由于任何原因无法处理<renew>命令,则必须返回EPP错误响应。

3.2.4. EPP <transfer> Command
3.2.4. EPP<transfer>命令

The EPP <transfer> command provides a transform operation that allows a client to manage requests to transfer the sponsorship of a domain object. In addition to the standard EPP command elements, the <transfer> command MUST contain a <domain:transfer> element that identifies the domain namespace. The <domain:transfer> element contains the following child elements:

EPP<transfer>命令提供了一个转换操作,该操作允许客户端管理传输域对象赞助的请求。除了标准的EPP命令元素外,<transfer>命令还必须包含标识域命名空间的<domain:transfer>元素。<domain:transfer>元素包含以下子元素:

- A <domain:name> element that contains the fully qualified name of the domain object for which a transfer request is to be created, approved, rejected, or cancelled.

- 一个<domain:name>元素,包含要为其创建、批准、拒绝或取消传输请求的域对象的完全限定名。

- An OPTIONAL <domain:period> element that contains the number of units to be added to the registration period of the domain object at completion of the transfer process. This element can only be used when a transfer is requested, and it MUST be ignored if used otherwise. The number of units available MAY be subject to limits imposed by the server.

- 可选的<domain:period>元素,包含传输过程完成时要添加到域对象的注册周期的单元数。此元素只能在请求传输时使用,否则必须忽略。可用单元的数量可能受到服务器施加的限制。

- A <domain:authInfo> element that contains authorization information associated with the domain object or authorization information associated with the domain object's registrant or associated contacts. An OPTIONAL "roid" attribute MUST be used to identify the registrant or contact object if and only if the given authInfo is associated with a registrant or contact object, and not the domain object itself.

- 一个<domain:authInfo>元素,包含与域对象关联的授权信息或与域对象的注册者或关联联系人关联的授权信息。当且仅当给定的authInfo与注册人或联系人对象而非域对象本身关联时,必须使用可选的“roid”属性来标识注册人或联系人对象。

Every EPP <transfer> command MUST contain an "op" attribute that identifies the transfer operation to be performed. Valid values, definitions, and authorizations for all attribute values are defined in [RFC4930].

每个EPP<transfer>命令必须包含一个“op”属性,该属性标识要执行的传输操作。[RFC4930]中定义了所有属性值的有效值、定义和授权。

Transfer of a domain object MUST implicitly transfer all host objects that are subordinate to the domain object. For example, if domain object "example.com" is transferred and host object "ns1.example.com" exists, the host object MUST be transferred as part of the "example.com" transfer process. Host objects that are subject to transfer when transferring a domain object are listed in the response to an EPP <info> command performed on the domain object.

域对象的传输必须隐式传输从属于该域对象的所有主机对象。例如,如果传输了域对象“example.com”,并且存在主机对象“ns1.example.com”,则主机对象必须作为“example.com”传输过程的一部分进行传输。传输域对象时要传输的主机对象列在对域对象执行的EPP<info>命令的响应中。

Example <transfer> request command:

示例<transfer>请求命令:

   C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   C:  <command>
   C:    <transfer op="request">
   C:      <domain:transfer
   C:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   C:        <domain:name>example.com</domain:name>
   C:        <domain:period unit="y">1</domain:period>
   C:        <domain:authInfo>
   C:          <domain:pw roid="JD1234-REP">2fooBAR</domain:pw>
   C:        </domain:authInfo>
   C:      </domain:transfer>
   C:    </transfer>
   C:    <clTRID>ABC-12345</clTRID>
   C:  </command>
   C:</epp>
        
   C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   C:  <command>
   C:    <transfer op="request">
   C:      <domain:transfer
   C:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   C:        <domain:name>example.com</domain:name>
   C:        <domain:period unit="y">1</domain:period>
   C:        <domain:authInfo>
   C:          <domain:pw roid="JD1234-REP">2fooBAR</domain:pw>
   C:        </domain:authInfo>
   C:      </domain:transfer>
   C:    </transfer>
   C:    <clTRID>ABC-12345</clTRID>
   C:  </command>
   C:</epp>
        

When a <transfer> command has been processed successfully, the EPP <resData> element MUST contain a child <domain:trnData> element that identifies the domain namespace. The <domain:trnData> element contains the same child elements defined for a transfer query response.

成功处理<transfer>命令后,EPP<resData>元素必须包含标识域命名空间的子<domain:trnda>元素。<domain:trnda>元素包含为传输查询响应定义的相同子元素。

Example <transfer> response:

示例<transfer>响应:

   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1001">
   S:      <msg>Command completed successfully; action pending</msg>
   S:    </result>
   S:    <resData>
   S:      <domain:trnData
   S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   S:        <domain:name>example.com</domain:name>
   S:        <domain:trStatus>pending</domain:trStatus>
   S:        <domain:reID>ClientX</domain:reID>
   S:        <domain:reDate>2000-06-08T22:00:00.0Z</domain:reDate>
   S:        <domain:acID>ClientY</domain:acID>
   S:        <domain:acDate>2000-06-13T22:00:00.0Z</domain:acDate>
   S:        <domain:exDate>2002-09-08T22:00:00.0Z</domain:exDate>
   S:      </domain:trnData>
   S:    </resData>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
   S:      <svTRID>54322-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>
        
   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1001">
   S:      <msg>Command completed successfully; action pending</msg>
   S:    </result>
   S:    <resData>
   S:      <domain:trnData
   S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   S:        <domain:name>example.com</domain:name>
   S:        <domain:trStatus>pending</domain:trStatus>
   S:        <domain:reID>ClientX</domain:reID>
   S:        <domain:reDate>2000-06-08T22:00:00.0Z</domain:reDate>
   S:        <domain:acID>ClientY</domain:acID>
   S:        <domain:acDate>2000-06-13T22:00:00.0Z</domain:acDate>
   S:        <domain:exDate>2002-09-08T22:00:00.0Z</domain:exDate>
   S:      </domain:trnData>
   S:    </resData>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
   S:      <svTRID>54322-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>
        

An EPP error response MUST be returned if a <transfer> command can not be processed for any reason.

如果由于任何原因无法处理<transfer>命令,则必须返回EPP错误响应。

3.2.5. EPP <update> Command
3.2.5. EPP<update>命令

The EPP <update> command provides a transform operation that allows a client to modify the attributes of a domain object. In addition to the standard EPP command elements, the <update> command MUST contain a <domain:update> element that identifies the domain namespace. The <domain:update> element contains the following child elements:

EPP<update>命令提供转换操作,允许客户端修改域对象的属性。除了标准的EPP命令元素外,<update>命令还必须包含一个标识域名称空间的<domain:update>元素。<domain:update>元素包含以下子元素:

- A <domain:name> element that contains the fully qualified name of the domain object to be updated.

- 包含要更新的域对象的完全限定名的<domain:name>元素。

- An OPTIONAL <domain:add> element that contains attribute values to be added to the object.

- 可选的<domain:add>元素,包含要添加到对象的属性值。

- An OPTIONAL <domain:rem> element that contains attribute values to be removed from the object.

- 可选的<domain:rem>元素,包含要从对象中删除的属性值。

- An OPTIONAL <domain:chg> element that contains object attribute values to be changed.

- 包含要更改的对象属性值的可选<domain:chg>元素。

At least one <domain:add>, <domain:rem>, or <domain:chg> element MUST be provided if the command is not being extended. All of these elements MAY be omitted if an <update> extension is present. The <domain:add> and <domain:rem> elements contain the following child elements:

如果命令未扩展,则必须至少提供一个<domain:add>、<domain:rem>或<domain:chg>元素。如果存在<update>扩展,则可以省略所有这些元素。<domain:add>和<domain:rem>元素包含以下子元素:

- An OPTIONAL <domain:ns> element that contains the fully qualified names of the delegated host objects or host attributes (name servers) associated with the domain object to provide resolution services for the domain; see Section 1.1 for a description of the elements used to specify host objects or host attributes. A host object MUST be known to the server before the host object can be associated with a domain object. If host attributes are used to specify name servers, note that IP address elements are not needed to identify a name server that is being removed. IP address elements can safely be absent or ignored in this situation.

- 一个可选的<domain:ns>元素,其中包含与域对象关联的委托主机对象或主机属性(名称服务器)的完全限定名,以便为域提供解析服务;有关用于指定主体对象或主体属性的元素的说明,请参见第1.1节。在主机对象与域对象关联之前,服务器必须知道主机对象。如果主机属性用于指定名称服务器,请注意,不需要IP地址元素来标识要删除的名称服务器。在这种情况下,可以安全地忽略IP地址元素。

- Zero or more <domain:contact> elements that contain the identifiers for contact objects to be associated with or removed from the domain object. Contact object identifiers MUST be known to the server before the contact object can be associated with the domain object.

- 零个或多个<domain:contact>元素,其中包含要与域对象关联或从域对象中删除的联系人对象的标识符。在联系人对象与域对象关联之前,服务器必须知道联系人对象标识符。

- Zero or more <domain:status> elements that contain status values to be applied to or removed from the object. When specifying a value to be removed, only the attribute value is significant; element text is not required to match a value for removal.

- 零个或多个<domain:status>元素,其中包含要应用于对象或从对象中移除的状态值。指定要删除的值时,只有属性值有效;元素文本不需要与要删除的值匹配。

A <domain:chg> element contains the following child elements:

<domain:chg>元素包含以下子元素:

- A <domain:registrant> element that contains the identifier for the human or organizational social information (contact) object to be associated with the domain object as the object registrant. This object identifier MUST be known to the server before the contact object can be associated with the domain object. An empty element can be used to remove registrant information.

- 一个<domain:registent>元素,包含作为对象注册者与域对象关联的人类或组织社会信息(contact)对象的标识符。在联系人对象与域对象关联之前,服务器必须知道此对象标识符。空元素可用于删除注册人信息。

- A <domain:authInfo> element that contains authorization information associated with the domain object. This mapping includes a password-based authentication mechanism, but the schema allows new mechanisms to be defined in new schemas. A <domain: null> element can be used within the <domain:authInfo> element to remove authorization information.

- 包含与域对象关联的授权信息的<domain:authInfo>元素。此映射包括基于密码的身份验证机制,但模式允许在新模式中定义新机制。可以在<domain:authInfo>元素中使用<domain:null>元素来删除授权信息。

Example <update> command:

示例<update>命令:

   C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   C:  <command>
   C:    <update>
   C:      <domain:update
   C:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   C:        <domain:name>example.com</domain:name>
   C:        <domain:add>
   C:          <domain:ns>
   C:            <domain:hostObj>ns2.example.com</domain:hostObj>
   C:          </domain:ns>
   C:          <domain:contact type="tech">mak21</domain:contact>
   C:          <domain:status s="clientHold"
   C:           lang="en">Payment overdue.</domain:status>
   C:        </domain:add>
   C:        <domain:rem>
   C:          <domain:ns>
   C:            <domain:hostObj>ns1.example.com</domain:hostObj>
   C:          </domain:ns>
   C:          <domain:contact type="tech">sh8013</domain:contact>
   C:          <domain:status s="clientUpdateProhibited"/>
   C:        </domain:rem>
   C:        <domain:chg>
   C:          <domain:registrant>sh8013</domain:registrant>
   C:          <domain:authInfo>
   C:            <domain:pw>2BARfoo</domain:pw>
   C:          </domain:authInfo>
   C:        </domain:chg>
   C:      </domain:update>
   C:    </update>
   C:    <clTRID>ABC-12345</clTRID>
   C:  </command>
   C:</epp>
        
   C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   C:  <command>
   C:    <update>
   C:      <domain:update
   C:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   C:        <domain:name>example.com</domain:name>
   C:        <domain:add>
   C:          <domain:ns>
   C:            <domain:hostObj>ns2.example.com</domain:hostObj>
   C:          </domain:ns>
   C:          <domain:contact type="tech">mak21</domain:contact>
   C:          <domain:status s="clientHold"
   C:           lang="en">Payment overdue.</domain:status>
   C:        </domain:add>
   C:        <domain:rem>
   C:          <domain:ns>
   C:            <domain:hostObj>ns1.example.com</domain:hostObj>
   C:          </domain:ns>
   C:          <domain:contact type="tech">sh8013</domain:contact>
   C:          <domain:status s="clientUpdateProhibited"/>
   C:        </domain:rem>
   C:        <domain:chg>
   C:          <domain:registrant>sh8013</domain:registrant>
   C:          <domain:authInfo>
   C:            <domain:pw>2BARfoo</domain:pw>
   C:          </domain:authInfo>
   C:        </domain:chg>
   C:      </domain:update>
   C:    </update>
   C:    <clTRID>ABC-12345</clTRID>
   C:  </command>
   C:</epp>
        

When an <update> command has been processed successfully, a server MUST respond with an EPP response with no <resData> element.

成功处理<update>命令后,服务器必须使用不带<resData>元素的EPP响应进行响应。

Example <update> response:

示例<update>响应:

   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1000">
   S:      <msg>Command completed successfully</msg>
   S:    </result>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
   S:      <svTRID>54321-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>
        
   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1000">
   S:      <msg>Command completed successfully</msg>
   S:    </result>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
   S:      <svTRID>54321-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>
        

An EPP error response MUST be returned if an <update> command cannot be processed for any reason.

如果由于任何原因无法处理<update>命令,则必须返回EPP错误响应。

3.3. Offline Review of Requested Actions
3.3. 请求操作的脱机审查

Commands are processed by a server in the order they are received from a client. Though an immediate response confirming receipt and processing of the command is produced by the server, a server operator MAY perform an offline review of requested transform commands before completing the requested action. In such situations, the response from the server MUST clearly note that the transform command has been received and processed, but the requested action is pending. The status of the corresponding object MUST clearly reflect processing of the pending action. The server MUST notify the client when offline processing of the action has been completed.

服务器按照从客户端接收命令的顺序处理命令。虽然服务器会生成确认接收和处理命令的即时响应,但服务器操作员可以在完成请求的操作之前对请求的转换命令执行脱机检查。在这种情况下,来自服务器的响应必须清楚地注意到已接收并处理转换命令,但请求的操作处于挂起状态。相应对象的状态必须清楚地反映挂起操作的处理。当操作的脱机处理完成时,服务器必须通知客户端。

Examples describing a <create> command that requires offline review are included here. Note the result code and message returned in response to the <create> command.

此处包括描述需要脱机检查的<create>命令的示例。注意响应<create>命令返回的结果代码和消息。

   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1001">
   S:      <msg>Command completed successfully; action pending</msg>
   S:    </result>
   S:    <resData>
   S:      <domain:creData
   S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   S:        <domain:name>example.com</domain:name>
   S:        <domain:crDate>1999-04-03T22:00:00.0Z</domain:crDate>
   S:        <domain:exDate>2001-04-03T22:00:00.0Z</domain:exDate>
   S:      </domain:creData>
   S:    </resData>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
   S:      <svTRID>54321-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>
        
   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1001">
   S:      <msg>Command completed successfully; action pending</msg>
   S:    </result>
   S:    <resData>
   S:      <domain:creData
   S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   S:        <domain:name>example.com</domain:name>
   S:        <domain:crDate>1999-04-03T22:00:00.0Z</domain:crDate>
   S:        <domain:exDate>2001-04-03T22:00:00.0Z</domain:exDate>
   S:      </domain:creData>
   S:    </resData>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
   S:      <svTRID>54321-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>
        

The status of the domain object after returning this response MUST include "pendingCreate". The server operator reviews the request offline, and informs the client of the outcome of the review either by queuing a service message for retrieval via the <poll> command or by using an out-of-band mechanism to inform the client of the request.

返回此响应后域对象的状态必须包括“pendingCreate”。服务器操作员脱机审查请求,并通过通过<poll>命令将服务消息排队以供检索,或通过使用带外机制将审查结果通知客户端。

The service message MUST contain text in the <response>, <msgQ>, <msg> element that describes the notification. In addition, the EPP <resData> element MUST contain a child <domain:panData> element that identifies the domain namespace. The <domain:panData> element contains the following child elements:

服务消息必须包含描述通知的<response>,<msgQ>,<msg>元素中的文本。此外,EPP<resData>元素必须包含标识域命名空间的子<domain:panData>元素。<domain:panData>元素包含以下子元素:

- A <domain:name> element that contains the fully qualified name of the domain object. The <domain:name> element contains a REQUIRED "paResult" attribute. A positive boolean value indicates that the request has been approved and completed. A negative boolean value indicates that the request has been denied and the requested action has not been taken.

- 包含域对象的完全限定名的<domain:name>元素。<domain:name>元素包含必需的“paResult”属性。正布尔值表示请求已被批准并完成。负布尔值表示请求已被拒绝,且未采取请求的操作。

- A <domain:paTRID> element that contains the client transaction identifier and server transaction identifier returned with the original response to process the command. The client transaction identifier is OPTIONAL and will only be returned if the client provided an identifier with the original <create> command.

- 一个<domain:patid>元素,包含处理命令的原始响应返回的客户端事务标识符和服务器事务标识符。客户端事务标识符是可选的,仅当客户端使用原始的<create>命令提供了标识符时才会返回。

- A <domain:paDate> element that contains the date and time describing when review of the requested action was completed.

- 包含日期和时间的<domain:paDate>元素,描述请求操作的审核何时完成。

Example "review completed" service message:

“审阅完成”服务消息示例:

   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1301">
   S:      <msg>Command completed successfully; ack to dequeue</msg>
   S:    </result>
   S:    <msgQ count="5" id="12345">
   S:      <qDate>1999-04-04T22:01:00.0Z</qDate>
   S:      <msg>Pending action completed successfully.</msg>
   S:    </msgQ>
   S:    <resData>
   S:      <domain:panData
   S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   S:        <domain:name paResult="1">example.com</domain:name>
   S:        <domain:paTRID>
   S:          <clTRID>ABC-12345</clTRID>
   S:          <svTRID>54321-XYZ</svTRID>
   S:        </domain:paTRID>
   S:        <domain:paDate>1999-04-04T22:00:00.0Z</domain:paDate>
   S:      </domain:panData>
   S:    </resData>
   S:    <trID>
   S:      <clTRID>BCD-23456</clTRID>
   S:      <svTRID>65432-WXY</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>
        
   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1301">
   S:      <msg>Command completed successfully; ack to dequeue</msg>
   S:    </result>
   S:    <msgQ count="5" id="12345">
   S:      <qDate>1999-04-04T22:01:00.0Z</qDate>
   S:      <msg>Pending action completed successfully.</msg>
   S:    </msgQ>
   S:    <resData>
   S:      <domain:panData
   S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   S:        <domain:name paResult="1">example.com</domain:name>
   S:        <domain:paTRID>
   S:          <clTRID>ABC-12345</clTRID>
   S:          <svTRID>54321-XYZ</svTRID>
   S:        </domain:paTRID>
   S:        <domain:paDate>1999-04-04T22:00:00.0Z</domain:paDate>
   S:      </domain:panData>
   S:    </resData>
   S:    <trID>
   S:      <clTRID>BCD-23456</clTRID>
   S:      <svTRID>65432-WXY</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>
        
4. Formal Syntax
4. 形式语法

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.

EPP对象映射是用XML模式表示法指定的。这里给出的形式语法是对象映射的完整模式表示,适合于自动验证EPP XML实例。开始和结束标记不是模式的一部分;它们用于记录模式的开始和结束,以便进行URI注册。

   BEGIN
   <?xml version="1.0" encoding="UTF-8"?>
        
   BEGIN
   <?xml version="1.0" encoding="UTF-8"?>
        
   <schema targetNamespace="urn:ietf:params:xml:ns:domain-1.0"
        xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
        xmlns:host="urn:ietf:params:xml:ns:host-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">
        
   <schema targetNamespace="urn:ietf:params:xml:ns:domain-1.0"
        xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"
        xmlns:host="urn:ietf:params:xml:ns:host-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"/>
   <import namespace="urn:ietf:params:xml:ns:host-1.0"/>
        
   <!--
   Import common element types.
   -->
   <import namespace="urn:ietf:params:xml:ns:eppcom-1.0"/>
   <import namespace="urn:ietf:params:xml:ns:epp-1.0"/>
   <import namespace="urn:ietf:params:xml:ns:host-1.0"/>
        
   <annotation>
    <documentation>
      Extensible Provisioning Protocol v1.0
      domain provisioning schema.
    </documentation>
   </annotation>
        
   <annotation>
    <documentation>
      Extensible Provisioning Protocol v1.0
      domain provisioning schema.
    </documentation>
   </annotation>
        
   <!--
   Child elements found in EPP commands.
   -->
   <element name="check" type="domain:mNameType"/>
   <element name="create" type="domain:createType"/>
   <element name="delete" type="domain:sNameType"/>
   <element name="info" type="domain:infoType"/>
   <element name="renew" type="domain:renewType"/>
   <element name="transfer" type="domain:transferType"/>
   <element name="update" type="domain:updateType"/>
   <!--
   Child elements of the <create> command.
   -->
   <complexType name="createType">
        
   <!--
   Child elements found in EPP commands.
   -->
   <element name="check" type="domain:mNameType"/>
   <element name="create" type="domain:createType"/>
   <element name="delete" type="domain:sNameType"/>
   <element name="info" type="domain:infoType"/>
   <element name="renew" type="domain:renewType"/>
   <element name="transfer" type="domain:transferType"/>
   <element name="update" type="domain:updateType"/>
   <!--
   Child elements of the <create> command.
   -->
   <complexType name="createType">
        
    <sequence>
      <element name="name" type="eppcom:labelType"/>
      <element name="period" type="domain:periodType"
       minOccurs="0"/>
      <element name="ns" type="domain:nsType"
       minOccurs="0"/>
      <element name="registrant" type="eppcom:clIDType"
       minOccurs="0"/>
      <element name="contact" type="domain:contactType"
       minOccurs="0" maxOccurs="unbounded"/>
      <element name="authInfo" type="domain:authInfoType"/>
    </sequence>
   </complexType>
        
    <sequence>
      <element name="name" type="eppcom:labelType"/>
      <element name="period" type="domain:periodType"
       minOccurs="0"/>
      <element name="ns" type="domain:nsType"
       minOccurs="0"/>
      <element name="registrant" type="eppcom:clIDType"
       minOccurs="0"/>
      <element name="contact" type="domain:contactType"
       minOccurs="0" maxOccurs="unbounded"/>
      <element name="authInfo" type="domain:authInfoType"/>
    </sequence>
   </complexType>
        
   <complexType name="periodType">
    <simpleContent>
      <extension base="domain:pLimitType">
        <attribute name="unit" type="domain:pUnitType"
         use="required"/>
      </extension>
    </simpleContent>
   </complexType>
        
   <complexType name="periodType">
    <simpleContent>
      <extension base="domain:pLimitType">
        <attribute name="unit" type="domain:pUnitType"
         use="required"/>
      </extension>
    </simpleContent>
   </complexType>
        
   <simpleType name="pLimitType">
    <restriction base="unsignedShort">
      <minInclusive value="1"/>
      <maxInclusive value="99"/>
    </restriction>
   </simpleType>
        
   <simpleType name="pLimitType">
    <restriction base="unsignedShort">
      <minInclusive value="1"/>
      <maxInclusive value="99"/>
    </restriction>
   </simpleType>
        
   <simpleType name="pUnitType">
    <restriction base="token">
      <enumeration value="y"/>
      <enumeration value="m"/>
    </restriction>
   </simpleType>
        
   <simpleType name="pUnitType">
    <restriction base="token">
      <enumeration value="y"/>
      <enumeration value="m"/>
    </restriction>
   </simpleType>
        
   <complexType name="nsType">
    <choice>
      <element name="hostObj" type="eppcom:labelType"
       maxOccurs="unbounded"/>
      <element name="hostAttr" type="domain:hostAttrType"
       maxOccurs="unbounded"/>
    </choice>
   </complexType>
   <!--
   Name servers are either host objects or attributes.
   -->
        
   <complexType name="nsType">
    <choice>
      <element name="hostObj" type="eppcom:labelType"
       maxOccurs="unbounded"/>
      <element name="hostAttr" type="domain:hostAttrType"
       maxOccurs="unbounded"/>
    </choice>
   </complexType>
   <!--
   Name servers are either host objects or attributes.
   -->
        
   <complexType name="hostAttrType">
    <sequence>
      <element name="hostName" type="eppcom:labelType"/>
      <element name="hostAddr" type="host:addrType"
       minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
   </complexType>
   <!--
   If attributes, addresses are optional and follow the
   structure defined in the host mapping.
   -->
        
   <complexType name="hostAttrType">
    <sequence>
      <element name="hostName" type="eppcom:labelType"/>
      <element name="hostAddr" type="host:addrType"
       minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
   </complexType>
   <!--
   If attributes, addresses are optional and follow the
   structure defined in the host mapping.
   -->
        
   <complexType name="contactType">
    <simpleContent>
      <extension base="eppcom:clIDType">
        <attribute name="type" type="domain:contactAttrType"/>
      </extension>
    </simpleContent>
   </complexType>
        
   <complexType name="contactType">
    <simpleContent>
      <extension base="eppcom:clIDType">
        <attribute name="type" type="domain:contactAttrType"/>
      </extension>
    </simpleContent>
   </complexType>
        
   <simpleType name="contactAttrType">
    <restriction base="token">
      <enumeration value="admin"/>
      <enumeration value="billing"/>
      <enumeration value="tech"/>
    </restriction>
   </simpleType>
        
   <simpleType name="contactAttrType">
    <restriction base="token">
      <enumeration value="admin"/>
      <enumeration value="billing"/>
      <enumeration value="tech"/>
    </restriction>
   </simpleType>
        
   <complexType name="authInfoType">
    <choice>
      <element name="pw" type="eppcom:pwAuthInfoType"/>
      <element name="ext" type="eppcom:extAuthInfoType"/>
    </choice>
   </complexType>
        
   <complexType name="authInfoType">
    <choice>
      <element name="pw" type="eppcom:pwAuthInfoType"/>
      <element name="ext" type="eppcom:extAuthInfoType"/>
    </choice>
   </complexType>
        
   <!--
   Child element of commands that require a single name.
   -->
   <complexType name="sNameType">
    <sequence>
      <element name="name" type="eppcom:labelType"/>
    </sequence>
   </complexType>
   <!--
   Child element of commands that accept multiple names.
   -->
   <complexType name="mNameType">
    <sequence>
        
   <!--
   Child element of commands that require a single name.
   -->
   <complexType name="sNameType">
    <sequence>
      <element name="name" type="eppcom:labelType"/>
    </sequence>
   </complexType>
   <!--
   Child element of commands that accept multiple names.
   -->
   <complexType name="mNameType">
    <sequence>
        
      <element name="name" type="eppcom:labelType"
       maxOccurs="unbounded"/>
    </sequence>
   </complexType>
        
      <element name="name" type="eppcom:labelType"
       maxOccurs="unbounded"/>
    </sequence>
   </complexType>
        
   <!--
   Child elements of the <info> command.
   -->
   <complexType name="infoType">
    <sequence>
      <element name="name" type="domain:infoNameType"/>
      <element name="authInfo" type="domain:authInfoType"
       minOccurs="0"/>
    </sequence>
   </complexType>
        
   <!--
   Child elements of the <info> command.
   -->
   <complexType name="infoType">
    <sequence>
      <element name="name" type="domain:infoNameType"/>
      <element name="authInfo" type="domain:authInfoType"
       minOccurs="0"/>
    </sequence>
   </complexType>
        
   <complexType name="infoNameType">
    <simpleContent>
      <extension base = "eppcom:labelType">
        <attribute name="hosts" type="domain:hostsType"
         default="all"/>
      </extension>
    </simpleContent>
   </complexType>
        
   <complexType name="infoNameType">
    <simpleContent>
      <extension base = "eppcom:labelType">
        <attribute name="hosts" type="domain:hostsType"
         default="all"/>
      </extension>
    </simpleContent>
   </complexType>
        
   <simpleType name="hostsType">
    <restriction base="token">
      <enumeration value="all"/>
      <enumeration value="del"/>
      <enumeration value="none"/>
      <enumeration value="sub"/>
    </restriction>
   </simpleType>
        
   <simpleType name="hostsType">
    <restriction base="token">
      <enumeration value="all"/>
      <enumeration value="del"/>
      <enumeration value="none"/>
      <enumeration value="sub"/>
    </restriction>
   </simpleType>
        
   <!--
   Child elements of the <renew> command.
   -->
   <complexType name="renewType">
    <sequence>
      <element name="name" type="eppcom:labelType"/>
      <element name="curExpDate" type="date"/>
      <element name="period" type="domain:periodType"
       minOccurs="0"/>
    </sequence>
   </complexType>
        
   <!--
   Child elements of the <renew> command.
   -->
   <complexType name="renewType">
    <sequence>
      <element name="name" type="eppcom:labelType"/>
      <element name="curExpDate" type="date"/>
      <element name="period" type="domain:periodType"
       minOccurs="0"/>
    </sequence>
   </complexType>
        

<!-- Child elements of the <transfer> command.

<!-- <transfer>命令的子元素。

   -->
   <complexType name="transferType">
    <sequence>
      <element name="name" type="eppcom:labelType"/>
      <element name="period" type="domain:periodType"
       minOccurs="0"/>
      <element name="authInfo" type="domain:authInfoType"
       minOccurs="0"/>
    </sequence>
   </complexType>
        
   -->
   <complexType name="transferType">
    <sequence>
      <element name="name" type="eppcom:labelType"/>
      <element name="period" type="domain:periodType"
       minOccurs="0"/>
      <element name="authInfo" type="domain:authInfoType"
       minOccurs="0"/>
    </sequence>
   </complexType>
        
   <!--
   Child elements of the <update> command.
   -->
   <complexType name="updateType">
    <sequence>
      <element name="name" type="eppcom:labelType"/>
      <element name="add" type="domain:addRemType"
       minOccurs="0"/>
      <element name="rem" type="domain:addRemType"
       minOccurs="0"/>
      <element name="chg" type="domain:chgType"
       minOccurs="0"/>
    </sequence>
   </complexType>
        
   <!--
   Child elements of the <update> command.
   -->
   <complexType name="updateType">
    <sequence>
      <element name="name" type="eppcom:labelType"/>
      <element name="add" type="domain:addRemType"
       minOccurs="0"/>
      <element name="rem" type="domain:addRemType"
       minOccurs="0"/>
      <element name="chg" type="domain:chgType"
       minOccurs="0"/>
    </sequence>
   </complexType>
        
   <!--
   Data elements that can be added or removed.
   -->
   <complexType name="addRemType">
    <sequence>
      <element name="ns" type="domain:nsType"
       minOccurs="0"/>
      <element name="contact" type="domain:contactType"
       minOccurs="0" maxOccurs="unbounded"/>
      <element name="status" type="domain:statusType"
       minOccurs="0" maxOccurs="11"/>
    </sequence>
   </complexType>
        
   <!--
   Data elements that can be added or removed.
   -->
   <complexType name="addRemType">
    <sequence>
      <element name="ns" type="domain:nsType"
       minOccurs="0"/>
      <element name="contact" type="domain:contactType"
       minOccurs="0" maxOccurs="unbounded"/>
      <element name="status" type="domain:statusType"
       minOccurs="0" maxOccurs="11"/>
    </sequence>
   </complexType>
        
   <!--
   Data elements that can be changed.
   -->
   <complexType name="chgType">
    <sequence>
      <element name="registrant" type="domain:clIDChgType"
       minOccurs="0"/>
      <element name="authInfo" type="domain:authInfoChgType"
        
   <!--
   Data elements that can be changed.
   -->
   <complexType name="chgType">
    <sequence>
      <element name="registrant" type="domain:clIDChgType"
       minOccurs="0"/>
      <element name="authInfo" type="domain:authInfoChgType"
        
       minOccurs="0"/>
    </sequence>
   </complexType>
        
       minOccurs="0"/>
    </sequence>
   </complexType>
        
   <!--
   Allow the registrant value to be nullified by changing the
   minLength restriction to "0".
   -->
   <simpleType name="clIDChgType">
    <restriction base="token">
      <minLength value="0"/>
      <maxLength value="16"/>
    </restriction>
   </simpleType>
        
   <!--
   Allow the registrant value to be nullified by changing the
   minLength restriction to "0".
   -->
   <simpleType name="clIDChgType">
    <restriction base="token">
      <minLength value="0"/>
      <maxLength value="16"/>
    </restriction>
   </simpleType>
        
   <!--
   Allow the authInfo value to be nullified by including an
   empty element within the choice.
   -->
   <complexType name="authInfoChgType">
    <choice>
      <element name="pw" type="eppcom:pwAuthInfoType"/>
      <element name="ext" type="eppcom:extAuthInfoType"/>
      <element name="null"/>
    </choice>
   </complexType>
        
   <!--
   Allow the authInfo value to be nullified by including an
   empty element within the choice.
   -->
   <complexType name="authInfoChgType">
    <choice>
      <element name="pw" type="eppcom:pwAuthInfoType"/>
      <element name="ext" type="eppcom:extAuthInfoType"/>
      <element name="null"/>
    </choice>
   </complexType>
        
   <!--
   Child response elements.
   -->
   <element name="chkData" type="domain:chkDataType"/>
   <element name="creData" type="domain:creDataType"/>
   <element name="infData" type="domain:infDataType"/>
   <element name="panData" type="domain:panDataType"/>
   <element name="renData" type="domain:renDataType"/>
   <element name="trnData" type="domain:trnDataType"/>
        
   <!--
   Child response elements.
   -->
   <element name="chkData" type="domain:chkDataType"/>
   <element name="creData" type="domain:creDataType"/>
   <element name="infData" type="domain:infDataType"/>
   <element name="panData" type="domain:panDataType"/>
   <element name="renData" type="domain:renDataType"/>
   <element name="trnData" type="domain:trnDataType"/>
        
   <!--
   <check> response elements.
   -->
   <complexType name="chkDataType">
    <sequence>
      <element name="cd" type="domain:checkType"
       maxOccurs="unbounded"/>
    </sequence>
   </complexType>
        
   <!--
   <check> response elements.
   -->
   <complexType name="chkDataType">
    <sequence>
      <element name="cd" type="domain:checkType"
       maxOccurs="unbounded"/>
    </sequence>
   </complexType>
        
   <complexType name="checkType">
        
   <complexType name="checkType">
        
    <sequence>
      <element name="name" type="domain:checkNameType"/>
      <element name="reason" type="eppcom:reasonType"
       minOccurs="0"/>
    </sequence>
   </complexType>
        
    <sequence>
      <element name="name" type="domain:checkNameType"/>
      <element name="reason" type="eppcom:reasonType"
       minOccurs="0"/>
    </sequence>
   </complexType>
        
   <complexType name="checkNameType">
    <simpleContent>
      <extension base="eppcom:labelType">
        <attribute name="avail" type="boolean"
         use="required"/>
      </extension>
    </simpleContent>
   </complexType>
        
   <complexType name="checkNameType">
    <simpleContent>
      <extension base="eppcom:labelType">
        <attribute name="avail" type="boolean"
         use="required"/>
      </extension>
    </simpleContent>
   </complexType>
        
   <!--
   <create> response elements.
   -->
   <complexType name="creDataType">
    <sequence>
      <element name="name" type="eppcom:labelType"/>
      <element name="crDate" type="dateTime"/>
      <element name="exDate" type="dateTime"
       minOccurs="0"/>
    </sequence>
   </complexType>
        
   <!--
   <create> response elements.
   -->
   <complexType name="creDataType">
    <sequence>
      <element name="name" type="eppcom:labelType"/>
      <element name="crDate" type="dateTime"/>
      <element name="exDate" type="dateTime"
       minOccurs="0"/>
    </sequence>
   </complexType>
        
   <!--
   <info> response elements.
   -->
   <complexType name="infDataType">
    <sequence>
      <element name="name" type="eppcom:labelType"/>
      <element name="roid" type="eppcom:roidType"/>
      <element name="status" type="domain:statusType"
       minOccurs="0" maxOccurs="11"/>
      <element name="registrant" type="eppcom:clIDType"
       minOccurs="0"/>
      <element name="contact" type="domain:contactType"
       minOccurs="0" maxOccurs="unbounded"/>
      <element name="ns" type="domain:nsType"
       minOccurs="0"/>
      <element name="host" type="eppcom:labelType"
       minOccurs="0" maxOccurs="unbounded"/>
      <element name="clID" type="eppcom:clIDType"/>
      <element name="crID" type="eppcom:clIDType"
       minOccurs="0"/>
        
   <!--
   <info> response elements.
   -->
   <complexType name="infDataType">
    <sequence>
      <element name="name" type="eppcom:labelType"/>
      <element name="roid" type="eppcom:roidType"/>
      <element name="status" type="domain:statusType"
       minOccurs="0" maxOccurs="11"/>
      <element name="registrant" type="eppcom:clIDType"
       minOccurs="0"/>
      <element name="contact" type="domain:contactType"
       minOccurs="0" maxOccurs="unbounded"/>
      <element name="ns" type="domain:nsType"
       minOccurs="0"/>
      <element name="host" type="eppcom:labelType"
       minOccurs="0" maxOccurs="unbounded"/>
      <element name="clID" type="eppcom:clIDType"/>
      <element name="crID" type="eppcom:clIDType"
       minOccurs="0"/>
        
      <element name="crDate" type="dateTime"
       minOccurs="0"/>
      <element name="upID" type="eppcom:clIDType"
       minOccurs="0"/>
      <element name="upDate" type="dateTime"
       minOccurs="0"/>
      <element name="exDate" type="dateTime"
       minOccurs="0"/>
      <element name="trDate" type="dateTime"
       minOccurs="0"/>
      <element name="authInfo" type="domain:authInfoType"
       minOccurs="0"/>
    </sequence>
   </complexType>
        
      <element name="crDate" type="dateTime"
       minOccurs="0"/>
      <element name="upID" type="eppcom:clIDType"
       minOccurs="0"/>
      <element name="upDate" type="dateTime"
       minOccurs="0"/>
      <element name="exDate" type="dateTime"
       minOccurs="0"/>
      <element name="trDate" type="dateTime"
       minOccurs="0"/>
      <element name="authInfo" type="domain:authInfoType"
       minOccurs="0"/>
    </sequence>
   </complexType>
        
   <!--
   Status is a combination of attributes and an optional
   human-readable message that may be expressed in languages other
   than English.
   -->
   <complexType name="statusType">
    <simpleContent>
      <extension base="normalizedString">
        <attribute name="s" type="domain:statusValueType"
         use="required"/>
        <attribute name="lang" type="language"
         default="en"/>
      </extension>
    </simpleContent>
   </complexType>
        
   <!--
   Status is a combination of attributes and an optional
   human-readable message that may be expressed in languages other
   than English.
   -->
   <complexType name="statusType">
    <simpleContent>
      <extension base="normalizedString">
        <attribute name="s" type="domain:statusValueType"
         use="required"/>
        <attribute name="lang" type="language"
         default="en"/>
      </extension>
    </simpleContent>
   </complexType>
        
   <simpleType name="statusValueType">
    <restriction base="token">
      <enumeration value="clientDeleteProhibited"/>
      <enumeration value="clientHold"/>
      <enumeration value="clientRenewProhibited"/>
      <enumeration value="clientTransferProhibited"/>
      <enumeration value="clientUpdateProhibited"/>
      <enumeration value="inactive"/>
      <enumeration value="ok"/>
      <enumeration value="pendingCreate"/>
      <enumeration value="pendingDelete"/>
      <enumeration value="pendingRenew"/>
      <enumeration value="pendingTransfer"/>
      <enumeration value="pendingUpdate"/>
      <enumeration value="serverDeleteProhibited"/>
      <enumeration value="serverHold"/>
      <enumeration value="serverRenewProhibited"/>
        
   <simpleType name="statusValueType">
    <restriction base="token">
      <enumeration value="clientDeleteProhibited"/>
      <enumeration value="clientHold"/>
      <enumeration value="clientRenewProhibited"/>
      <enumeration value="clientTransferProhibited"/>
      <enumeration value="clientUpdateProhibited"/>
      <enumeration value="inactive"/>
      <enumeration value="ok"/>
      <enumeration value="pendingCreate"/>
      <enumeration value="pendingDelete"/>
      <enumeration value="pendingRenew"/>
      <enumeration value="pendingTransfer"/>
      <enumeration value="pendingUpdate"/>
      <enumeration value="serverDeleteProhibited"/>
      <enumeration value="serverHold"/>
      <enumeration value="serverRenewProhibited"/>
        
      <enumeration value="serverTransferProhibited"/>
      <enumeration value="serverUpdateProhibited"/>
    </restriction>
   </simpleType>
        
      <enumeration value="serverTransferProhibited"/>
      <enumeration value="serverUpdateProhibited"/>
    </restriction>
   </simpleType>
        
   <!--
   Pending action notification response elements.
   -->
   <complexType name="panDataType">
    <sequence>
      <element name="name" type="domain:paNameType"/>
      <element name="paTRID" type="epp:trIDType"/>
      <element name="paDate" type="dateTime"/>
    </sequence>
   </complexType>
        
   <!--
   Pending action notification response elements.
   -->
   <complexType name="panDataType">
    <sequence>
      <element name="name" type="domain:paNameType"/>
      <element name="paTRID" type="epp:trIDType"/>
      <element name="paDate" type="dateTime"/>
    </sequence>
   </complexType>
        
   <complexType name="paNameType">
    <simpleContent>
      <extension base="eppcom:labelType">
        <attribute name="paResult" type="boolean"
         use="required"/>
      </extension>
    </simpleContent>
   </complexType>
        
   <complexType name="paNameType">
    <simpleContent>
      <extension base="eppcom:labelType">
        <attribute name="paResult" type="boolean"
         use="required"/>
      </extension>
    </simpleContent>
   </complexType>
        
   <!--
   <renew> response elements.
   -->
   <complexType name="renDataType">
   <sequence>
    <element name="name" type="eppcom:labelType"/>
    <element name="exDate" type="dateTime"
     minOccurs="0"/>
   </sequence>
   </complexType>
        
   <!--
   <renew> response elements.
   -->
   <complexType name="renDataType">
   <sequence>
    <element name="name" type="eppcom:labelType"/>
    <element name="exDate" type="dateTime"
     minOccurs="0"/>
   </sequence>
   </complexType>
        
   <!--
   <transfer> response elements.
   -->
   <complexType name="trnDataType">
   <sequence>
    <element name="name" type="eppcom:labelType"/>
    <element name="trStatus" type="eppcom:trStatusType"/>
    <element name="reID" type="eppcom:clIDType"/>
    <element name="reDate" type="dateTime"/>
    <element name="acID" type="eppcom:clIDType"/>
    <element name="acDate" type="dateTime"/>
    <element name="exDate" type="dateTime"
        
   <!--
   <transfer> response elements.
   -->
   <complexType name="trnDataType">
   <sequence>
    <element name="name" type="eppcom:labelType"/>
    <element name="trStatus" type="eppcom:trStatusType"/>
    <element name="reID" type="eppcom:clIDType"/>
    <element name="reDate" type="dateTime"/>
    <element name="acID" type="eppcom:clIDType"/>
    <element name="acDate" type="dateTime"/>
    <element name="exDate" type="dateTime"
        
     minOccurs="0"/>
   </sequence>
   </complexType>
        
     minOccurs="0"/>
   </sequence>
   </complexType>
        

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

<!-- 架构结束。--></架构>结束

5. Internationalization Considerations
5. 国际化考虑

EPP is represented in XML, which provides native support for encoding information using the Unicode character set and its more compact representations including UTF-8. Conformant XML processors recognize both UTF-8 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 in environments where parser encoding support incompatibility exists.

EPP用XML表示,它为使用Unicode字符集及其更紧凑的表示(包括UTF-8)编码信息提供了本机支持。一致性XML处理器同时识别UTF-8和UTF-16[RFC2781]。尽管XML包含通过在<?XML?>声明中使用“encoding”属性来识别和使用其他字符编码的规定,但在解析器编码支持不兼容的环境中,建议使用UTF-8。

All date-time values presented via EPP MUST be expressed in Universal Coordinated Time using the Gregorian calendar. XML Schema allows use of time zone identifiers to indicate offsets from the zero meridian, but this option MUST NOT be used with EPP. The extended date-time form using upper case "T" and "Z" characters defined in [W3C.REC-xmlschema-2-20041028] MUST be used to represent date-time values as XML Schema does not support truncated date-time forms or lower case "T" and "Z" characters.

通过EPP提供的所有日期时间值必须使用公历以全球协调时间表示。XML模式允许使用时区标识符来指示从零子午线的偏移,但此选项不得与EPP一起使用。必须使用[W3C.REC-xmlschema-2-20041028]中定义的大写“T”和“Z”字符的扩展日期时间表单来表示日期时间值,因为XML模式不支持截断日期时间表单或小写“T”和“Z”字符。

This document requires domain and host name syntax as specified in [RFC0952] as updated by [RFC1123]. At the time of this writing, RFC 3490 [RFC3490] describes a standard to use certain ASCII name labels to represent non-ASCII name labels. These conformance requirements might change as a result of progressing work in developing standards for internationalized domain names.

本文档需要[RFC0952]中指定的域名和主机名语法,并由[RFC1123]更新。在撰写本文时,RFC 3490[RFC3490]描述了使用某些ASCII名称标签来表示非ASCII名称标签的标准。这些一致性要求可能会随着国际化域名标准开发工作的进展而发生变化。

6. IANA Considerations
6. IANA考虑

This document uses URNs to describe XML namespaces and XML schemas conforming to a registry mechanism described in [RFC3688]. Two URI assignments have been registered by the IANA.

本文档使用URN来描述符合[RFC3688]中描述的注册表机制的XML名称空间和XML模式。IANA已经注册了两个URI分配。

Registration request for the domain namespace:

域命名空间的注册请求:

   URI: urn:ietf:params:xml:ns:domain-1.0
        
   URI: urn:ietf:params:xml:ns:domain-1.0
        

Registrant Contact: See the "Author's Address" section of this document.

注册人联系人:请参阅本文件的“作者地址”部分。

XML: None. Namespace URIs do not represent an XML specification.

XML:没有。命名空间URI不表示XML规范。

Registration request for the domain XML schema:

域XML架构的注册请求:

   URI: urn:ietf:params:xml:schema:domain-1.0
        
   URI: urn:ietf:params:xml:schema:domain-1.0
        

Registrant Contact: See the "Author's Address" section of this document.

注册人联系人:请参阅本文件的“作者地址”部分。

XML: See the "Formal Syntax" section of this document.

XML:请参阅本文档的“正式语法”部分。

7. Security Considerations
7. 安全考虑

Authorization information as described in section 2.6 is REQUIRED to create a domain object. This information is used in some query and transfer operations as an additional means of determining client authorization to perform the command. Failure to protect authorization information from inadvertent disclosure can result in unauthorized transfer operations and unauthorized information release. Both client and server MUST ensure that authorization information is stored and exchanged with high-grade encryption mechanisms to provide privacy services.

创建域对象需要第2.6节中描述的授权信息。此信息在某些查询和传输操作中用作确定执行命令的客户端授权的附加手段。未能保护授权信息不被无意中泄露可能会导致未经授权的传输操作和未经授权的信息发布。客户端和服务器都必须确保使用高级加密机制存储和交换授权信息,以提供隐私服务。

The object mapping described in this document does not provide any other security services or introduce any additional considerations beyond those described by [RFC4930] and protocol layers used by EPP.

本文档中描述的对象映射不提供任何其他安全服务,也不引入任何超出[RFC4930]和EPP使用的协议层所描述的其他注意事项。

8. Acknowledgements
8. 致谢

This document was originally written as an individual submission Internet-Draft. The PROVREG working group later adopted it as a working group document and provided many invaluable comments and suggested improvements. The author wishes to acknowledge the efforts of WG chairs Edward Lewis and Jaap Akkerhuis for their process and editorial contributions.

本文件最初是作为个人提交的互联网草案编写的。PROVREG工作组后来将其作为工作组文件通过,并提出了许多宝贵的意见和改进建议。作者希望感谢工作组主席Edward Lewis和Jaap Akkerhuis的工作过程和编辑贡献。

Specific suggestions that have been incorporated into this document were provided by Joe Abley, Chris Bason, Eric Brunner-Williams, Jordyn Buchanan, Dave Crocker, Ayesha Damaraju, Anthony Eden, Sheer El-Showk, Klaus Malorny, Dan Manley, Michael Mealling, Patrick Mevzek, Asbjorn Steira, Bruce Tonkin, and Rick Wesson.

Joe Abley、Chris Bason、Eric Brunner Williams、Jordyn Buchanan、Dave Crocker、Ayesa Damaraju、Anthony Eden、Sheer El Showk、Klaus Malorny、Dan Manley、Michael Melling、Patrick Mevzek、Asbjorn Steira、Bruce Tonkin和Rick Wesson提供了纳入本文件的具体建议。

9. References
9. 工具书类
9.1. Normative References
9.1. 规范性引用文件

[RFC0952] Harrenstien, K., Stahl, M., and E. Feinler, "DoD Internet host table specification", RFC 952, October 1985.

[RFC0952]Harrenstien,K.,Stahl,M.和E.Feinler,“国防部互联网主机表规范”,RFC 952,1985年10月。

[RFC1123] Braden, R., "Requirements for Internet Hosts - Application and Support", STD 3, RFC 1123, October 1989.

[RFC1123]Braden,R.,“互联网主机的要求-应用和支持”,STD 3,RFC 1123,1989年10月。

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。

[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, January 2004.

[RFC3688]Mealling,M.“IETF XML注册表”,BCP 81,RFC 3688,2004年1月。

[RFC4930] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", RFC 4930, May 2007.

[RFC4930]Hollenbeck,S.,“可扩展资源调配协议(EPP)”,RFC 4930,2007年5月。

[RFC4932] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) Host Mapping", RFC 4932, May 2007.

[RFC4932]Hollenbeck,S.,“可扩展资源调配协议(EPP)主机映射”,RFC 4932,2007年5月。

[RFC4933] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) Contact Mapping", RFC 4933, May 2007.

[RFC4933]Hollenbeck,S.,“可扩展资源调配协议(EPP)联系人映射”,RFC 4933,2007年5月。

[W3C.REC-xml-20040204] Maler, E., Yergeau, F., Paoli, J., Bray, T., and C. Sperberg-McQueen, "Extensible Markup Language (XML) 1.0 (Third Edition)", World Wide Web Consortium FirstEdition REC-xml-20040204, February 2004, <http://www.w3.org/TR/2004/REC-xml-20040204>.

[W3C.REC-xml-20040204]Maler,E.,Yergeau,F.,Paoli,J.,Bray,T.,和C.Sperberg McQueen,“可扩展标记语言(xml)1.0(第三版)”,万维网联盟第一版REC-xml-20040204,2004年2月<http://www.w3.org/TR/2004/REC-xml-20040204>.

[W3C.REC-xmlschema-1-20041028] Thompson, H., Maloney, M., Mendelsohn, N., and D. Beech, "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-1-20041028]Thompson,H.,Maloney,M.,Mendelsohn,N.,和D.Beech,“XML模式第1部分:结构第二版”,万维网联盟建议REC-xmlschema-1-20041028,2004年10月<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>.

[W3C.REC-xmlschema-2-20041028]Biron,P.和A.Malhotra,“XML模式第2部分:数据类型第二版”,万维网联盟建议REC-xmlschema-2-20041028,2004年10月<http://www.w3.org/TR/2004/REC-xmlschema-2-20041028>.

9.2. Informative References
9.2. 资料性引用

[RFC2781] Hoffman, P. and F. Yergeau, "UTF-16, an encoding of ISO 10646", RFC 2781, February 2000.

[RFC2781]Hoffman,P.和F.Yergeau,“UTF-16,ISO 10646编码”,RFC 2781,2000年2月。

[RFC3490] Faltstrom, P., Hoffman, P., and A. Costello, "Internationalizing Domain Names in Applications (IDNA)", RFC 3490, March 2003.

[RFC3490]Faltstrom,P.,Hoffman,P.,和A.Costello,“应用程序中的域名国际化(IDNA)”,RFC 34902003年3月。

[RFC3731] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) Domain Name Mapping", RFC 3731, March 2004.

[RFC3731]Hollenbeck,S.,“可扩展资源调配协议(EPP)域名映射”,RFC 37312004年3月。

Appendix A. Changes from RFC 3731
附录A.RFC 3731的变更

1. Minor reformatting as a result of converting I-D source format from nroff to XML.

1. 由于将I-D源格式从nroff转换为XML,因此需要进行较小的重新格式化。

2. Removed this text from Section 2.3:

2. 从第2.3节中删除此文本:

"With one exception, transform commands MUST be rejected when a pendingCreate, pendingDelete, pendingRenew, pendingTransfer, or pendingUpdate status is set. The only exception is that a <transfer> command to approve, reject, or cancel a transfer MAY be processed while an object is in "pendingTransfer" status."

只有一个例外,当设置pendingCreate、pendingDelete、pendingRenew、pendingTransfer或pendingUpdate状态时,必须拒绝转换命令。唯一的例外是,当对象处于“pendingTransfer”状态时,可以处理批准、拒绝或取消传输的<transfer>命令

3. Changed text in Section 3.1.3 from "A <domain:acID> element that contains the identifier of the client that SHOULD act upon the transfer request" to "A <domain:acID> element that contains the identifier of the client that SHOULD act upon a PENDING transfer request. For all other status types, the value identifies the client that took the indicated action".

3. 将第3.1.3节中的文本从“包含应根据传输请求采取行动的客户端标识符的<domain:acID>元素”更改为“一个<domain:acID>元素,包含应根据挂起的传输请求进行操作的客户端的标识符。对于所有其他状态类型,该值标识执行指定操作的客户端”。

4. Changed text in Section 3.2.5 (old Section 3.2.1.4) from "At least one <domain:add>, <domain:rem>, or <domain:chg> element MUST be provided." to "At least one <domain:add>, <domain:rem>, or <domain:chg> element MUST be provided if the command is not being extended. All of these elements MAY be omitted if an <update> extension is present."

4. 将第3.2.5节(旧的第3.2.1.4节)中的文本从“必须提供至少一个<domain:add>、<domain:rem>或<domain:chg>元素”更改为“如果命令未扩展,则必须提供至少一个<domain:add>、<domain:rem>或<domain:chg>元素。如果存在<update>扩展,则可以省略所有这些元素。”

5. Renumbered old Section 3.2.6 to new Section 3.3.

5. 将旧的第3.2.6节重新编号为新的第3.3节。

6. Changed text in Section 3.3 (old Section 3.2.6) from this:

6. 将第3.3节(旧的第3.2.6节)中的文本更改为:

"The server operator reviews the request offline, and informs the client of the outcome of the review by queuing a service message for retrieval via the <poll> command."

服务器操作员脱机审查请求,并通过<poll>命令将服务消息排队以供检索,从而将审查结果通知客户端

to this:

为此:

"The server operator reviews the request offline, and informs the client of the outcome of the review either by queuing a service message for retrieval via the <poll> command or by using an out-of-band mechanism to inform the client of the request."

服务器操作员脱机审查请求,并通过将服务消息排队等待通过<poll>命令检索或使用带外机制通知客户端该请求,将审查结果通知客户端

7. Removed text describing use of the XML Schema schemaLocation attribute. This is an optional attribute that doesn't need to be mandated for use in EPP.

7. 已删除描述使用XML架构schemaLocation属性的文本。这是一个可选属性,不需要强制在EPP中使用。

8. Removed references to RFC 3339 and replaced them with references to the W3C XML Schema specification.

8. 删除了对RFC 3339的引用,并将其替换为对W3C XML模式规范的引用。

9. Updated EPP and XML references.

9. 更新了EPP和XML引用。

Author's Address

作者地址

Scott Hollenbeck VeriSign, Inc. 21345 Ridgetop Circle Dulles, VA 20166-6503 US

Scott Hollenbeck VeriSign,Inc.美国弗吉尼亚州杜勒斯Ridgetop Circle 21345,邮编20166-6503

   EMail: shollenbeck@verisign.com
        
   EMail: shollenbeck@verisign.com
        

Full Copyright Statement

完整版权声明

Copyright (C) The IETF Trust (2007).

版权所有(C)IETF信托基金(2007年)。

This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.

本文件受BCP 78中包含的权利、许可和限制的约束,除其中规定外,作者保留其所有权利。

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

本文件及其包含的信息以“原样”为基础提供,贡献者、他/她所代表或赞助的组织(如有)、互联网协会、IETF信托基金和互联网工程任务组不承担任何明示或暗示的担保,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。

Intellectual Property

知识产权

The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.

IETF对可能声称与本文件所述技术的实施或使用有关的任何知识产权或其他权利的有效性或范围,或此类权利下的任何许可可能或可能不可用的程度,不采取任何立场;它也不表示它已作出任何独立努力来确定任何此类权利。有关RFC文件中权利的程序信息,请参见BCP 78和BCP 79。

Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.

向IETF秘书处披露的知识产权副本和任何许可证保证,或本规范实施者或用户试图获得使用此类专有权利的一般许可证或许可的结果,可从IETF在线知识产权存储库获取,网址为http://www.ietf.org/ipr.

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.

IETF邀请任何相关方提请其注意任何版权、专利或专利申请,或其他可能涵盖实施本标准所需技术的专有权利。请将信息发送至IETF的IETF-ipr@ietf.org.

Acknowledgement

确认

Funding for the RFC Editor function is currently provided by the Internet Society.

RFC编辑功能的资金目前由互联网协会提供。