diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
commit | 4bfd864f10b68b71482b35c818559068ef8d5797 (patch) | |
tree | e3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc9022.txt | |
parent | ea76e11061bda059ae9f9ad130a9895cc85607db (diff) |
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc9022.txt')
-rw-r--r-- | doc/rfc/rfc9022.txt | 7748 |
1 files changed, 7748 insertions, 0 deletions
diff --git a/doc/rfc/rfc9022.txt b/doc/rfc/rfc9022.txt new file mode 100644 index 0000000..127de19 --- /dev/null +++ b/doc/rfc/rfc9022.txt @@ -0,0 +1,7748 @@ + + + + +Internet Engineering Task Force (IETF) G. Lozano +Request for Comments: 9022 ICANN +Category: Standards Track J. Gould +ISSN: 2070-1721 C. Thippeswamy + VeriSign + May 2021 + + + Domain Name Registration Data (DNRD) Objects Mapping + +Abstract + + This document specifies the format, contents, and semantics of Domain + Name Registration Data (DNRD) escrow deposits for a domain name + registry. + +Status of This Memo + + This is an Internet Standards Track document. + + This document is a product of the Internet Engineering Task Force + (IETF). It represents the consensus of the IETF community. It has + received public review and has been approved for publication by the + Internet Engineering Steering Group (IESG). Further information on + Internet Standards is available in Section 2 of RFC 7841. + + Information about the current status of this document, any errata, + and how to provide feedback on it may be obtained at + https://www.rfc-editor.org/info/rfc9022. + +Copyright Notice + + Copyright (c) 2021 IETF Trust and the persons identified as the + document authors. All rights reserved. + + This document is subject to BCP 78 and the IETF Trust's Legal + Provisions Relating to IETF Documents + (https://trustee.ietf.org/license-info) in effect on the date of + publication of this document. Please review these documents + carefully, as they describe your rights and restrictions with respect + to this document. Code Components extracted from this document must + include Simplified BSD License text as described in Section 4.e of + the Trust Legal Provisions and are provided without warranty as + described in the Simplified BSD License. + +Table of Contents + + 1. Introduction + 2. Models + 2.1. XML Model + 2.2. CSV Model + 3. Terminology + 3.1. Glossary + 4. Conventions Used in This Document + 4.1. Date and Time + 4.2. Country Names + 4.3. Telephone Numbers + 4.4. CSV Integrity Check + 4.5. IP Addresses + 4.6. Conventions Applicable to the CSV Model + 5. Object Description + 5.1. Domain Name Object + 5.2. Host Object + 5.3. Contact Object + 5.4. Registrar Object + 5.5. IDN Table Reference Object + 5.6. NNDN Object + 5.7. EPP Parameters Object + 5.8. Policy Object + 5.9. Header Object + 5.10. DNRD Common Objects Collection + 6. RDE IDN Variants Handling + 7. Profile + 8. Data Escrow Agent Extended Verification Process + 9. Formal Syntax + 9.1. RDE CSV Schema + 9.2. RDE Domain Object + 9.3. CSV Domain Object + 9.4. RDE Host Object + 9.5. CSV Host Object + 9.6. RDE Contact Object + 9.7. CSV Contact Object + 9.8. RDE Registrar Object + 9.9. CSV Registrar Object + 9.10. RDE IDN Table Reference Objects + 9.11. CSV IDN Language Object + 9.12. EPP Parameters Object + 9.13. NNDN Object + 9.14. CSV NNDN Object + 9.15. Policy Object + 9.16. Header Object + 9.17. DNRD Common Objects + 10. Internationalization Considerations + 11. IANA Considerations + 12. Security Considerations + 13. Privacy Considerations + 14. Example of a Full Deposit Using the XML Model + 15. Example of a Differential Deposit Using the XML Model + 16. Example of a Full Deposit Using the CSV Model + 17. Example of a Differential Deposit Using the CSV Model + 18. References + 18.1. Normative References + 18.2. Informative References + Acknowledgments + Authors' Addresses + +1. Introduction + + Registry Data Escrow (RDE) is the process by which a registry + periodically submits data deposits to a third party called an escrow + agent. These deposits comprise the minimum data needed by a third + party to resume operations if the registry cannot function and is + unable or unwilling to facilitate an orderly transfer of service. + For example, for a domain name registry or registrar, the data to be + deposited would include all the objects related to registered domain + names, e.g., names, contacts, name servers, etc. + + The goal of data escrow is higher resiliency of registration services + for the benefit of Internet users. The beneficiaries of a registry + are not just those registering information there, but also the users + of services relying on the registry data. + + In the context of domain name registries, registration data escrow is + a requirement for generic top-level domains (e.g., Specification 2 of + the ICANN Base Registry Agreement, see [ICANN-GTLD-RA-20170731]) and + some country code top-level domain managers are also currently + escrowing data. There is also a similar requirement for ICANN- + accredited domain registrars. + + This document defines the standard set of objects for a domain name + registry that uses the Registry Data Escrow Specification described + in [RFC8909] for escrow. The set of objects include: + + Domain: Internet domain names that are typically provisioned in a + domain name registry using the Extensible Provisioning Protocol + (EPP) domain name mapping [RFC5731]. The attributes defined in + the EPP domain name mapping [RFC5731] are fully supported by this + document. + + Host: Internet host names that are typically provisioned in a domain + name registry using the EPP host mapping [RFC5732]. The + attributes defined in the EPP host mapping [RFC5732] are fully + supported by this document. + + Contact: Individual or organization social information provisioned + in a domain name registry using the EPP contact mapping [RFC5733]. + The attributes defined in the EPP contact mapping [RFC5733] are + fully supported by this document. + + Registrar: The organization that sponsors objects like domains, + hosts, and contacts in a domain name registry. + + NNDN (NNDN's not domain name): Domain Name Registries may maintain + domain names without being persisted as domain objects in the + registry system, for example, a list of reserved names not + available for registration. The NNDN is a lightweight domain-like + object that is used to escrow domain names not maintained as + domain name objects. + + This document defines the following pseudo-objects: + + IDN table reference: Internationalized Domain Names (IDN) included + in the domain object data escrow include references to the IDN + table and policy used in IDN registration. + + EPP parameters: Contains the EPP parameters supported by the + registry operator. + + Header: Used to specify counters of objects in the database at a + certain point in time (Timeline Watermark). + + Policy: Used to specify OPTIONAL elements from this specification + that are REQUIRED based on the business model of the registry. + + Extensible Markup Language (XML) 1.0 as described in + [W3C.REC-xml-20081126] and XML Schema notation as described in + [W3C.REC-xmlschema-1-20041028] and [W3C.REC-xmlschema-2-20041028] are + used in this specification. + +2. Models + + This document defines two different models that can be used to + deposit data escrow objects: XML and CSV (comma-separated values). + + The data escrow deposit MAY contain a mix of both models, but an + object MUST be escrowed only in one model. + + This document does not suggest the use of a particular model, and + both are equivalent. A domain name registry may choose the model + that is more appropriate for the peculiarities of its systems. For + example, a registry may use the CSV-export functionality of the + Relational Database Management System (RDBMS) for escrow; therefore, + the CSV model may be more appropriate. Another registry may use the + code developed for EPP to implement escrow. + +2.1. XML Model + + The XML model includes all the deposit information (metadata and + data) in an XML document. The definition of the XML format is fully + defined in the XML schemas. As a convention, the objects represented + using the XML model are referenced using RDE and an XML namespace + that is prefixed with "rde". For example, the Domain Name object + represented using the XML model can be referred to as the RDE Domain + Name with the XML namespace including rdeDomain + (urn:ietf:params:xml:ns:rdeDomain-1.0). + +2.2. CSV Model + + The CSV model uses XML to define the data escrow format of the data + contained in referenced CSV files. As a convention, the objects + represented using the CSV model is referenced using CSV and an XML + namespace that is prefixed with "csv". For example, the domain name + object represented using the CSV model can be referred to as the CSV + Domain Name with the XML namespace including csvDomain + (urn:ietf:params:xml:ns:csvDomain-1.0). + +3. Terminology + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", + "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and + "OPTIONAL" in this document are to be interpreted as described in + BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all + capitals, as shown here. + +3.1. Glossary + + In the following section, the most common terms are briefly + explained: + + Allocated: A status of some label with respect to a zone, whereby + the label is associated administratively to some entity that has + requested the label. This term (and its cognates "allocation" and + "to allocate") may represent the first step on the way to + delegation in the DNS. + + Comma-Separated Values (CSV): See [RFC4180]. + + Domain Name: See the definition of Domain Name in Section 2 of + [RFC8499]. + + Extensible Provisioning Protocol (EPP): See the definition of the + Extensible Provisioning Protocol in Section 9 of [RFC8499]. + + Fully-Qualified Domain Name (FQDN): See the definition of FQDN in + Section 2 of [RFC8499]. + + Internationalized Domain Name (IDN): See the definition of + Internationalized Domain Name in Section 2 of [RFC8499]. + + Label See the definition of Label in Section 2 of [RFC8499]. + + Registrant: See the definition of Registrant in Section 9 of + [RFC8499]. + + Registrar: See the definition of Registrar in Section 9 of + [RFC8499]. + + Registry: See the definition of Registry in Section 9 of [RFC8499]. + + Registry-Class Domain Name (RCDN): Refers to a top-level domain + (TLD) or any other domain name at any level in the DNS tree for + which a registry (either directly or through an affiliate company) + provides Registry Services for other organizations or individuals. + For example: .COM, .ORG, .BIZ, .CO.JP, .B.BR. + + Registry Data Escrow (RDE): Registry Data Escrow is the process by + which a registry periodically submits data deposits to a third + party called an escrow agent. These deposits comprise the minimum + data needed by a third party to resume operations if the registry + cannot function and is unable or unwilling to facilitate an + orderly transfer of service. + + Registry Services: Services offered by the registry critical to the + following tasks: the provisioning of domain names on receipt of + requests and data from registrars; responding to registrar queries + for status information relating to the DNS servers for the RCDN; + dissemination of RCDN zone files; operation of the registry DNS + servers; responding to queries for contact and other information + concerning DNS registrations in the RCDN; and any other products + or services that only a registry is capable of providing, by + reason of its designation as the registry. Typical examples of + Registry Services are DNS resolution for the RCDN, WHOIS, and EPP. + + SRS: Shared Registration System, see also [ICANN-GTLD-AGB-20120604]. + + Top-Level Domain Name (TLD): See the definition of Top-Level Domain + in Section 2 of [RFC8499]. + + UTC: Coordinated Universal Time, as maintained by the Bureau + International des Poids et Mesures (BIPM), see also [RFC3339]. + +4. Conventions Used in This Document + +4.1. Date and Time + + Numerous fields indicate "dates", such as the creation and expiry + dates for domain names. These fields SHALL contain timestamps + indicating the date and time in UTC as specified in [RFC3339], with + no offset from the zero meridian. + +4.2. Country Names + + Country identifiers SHALL be represented using two character + identifiers as specified in [ISO-3166-1]. + +4.3. Telephone Numbers + + Telephone numbers (both voice and facsimile) SHALL be formatted based + on structures defined in [ITU-E164]. Telephone numbers described in + this specification are character strings that MUST begin with a plus + sign ("+", ASCII value 0x2B), followed by a country code defined in + [ITU-E164], followed by a dot (".", ASCII value 0x2E), followed by a + sequence of digits representing the telephone number. + +4.4. CSV Integrity Check + + A checksum MAY be used to verify the integrity of the CSV files, for + example, if another layer (i.e., encryption of an archive containing + the deposit files) does not provide integrity. By default, the CRC32 + algorithm (see Section 8.1.1.6.2 of [V42]) is used. A stronger + algorithm, such as SHA-256 (see [RFC6234]) MAY be used for enhanced + security if required. + +4.5. IP Addresses + + The syntax of IP addresses MUST conform to the text representation of + either Internet Protocol Version 4 [RFC0791] or Internet Protocol + Version 6 [RFC5952]. + +4.6. Conventions Applicable to the CSV Model + +4.6.1. CSV Parent Child Relationship + + The CSV model represents a relational model where the CSV files + represent relational tables, the fields of the CSV files represent + columns of the tables, and each line of the CSV file represents a + record. As in a relational model, the CSV files can have + relationships utilizing primary keys in the parent CSV file + definitions and foreign keys in the child CSV file definitions for a + one-to-many relationship. The primary keys are not explicitly + defined, but the foreign keys are using the boolean "parent" field + attribute in the child CSV file. The relationships between the CSV + files are used to support a cascade replace or cascade delete of + records starting from the parent record in Differential and + Incremental Deposits (see [RFC8909]). + + The following is an example of the CSV file definitions, using the + element <rdeCsv:csv> (see Section 4.6.2.1), for a Sample object + consisting of a parent "sample" CSV File Definition and a child + "sampleStatuses" CSV File Definition. The primary key for the Sample + object is the field <csvSample:fName> that is used as the foreign key + in the "sampleStatuses" CSV File Definition by specifying the + "parent=true" attribute. If a Sample record is updated or deleted in + a Differential or Incremental Deposit, it should cascade replace the + data using the records included in the child "sampleStatuses" CSV + File Definition or cascade delete the existing records in the child + "sampleStatuses" CSV File Definition, respectively. + + <csvSample:contents> + ... + <rdeCsv:csv name="sample" sep=","> + <rdeCsv:fields> + <csvSample:fName/> + <rdeCsv:fClID/> + <rdeCsv:fCrRr/> + <rdeCsv:fCrID/> + <rdeCsv:fCrDate/> + <rdeCsv:fUpRr/> + <rdeCsv:fUpID/> + <rdeCsv:fUpDate/> + <rdeCsv:fExDate/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="75E2D22F"> + sample-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="sampleStatuses" sep=","> + <rdeCsv:fields> + <csvSample:fName parent="true"/> + <csvSample:fStatus/> + <rdeCsv:fStatusDescription/> + <rdeCsv:fLang/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="EB9C558E"> + sampleStatuses-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvSample:contents> + +4.6.2. CSV Elements + +4.6.2.1. <rdeCsv:csv> Element + + To support the CSV model, an element is defined for each object that + substitutes for the <rde:content> element and for the <rde:delete> + element, that contains one or more <rdeCsv:csv> elements. For + example, the 'Domain Name Object' (Section 5.1) defines the + <csvDomain:contents> element, that substitutes for the <rde:content> + element, and the <csvDomain:deletes> element, that substitutes for + the <rde:delete> element. Both the <csvDomain:contents> element and + the <csvDomain:deletes> elements contain one or more <rdeCsv:csv> + elements. The <rdeCsv:csv> element has the following child elements: + + <rdeCsv:fields> Ordered list of CSV fields used in the CSV files. + There are one or more child elements that substitute for the + <rdeCsv:field> abstract element. Each element defines the format + of the CSV field contained in the CSV files. The <rdeCsv:field> + elements support the "type" attribute that defines the XML simple + data type of the field element. The <rdeCsv:field> elements + support the "isRequired" attribute, which has a default value of + "false". When set to "true", this indicates that the field must + be non-empty in the CSV files, and when set to "false", this + indicates that the field MAY be empty in the CSV files. The + "isRequired" attribute MAY be specifically set for the field + elements within the XML schema and MAY be overridden when + specifying the fields under the <rdeCsv:fields> element. The + <rdeCsv:field> element supports an OPTIONAL "parent" attribute + that identifies the field as a reference to a parent object, as + defined in the 'CSV Parent Child Relationship' (Section 4.6.1). + For example, the <rdeCsv:csv name="domainStatuses"> + <csvDomain:fName> field SHOULD set the "parent" attribute to + "true" to identify it as the parent domain name of the domain + status. + + <rdeCsv:files> A list of one or more CSV files using the + <rdeCsv:file> child element. The <rdeCsv:file> child element + defines a reference to the CSV file name and has the following + optional attributes: + + compression If the CSV file is compressed, the "compression" + attribute defines the compression format. For example, setting + this attribute to "gzip" signals that the CSV file is + compressed using the GZIP file format (see [RFC1952]). The + supported compression formats are negotiated out of band. + + encoding Defines the encoding of the CSV file with the default + encoding of "UTF-8". + + cksum Defines the checksum of the CSV file, as described in + Section 4.4, using the algorithm defined by the "cksumAlg" + attribute. If the "cksumAlg" attribute is not present, the + checksum is calculated using "CRC32". + + cksumAlg Defines the checksum algorithm used to calculate the + "cksum" attribute, with the default value of "CRC32". If the + value "SHA256" is specified, the SHA-256 algorithm (see + [RFC6234]) MUST be used to calculate the "cksum" attribute. + Parties receiving and processing data escrow deposits MUST + support CRC32 and SHA-256. If this attribute is present, the + "cksum" attribute MUST also be present. Additional checksum + algorithms are negotiated out of band. + + The <rdeCsv:csv> element requires a "name" attribute that defines the + purpose of the CSV file with values like "domain", "host", "contact". + The supported "name" attribute values are defined for each object + type. The OPTIONAL "sep" attribute defines the CSV separator + character with the default separator character of ",". The need for + quoting or escaping of the CSV data could be avoided by choosing a + separator character that is not in the data set of the CSV files. + + The following is an example of the <csvDomain:contents> <rdeCsv:csv> + element for domain name records where the <rdeCsv:fRegistrant> is set + as required with isRequired="true". + + <csvDomain:contents> + ... + <rdeCsv:csv name="domain" sep=","> + <rdeCsv:fields> + <csvDomain:fName/> + <rdeCsv:fRoid/> + <rdeCsv:fIdnTableId/> + <csvDomain:fOriginalName/> + <rdeCsv:fRegistrant isRequired="true"/> + <rdeCsv:fClID/> + <rdeCsv:fCrRr/> + <rdeCsv:fCrID/> + <rdeCsv:fCrDate/> + <rdeCsv:fUpRr/> + <rdeCsv:fUpID/> + <rdeCsv:fUpDate/> + <rdeCsv:fExDate/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="75E2D01F"> + domain-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvDomain:contents> + + The following is an example of the domain-YYYYMMDD.csv file with one + record matching the <rdeCsv:fields> definition. + + domain1.example,Ddomain2-TEST,,,registrantid,registrarX,registrarX, + clientY,2009-04-03T22:00:00.0Z,registrarX,clientY, + 2009-12-03T09:05:00.0Z,2025-04-03T22:00:00.0Z + + The following is an example of the <csvDomain:deletes> <rdeCsv:csv> + element for domain name records. + + <csvDomain:deletes> + ... + <rdeCsv:csv name="domain"> + <rdeCsv:fields> + <csvDomain:fName/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="6F2B988F"> + domain-delete-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvDomain:deletes> + + The following is example of the domain-delete-YYYYMMDD.csv file with + three records that matches the single <csvDomain:fName> field. + + domain1.example + domain2.example + domainN.example + +4.6.2.2. CSV Common Field Elements + + The <rdeCsv:fields> element defined in the '<rdeCsv:csv> Element' + (Section 4.6.2.1) has child elements that substitute for the abstract + <rdeCsv:field> element. By convention, <rdeCsv:field> elements + include an "f" prefix to identify them as field definition elements. + There are a set of common field elements that are used across + multiple data escrow objects. The common field elements are defined + using the "urn:ietf:params:xml:ns:rdeCsv-1.0" namespace and using the + "rdeCsv" sample namespace prefix. The CSV common field elements + include: + + <rdeCsv:fUName> UTF-8 encoded name field with + type="eppcom:labelType". + + <rdeCsv:fRoid> Repository Object IDentifier (ROID) field with + type="eppcom:roidType" and isRequired="true". + + <rdeCsv:fRegistrant> Registrant contact identifier with + type="eppcom:clIDType". + + <rdeCsv:fStatusDescription> The object status description, which is + free-form text describing the rationale for the status, with + type="normalizedString". + + <rdeCsv:fClID> Identifier of the client (registrar) that sponsors + the object with type="eppcom:clIDType" and isRequired="true". + + <rdeCsv:fCrRr> Identifier of the registrar, defined in Section 5.4, + of the client that created the object with type="eppcom:clIDType". + + <rdeCsv:fCrID> Identifier of the client that created the object with + type="eppcom:clIDType". + + <rdeCsv:fUpRr> Identifier of the registrar, defined in Section 5.4, + of the client that last updated the object with + type="eppcom:clIDType". + + <rdeCsv:fUpID> Identifier of the client that last updated the object + with type="eppcom:clIDType". + + <rdeCsv:fReRr> Identifier of the registrar, defined in Section 5.4, + of the client that requested the transfer with + type="eppcom:clIDType" and isRequired="true". + + <rdeCsv:fReID> Identifier of the client that requested the transfer + with type="eppcom:clIDType". + + <rdeCsv:fAcRr> Identifier of the registrar, defined in Section 5.4, + of the client that should take or took action with + type="eppcom:clIDType" and isRequired="true". + + <rdeCsv:fAcID> Identifier of the client that should take or took + action for transfer with type="eppcom:clIDType". + + <rdeCsv:fCrDate> Created date of object with type="dateTime". + + <rdeCsv:fUpDate> Updated date of object with type="dateTime". + + <rdeCsv:fExDate> Expiration date of object with type="dateTime". + + <rdeCsv:fReDate> Date that transfer was requested with + type="dateTime" and isRequired="true". + + <rdeCsv:fAcDate> Date that transfer action should be taken or has + been taken with type="dateTime" and isRequired="true". + + <rdeCsv:fTrDate> Date of last transfer with type="dateTime". + + <rdeCsv:fTrStatus> State of the most recent transfer request with + type="eppcom:trStatusType" and isRequired="true". + + <rdeCsv:fTokenType> General token field with type="token". + + <rdeCsv:fLang> General language field with type="language". + + <rdeCsv:fIdnTableId> IDN table identifier used for IDN domain names + with type="token". + + <rdeCsv:fPositiveIntegerType> General positive integer field with + type="positiveInteger". + + <rdeCsv:fUrl> Contains the URL of an object like a registrar object + with type="anyURI". + + <rdeCsv:fCustom> Custom field with name attribute that defines the + custom field name with type="token". + +4.6.3. Internationalized and Localized Elements + + Some elements MAY be provided in either internationalized form + ("int") or localized form ("loc"). Those elements use a field value + or "isLoc" attribute to specify the form used. If an "isLoc" + attribute is used, a value of "true" indicates the use of the + localized form, and a value of "false" indicates the use of the + internationalized form. This MAY override the form specified for a + parent element. A value of "int" is used to indicate the + internationalized form, and a value of "loc" is used to indicate the + localized form. When the internalized form ("int") is provided, the + field value MUST be represented in a subset of UTF-8 that can be + represented in the 7-bit US-ASCII character set. When the localized + form ("loc") is provided, the field value MAY be represented in + unrestricted UTF-8. + + The field elements below of the "registrar" <rdeCsv:csv> + <rdeCsv:fields> element specify the internationalized form with the + isLoc="false" attribute. + + ... + <csvRegistrar:contents> + ... + <rdeCsv:csv name="registrar" sep=","> + <rdeCsv:fields> + <csvRegistrar:fId/> + <rdeCsv:fRoid/> + <csvRegistrar:fName isLoc="false"/> + <csvRegistrar:fGurid/> + <csvRegistrar:fStatus/> + <csvContact:fStreet isLoc="false" index="0"/> + <csvContact:fStreet isLoc="false" index="1"/> + <csvContact:fStreet isLoc="false" index="2"/> + <csvContact:fCity isLoc="false" /> + <csvContact:fSp isLoc="false" /> + <csvContact:fPc isLoc="false" /> + <csvContact:fCc isLoc="false" /> + <csvContact:fVoice/> + <csvContact:fVoiceExt/> + <csvContact:fFax/> + <csvContact:fFaxExt/> + <csvContact:fEmail isRequired="false"/> + <rdeCsv:fUrl/> + <csvRegistrar:fWhoisUrl/> + <rdeCsv:fCrRr/> + <rdeCsv:fCrID/> + <rdeCsv:fCrDate/> + <rdeCsv:fUpRr/> + <rdeCsv:fUpID/> + <rdeCsv:fUpDate/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="306178BB"> + registrar-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvRegistrar:contents> + ... + + The following is an example of using the <csvContact:fPostalType> + field value to define the internationalized or localized form of the + remainder of the "contactPostal" field values. + + ... + <csvContact:contents> + ... + <rdeCsv:csv name="contactPostal"> + <rdeCsv:fields> + <csvContact:fId parent="true"/> + <csvContact:fPostalType/> + <csvContact:fName/> + <csvContact:fOrg/> + <csvContact:fStreet index="0"/> + <csvContact:fStreet index="1"/> + <csvContact:fStreet index="2"/> + <csvContact:fCity/> + <csvContact:fSp/> + <csvContact:fPc/> + <csvContact:fCc/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="02CC2504"> + contactPostal-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvContact:contents> + ... + +5. Object Description + + This section describes the base objects supported by this + specification: + +5.1. Domain Name Object + + The domain name object is based on the EPP domain name mapping + specified in [RFC5731]. The domain name object supports both the XML + model and the CSV model, defined in 'Models' (Section 2). The + elements used for both models are defined in the following sections. + +5.1.1. XML Model + + There are two elements used in the data escrow of the domain name + objects for the XML model, including the <rdeDomain:domain> element, + under the <rde:contents> element, and the <rdeDomain:delete> element, + under the <rde:deletes> element. + +5.1.1.1. <rdeDomain:domain> Object + + The domain element is based on the EPP domain <info> response for an + authorized client (see Section 3.1.2 of [RFC5731]) with additional + data from an EPP <transfer> query response, see Section 3.1.3 of + [RFC5731], Registry Grace Period (RGP) status from [RFC3915], and + data from the EPP <secDNS:create> command, see Section 5.2.1 of + [RFC5910]. + + A <domain> element substitutes for the <abstractDomain> abstract + element to create a concrete definition of a domain. The + <abstractDomain> element can be replaced by other domain definitions + using the XML schema substitution groups feature. + + The <domain> element contains the following child elements: + + * A <name> element that contains the fully qualified name of the + domain name object. For IDNs, the A-label is used (see [RFC5891], + Section 4.4). + + * A <roid> element that contains the ROID assigned to the domain + name object when it was created. + + * An OPTIONAL <uName> element that contains the FQDN in the Unicode + character set. It MUST be provided if available. + + * An OPTIONAL <idnTableId> element that references the IDN table + used for the IDN. This corresponds to the "id" attribute of the + <idnTableRef> element. This element MUST be present if the domain + name is an IDN. + + * An OPTIONAL <originalName> element is used to indicate that the + domain name is an IDN variant. This element contains the domain + name used to generate the IDN variant. + + * One or more <status> elements that contain the current status + descriptors associated with the domain name. + + * Zero or more OPTIONAL <rgpStatus> elements to represent + "pendingDelete" sub-statuses, including "redemptionPeriod", + "pendingRestore", and "pendingDelete", that a domain name can be + in as a result of grace period processing as specified in + [RFC3915]. + + * An OPTIONAL <registrant> element that contains the identifier for + the human or the organizational social information object + associated with the holder of the domain name object. + + * Zero or more OPTIONAL <contact> elements that contain identifiers + for the human or organizational social information objects + associated with the domain name object. + + * An OPTIONAL <ns> element that contains the fully qualified names + of the delegated host objects or host attributes (name servers) + associated with the domain name object. See Section 1.1 of + [RFC5731] for a description of the elements used to specify host + objects or host attributes. + + * A <clID> element that contains the identifier of the sponsoring + registrar. + + * An OPTIONAL <crRr> element that contains the identifier of the + registrar that created the domain name object. An OPTIONAL + "client" attribute is used to specify the client that performed + the operation. + + * An OPTIONAL <crDate> element that contains the date and time of + the domain name object creation. This element MUST be present if + the domain name has been allocated. + + * An OPTIONAL <exDate> element that contains the date and time + identifying the end (expiration) of the domain name object's + registration period. This element MUST be present if the domain + name has been allocated. + + * An OPTIONAL <upRr> element that contains the identifier of the + registrar that last updated the domain name object. This element + MUST NOT be present if the domain has never been modified. An + OPTIONAL "client" attribute is used to specify the client that + performed the operation. + + * An OPTIONAL <upDate> element that contains the date and time of + the most recent modification of the domain name object. This + element MUST NOT be present if the domain name object has never + been modified. + + * An OPTIONAL <secDNS> element that contains the public key + information associated with Domain Name System security (DNSSEC) + extensions for the domain name as specified in [RFC5910]. + + * An OPTIONAL <trDate> element that contains the date and time of + the most recent successful transfer of a domain name object. This + element MUST NOT be present if the domain name object has never + been transferred. + + * An OPTIONAL <trnData> element that contains the following child + elements related to the last transfer request of the domain name + object. This element MUST NOT be present if a transfer request + for the domain name has never been created. + + - A <trStatus> element that contains the state of the most recent + transfer request. + + - A <reRr> element that contains the identifier of the registrar + that requested the domain name object transfer. An OPTIONAL + "client" attribute is used to specify the client that performed + the operation. + + - A <reDate> element that contains the date and time that the + transfer was requested. + + - An <acRr> element that contains the identifier of the registrar + that should act upon a pending transfer request. For all other + status types, the value identifies the registrar that took the + indicated action. An OPTIONAL "client" attribute is used to + specify the client that performed the operation. + + - An <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 registry. For all other status types, the value identifies + the date and time when the request was completed. + + - An OPTIONAL <exDate> element that contains the end of the + domain name object's validity period (expiry date) if the + transfer caused or causes a change in the validity period. + + The following is an example of a domain name object: + + ... + <rdeDomain:domain> + <rdeDomain:name>xn--exampl-gva.example</rdeDomain:name> + <rdeDomain:roid>Dexample1-TEST</rdeDomain:roid> + <rdeDomain:idnTableId>pt-BR</rdeDomain:idnTableId> + <rdeDomain:originalName>example.example</rdeDomain:originalName> + <rdeDomain:status s="ok"/> + <rdeDomain:registrant>jd1234</rdeDomain:registrant> + <rdeDomain:contact type="admin">sh8013</rdeDomain:contact> + <rdeDomain:contact type="tech">sh8013</rdeDomain:contact> + <rdeDomain:ns> + <domain:hostObj>ns1.example.com</domain:hostObj> + <domain:hostObj>ns1.example1.example</domain:hostObj> + </rdeDomain:ns> + <rdeDomain:clID>RegistrarX</rdeDomain:clID> + <rdeDomain:crRr client="jdoe">RegistrarX</rdeDomain:crRr> + <rdeDomain:crDate>1999-04-03T22:00:00.0Z</rdeDomain:crDate> + <rdeDomain:exDate>2025-04-03T22:00:00.0Z</rdeDomain:exDate> + </rdeDomain:domain> + ... + +5.1.1.2. <rdeDomain:delete> Object + + The <rdeDomain:delete> element contains the FQDN that was deleted and + purged. + + The following is an example of an <rdeDomain:delete> object: + + ... + <rde:deletes> + ... + <rdeDomain:delete> + <rdeDomain:name>foo.example</rdeDomain:name> + <rdeDomain:name>bar.example</rdeDomain:name> + </rdeDomain:delete> + ... + </rde:deletes> + ... + +5.1.2. CSV Model + + For the CSV model of the domain name object, the <csvDomain:contents> + child element of the <rde:contents> element is used to hold the new + or updated domain name objects for the deposit. The + <csvDomain:deletes> child element of the <rde:deletes> element is + used to hold the deleted or purged domain name objects for the + deposit. Both the <csvDomain:contents> and <csvDomain:deletes> + elements contain one or more <rdeCsv:csv> elements with a set of + named CSV file definitions using the <rdeCsv:csv> "name" attribute. + + Differential and Incremental Deposits are based on changes to the + domain name objects. The updated domain name object data under the + <csvDomain:contents> element is a cascade replace down all of the + domain name CSV files starting with the parent '"domain" CSV File + Definition' (Section 5.1.2.1.1). The child CSV file definitions + include a <csvDomain:fName parent="true"> field. All the child CSV + file definition data for the domain name objects in the parent + '"domain" CSV File Definition' (Section 5.1.2.1.1) MUST first be + deleted and then set using the data in the child CSV files. The + deleted domain name object data under the <csvDomain:deletes> element + is a cascade delete starting from the '"domain" Deletes CSV File + Definition' (Section 5.1.2.2.1). + +5.1.2.1. <csvDomain:contents> + + The <csvDomain:contents> is used to hold the new or updated domain + name object information for the deposit. The <csvDomain:contents> is + split into separate CSV file definitions using named <rdeCsv:csv> + elements with the "name" attribute. The following sections include + the supported domain name CSV file definitions. + +5.1.2.1.1. "domain" CSV File Definition + + The "domain" CSV File Definition defines the fields and CSV file + references used for the parent domain name object records. All the + other domain name CSV file definitions are child CSV files based on + the inclusion of the <csvDomain:fName parent="true"> field. + + The following "csvDomain" field elements MUST be used in the "domain" + <rdeCsv:csv> <rdeCsv:fields> element: + + <csvDomain:fName> Domain name field with type="eppcom:labelType" and + isRequired="true". + + The following "csvDomain" field elements MAY be used in the "domain" + <rdeCsv:csv> <rdeCsv:fields> element: + + <csvDomain:fOriginalName> Fully qualified name of the original IDN + domain name object related to the variant domain name object with + type="eppcom:labelType". + + The following "rdeCsv" and "csvRegistrar" fields, MUST be used in the + "domain" <rdeCsv:csv> <rdeCsv:fields> element: + + <rdeCsv:fRoid> ROID for the domain name object with + isRequired="true". + + <rdeCsv:fClID> or <csvRegistrar:fGurid> A choice of the following: + + <rdeCsv:fClID> Identifier of the sponsoring client with + isRequired="true". + + <csvRegistrar:fGurid> Contains the Globally Unique Registrar + Identifier (GURID) assigned by ICANN with + type="positiveInteger" and isRequired="true". + + The following "rdeCsv" fields, defined in 'CSV Common Field Elements' + (Section 4.6.2.2), MAY be used in the "domain" <rdeCsv:csv> + <rdeCsv:fields> element: + + <rdeCsv:fCrRr> Identifier of the registrar, defined in Section 5.4, + of the client that created the domain name object. + + <rdeCsv:fCrID> Identifier of the client that created the domain name + object. + + <rdeCsv:fUpRr> Identifier of the registrar, defined in Section 5.4, + of the client that last updated the domain name object. + + <rdeCsv:fUpID> Identifier of the client that last updated the domain + name object. + + <rdeCsv:fUName> UTF-8 encoded domain name for the <csvDomain:fName> + field element. + + <rdeCsv:fIdnTableId> IDN table identifier used for the IDN domain + name object that MUST match an <rdeCsv:fIdnTableId> field element + in the "idnLanguage" CSV files, as defined in Section 5.5.2. + + <rdeCsv:fRegistrant> Registrant contact identifier for the domain + name object. + + <rdeCsv:fCrDate> Date and time of the domain name object creation. + + <rdeCsv:fUpDate> Date and time of the last update to the domain name + object. This field MUST NOT be set if the domain name object has + never been modified. + + <rdeCsv:fExDate> Expiration date and time for the domain name + object. + + <rdeCsv:fTrDate> Date and time of the last transfer for the domain + name object. This field MUST NOT be set if the domain name object + has never been transferred. + + The following is an example of a "domain" <csvDomain:contents> + <rdeCsv:csv> element. + + ... + <csvDomain:contents> + ... + <rdeCsv:csv name="domain"> + <rdeCsv:fields> + <csvDomain:fName/> + <rdeCsv:fRoid/> + <rdeCsv:fIdnTableId/> + <csvDomain:fOriginalName/> + <rdeCsv:fRegistrant/> + <rdeCsv:fClID/> + <rdeCsv:fCrRr/> + <rdeCsv:fCrID/> + <rdeCsv:fCrDate/> + <rdeCsv:fUpRr/> + <rdeCsv:fUpID/> + <rdeCsv:fUpDate/> + <rdeCsv:fExDate isRequired="true"/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="5E403BD6"> + domain-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvDomain:contents> + ... + + The following is an example of the corresponding domain-YYYYMMDD.csv + file. The file contains four records (two active ASCII domains, + original IDN with LANG-1 language rules, and variant IDN with LANG-1 + language rules). + + domain1.example,Ddomain1-TEST,,,registrantid,registrarX,registrarX, + clientY,2009-04-03T22:00:00.0Z,registrarX,clientY, + 2009-12-03T09:05:00.0Z,2025-04-03T22:00:00.0Z + domain2.example,Ddomain2-TEST,,,registrantid,registrarX,registrarX, + clientY,1999-04-03T22:00:00.0Z,registrarX,clientY, + 2009-12-03T09:05:00.0Z,2025-04-03T22:00:00.0Z + xn--bc123-3ve.example,Dxnabc123-TEST,LANG-1,,registrantid,registrarX, + registrarX,clientY,2009-04-03T22:00:00.0Z,registrarX,clientY, + 2009-12-03T09:05:00.0Z,2025-04-03T22:00:00.0Z + xn--bc321-3ve.example,Dxnabc321-TEST,LANG-1,xn--bc123-3ve.example, + registrantid,registrarX,registrarX,clientY,2009-04-03T22:00:00.0Z, + registrarX,clientY,2009-12-03T09:05:00.0Z,2025-04-03T22:00:00.0Z + +5.1.2.1.2. "domainContacts" CSV File Definition + + The "domainContacts" CSV File Definition defines the fields and CSV + file references used for the domain name object link records to + contact objects, as described in 'Contact Object' (Section 5.3). + + The following "csvDomain" field elements, defined for the '"domain" + CSV File Definition' (Section 5.1.2.1.1), MUST be used in the + "domainContacts" <rdeCsv:csv> <rdeCsv:fields> element: + + <csvDomain:fName> The name of the domain object that is linked to + the contact object with isRequired="true". + + <csvDomain:fContactType> The contact type for the contact object + link with type="domain:contactAttrType" and isRequired="true". + The supported contact type values include "admin" for the + administration contact, "billing" for the billing contact, and + "tech" for the technical contact. + + The following "csvContact" fields, defined for the '"contact" CSV + File Definition' (Section 5.3.2.1.1), MUST be used in the + "domainContacts" <rdeCsv:csv> <rdeCsv:fields> element: + + <csvContact:fId> The server-unique contact identifier with + isRequired="true". + + The following is an example of a "domainContacts" + <csvDomain:contents> <rdeCsv:csv> element: + + ... + <csvDomain:contents> + ... + <rdeCsv:csv name="domainContacts"> + <rdeCsv:fields> + <csvDomain:fName parent="true"/> + <csvContact:fId/> + <csvDomain:fContactType/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="6B976A6C"> + domainContacts-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvDomain:contents> + ... + + The following is an example of the corresponding domainContacts- + YYYYMMDD.csv file. The file contains an admin, tech, and billing + contact for the four domain names domain1.example, domain2.example, + xn--bc123-3ve.example, and xn--bc321-3ve.example: + + domain1.example,domain1admin,admin + domain1.example,domain1tech,tech + domain1.example,domain1billing,billing + domain2.example,domain2admin,admin + domain2.example,domain2tech,tech + domain2.example,domain2billing,billing + xn--bc123-3ve.example,xnabc123admin,admin + xn--bc123-3ve.example,xnabc123tech,tech + xn--bc123-3ve.example,xnabc123billing,billing + xn--bc321-3ve.example,xnabc123admin,admin + xn--bc321-3ve.example,xnabc123tech,tech + xn--bc321-3ve.example,xnabc123billing,billing + +5.1.2.1.3. "domainStatuses" CSV File Definition + + The "domainStatuses" CSV File Definition defines the fields and CSV + file references used for the domain name object statuses. + + The following "csvDomain" fields, defined for the '"domain" CSV File + Definition' (Section 5.1.2.1.1), MUST be used in the "domainStatuses" + <rdeCsv:csv> <rdeCsv:fields> element: + + <csvDomain:fName> Domain name of status with isRequired="true". + + <csvDomain:fStatus> The status of the domain name with + type="domain:statusValueType" and isRequired="true". + + <csvDomain:fRgpStatus> The RGP status, as a sub-status of the + <csvDomain:fStatus> "pendingDelete" status value, with + type="rgp:statusValueType" as defined in [RFC3915]. + + The following "rdeCsv" fields, defined in 'CSV Common Field Elements' + (Section 4.6.2.2), MAY be used in the "domainStatuses" <rdeCsv:csv> + <rdeCsv:fields> element: + + <rdeCsv:fStatusDescription> Domain name object status description, + which is free-form text describing the rationale for the status. + + <rdeCsv:fLang> Language of the <rdeCsv:fStatusDescription> field. + + The following is an example of a "domainStatuses" + <csvDomain:contents> <rdeCsv:csv> element: + + ... + <csvDomain:contents> + ... + <rdeCsv:csv name="domainStatuses"> + <rdeCsv:fields> + <csvDomain:fName parent="true"/> + <csvDomain:fStatus/> + <rdeCsv:fStatusDescription/> + <rdeCsv:fLang/> + <csvDomain:fRgpStatus/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="98D139A3"> + domainStatuses-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvDomain:contents> + ... + + The following is an example of the corresponding domainStatuses- + YYYYMMDD.csv file. The file contains the statuses for the four + domain names domain1.example, domain2.example, xn--bc123-3ve.example, + and xn--bc321-3ve.example: + + domain1.example,clientUpdateProhibited,"Disallow update", + en, + domain1.example,clientDeleteProhibited,"Disallow delete", + en, + domain2.example,ok,,, + xn--bc123-3ve.example,ok,,, + xn--bc321-3ve.example,ok,,, + +5.1.2.1.4. "domainNameServers" CSV File Definition + + The "domainNameServers" CSV File Definition defines the fields and + CSV file references used for the domain name delegated hosts (name + servers). The "domainNameServers" CSV files define the relationship + between a domain name object and a delegated host. The + "domainNameServers" CSV File is used to support the <domain:hostObj> + model, defined in [RFC5731]. + + The following "csvDomain" fields, defined for the '"domain" CSV File + Definition' (Section 5.1.2.1.1), MUST be used in the + "domainNameServers" <rdeCsv:csv> <rdeCsv:fields> element: + + <csvDomain:fName> Domain name using the delegated host with + isRequired="true". + + The following "csvHost" and "rdeCsv" field elements MUST be used in + the "domainNameServers" <rdeCsv:csv> <rdeCsv:fields> element: + + <csvHost:fName> or <rdeCsv:fRoid> A choice of the following: + + <csvHost:fName> Host name field with type="eppcom:labelType" and + isRequired="true". + + <rdeCsv:fRoid> Host object ROID assigned to the host object with + isRequired="true". + + The following is an example of a "domainNameServers" + <csvDomain:contents> <rdeCsv:csv> element: + + ... + <csvDomain:contents> + ... + <rdeCsv:csv name="domainNameServers"> + <rdeCsv:fields> + <csvDomain:fName parent="true"/> + <rdeCsv:fRoid/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="8FE6E9E1"> + domainNameServers-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvDomain:contents> + ... + + The following is an example of the corresponding domainNameServers- + YYYYMMDD.csv file. The file contains the delegated hosts (name + servers) for the four domain names domain1.example, domain2.example, + xn--bc123-3ve.example, and xn--bc321-3ve.example referenced via the + <rdeCsv:fRoid> field element: + + domain1.example,Hns1_domain1_test-TEST + domain1.example,Hns2_domain1_test-TEST + domain2.example,Hns1_domain2_test-TEST + domain2.example,Hns2_domain2_test-TEST + xn--bc123-3ve.example,Hns1_example_test-TEST + xn--bc123-3ve.example,Hns2_example_test-TEST + xn--bc321-3ve.example,Hns1_example_test-TEST + xn--bc321-3ve.example,Hns2_example_test-TEST + +5.1.2.1.5. "domainNameServersAddresses" CSV File Definition + + The "domainNameServersAddresses" CSV File Definition defines the + fields and CSV file references used for supporting the domain host + attributes model. + + The following "csvDomain" fields, defined for the '"domain" CSV File + Definition' (Section 5.1.2.1.1), MUST be used in the + "domainNameServersAddresses" <rdeCsv:csv> <rdeCsv:fields> element: + + <csvDomain:fName> Domain name using the delegated host with host + <csvHost:fName> and isRequired="true". + + The following "rdeCsv" fields, defined in 'CSV Model' + (Section 5.2.2), MUST be used in the "domainNameServersAddresses" + <rdeCsv:csv> <rdeCsv:fields> element: + + <csvHost:fName> Host name field with type="eppcom:labelType" and + isRequired="true". + + The following "csvHost" fields, defined in 'CSV Model' + (Section 5.2.2), MAY be used in the "domainNameServersAddresses" + <rdeCsv:csv> <rdeCsv:fields> element: + + <csvHost:fAddr> IP addresses associated with the host object with + type="host:addrStringType". + + <csvHost:fAddrVersion> IP addresses version associated with the host + object with type="host:ipType". "host:ipType" has the enumerated + values of "v4" or "v6". + + The following is an example of a "domainNameServersAddresses" + <csvDomain:contents> <rdeCsv:csv> element: + + ... + <csvDomain:contents> + ... + <rdeCsv:csv name="domainNameServersAddresses"> + <rdeCsv:fields> + <csvDomain:fName parent="true"/> + <csvHost:fName/> + <csvHost:fAddr/> + <csvHost:fAddrVersion/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="D3B77438"> + domainNameServersAddresses-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvDomain:contents> + ... + + The following is an example of the corresponding + domainNameServersAddresses-YYYYMMDD.csv file. The file contains the + delegated hosts (name servers) for the four domain names + domain1.example, domain2.example, xn--bc123-3ve.example, and xn-- + bc321-3ve.example: + + domain1.example,ns1.domain1.example,192.0.2.1,v4 + domain1.example,ns2.domain1.example,2001:DB8::1,v6 + domain2.example,ns1.example.net,, + domain2.example,ns2.example.net,, + xn--bc123-3ve.example,ns1.example.net,, + xn--bc123-3ve.example,ns2.example.net,, + xn--bc321-3ve.example,ns1.example.net,, + xn--bc321-3ve.example,ns2.example.net,, + +5.1.2.1.6. "dnssec" CSV File Definition + + The "dnssec" CSV File Definition defines the fields and CSV file + references used for the domain name object DNSSEC records (Delegation + Signer (DS) or key data). + + The following "csvDomain" field elements MUST be used in the "dnssec" + <rdeCsv:csv> <rdeCsv:fields> element when the DS Data Interface per + [RFC5910] is used: + + <csvDomain:fKeyTag> Contains the DS key tag value per [RFC5910] with + type="unsignedShort" and isRequired="true". + + <csvDomain:fDsAlg> Contains the DS algorithm value per [RFC5910] + with type="unsignedByte" and isRequired="true". + + <csvDomain:fDigestType> Contains the DS digest type value per + [RFC5910] with type="unsignedByte" and isRequired="true". + + <csvDomain:fDigest> Contains the DS digest value per [RFC5910] with + type="hexBinary" and isRequired="true". + + The following "csvDomain" field elements MUST be used in the "dnssec" + <rdeCsv:csv> <rdeCsv:fields> element when the Key Data Interface per + [RFC5910] is used and MAY be used in the "dnssec" <rdeCsv:csv> + <rdeCsv:fields> element when the DS Data Interface per [RFC5910] is + used: + + <csvDomain:fFlags> Contains the flags field value per [RFC5910] with + type="unsignedShort" and isRequired="true". + + <csvDomain:fProtocol> Contains the key protocol value per [RFC5910] + with type="unsignedByte" and isRequired="true". + + <csvDomain:fKeyAlg> Contains the key algorithm value per [RFC5910] + with type="unsignedByte" and isRequired="true". + + <csvDomain:fPubKey> Contains the public key value per [RFC5910] with + type="secDNS:keyType" and isRequired="true". + + The following "csvDomain" field elements MAY be used in the "dnssec" + <rdeCsv:csv> <rdeCsv:fields> element: + + <csvDomain:fMaxSigLife> Indicates a child's preference for the + number of seconds after signature generation when the parent's + signature on the DS information provided by the child will expire + with type="secDNS:maxSigLifeType" defined in [RFC5910]. + + The following "domain" fields, defined for the '"domain" CSV File + Definition' (Section 5.1.2.1.1), MUST be used in the "dnssec" + <rdeCsv:csv> <rdeCsv:fields> element: + + <csvDomain:fName> Domain name of the domain name object associated + with the DNSSEC record and isRequired="true". + + The following is an example of a "dnssec" <csvDomain:contents> + <rdeCsv:csv> element with the DS Data Interface of [RFC5910]: + + <csvDomain:contents> + ... + <rdeCsv:csv name="dnssec"> + <rdeCsv:fields> + <csvDomain:fName parent="true"/> + <csvDomain:fMaxSigLife/> + <csvDomain:fKeyTag/> + <csvDomain:fDsAlg/> + <csvDomain:fDigestType/> + <csvDomain:fDigest/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="10ED6C42"> + dnssec-ds-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvDomain:contents> + ... + + The following is an example of the corresponding dnssec-ds- + YYYYMMDD.csv file. The file contains two DS records for + domain1.example: + + domain1.example,604800,30730,8,2,91C9B176EB////F1C46F6A55 + domain1.example,604800,61882,8,2,9F8FEAC94B////1272AF09F3 + + The following is an example of a "dnssec" <csvDomain:contents> + <rdeCsv:csv> element with the Key Data Interface of [RFC5910]: + + <csvDomain:contents> + ... + <rdeCsv:csv name="dnssec"> + <rdeCsv:fields> + <csvDomain:fName parent="true"/> + <csvDomain:fMaxSigLife/> + <csvDomain:fFlags/> + <csvDomain:fProtocol/> + <csvDomain:fKeyAlg/> + <csvDomain:fPubKey/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="183C3F79"> + dnssec-key-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvDomain:contents> + ... + + The following is an example of the corresponding dnssec-key- + YYYYMMDD.csv file. The file contains two key records for + domain1.example: + + domain1.example,604800,257,3,8,AwEAAZD1+z////G1jqviK8c= + domain1.example,604800,257,3,8,AwEAAbntWP////vwDitt940= + +5.1.2.1.7. "domainTransfer" CSV File Definition + + The "domainTransfer" CSV File Definition defines the fields and CSV + file references used for the domain name object pending and completed + transfer records. No additional field elements were added for use in + the "domainTransfer" <rdeCsv:csv> <rdeCsv:fields> element. + + The following "rdeCsv" fields, defined in 'CSV Common Field Elements' + (Section 4.6.2.2), MUST be used in the "domainTransfer" <rdeCsv:csv> + <rdeCsv:fields> element: + + <rdeCsv:fTrStatus> State of the most recent transfer request with + isRequired="true". + + <rdeCsv:fReRr> Identifier of the registrar, defined in Section 5.4, + of the client that requested the transfer with isRequired="true". + + <rdeCsv:fReDate> Date and time that the transfer was requested with + isRequired="true". + + <rdeCsv:fAcRr> Identifier of the registrar, defined in Section 5.4, + of the client that should take or took action with + isRequired="true". + + <rdeCsv:fAcDate> Date and time that the transfer action should be + taken or has been taken with isRequired="true". + + The following "rdeCsv" fields, defined in 'CSV Common Field Elements' + (Section 4.6.2.2), MAY be used in the "domainTransfer" <rdeCsv:csv> + <rdeCsv:fields> element: + + <rdeCsv:fExDate> Expiration date if the transfer command caused or + causes a change in the validity period. + + <rdeCsv:fReID> Identifier of the client that requested the transfer. + + <rdeCsv:fAcID> Identifier of the client that should take or took + action for transfer. + + The following "csvDomain" fields, defined for the '"domain" CSV File + Definition' (Section 5.1.2.1.1), MUST be used in the "domainTransfer" + <rdeCsv:csv> <rdeCsv:fields> element: + + <csvDomain:fName> Domain name of the domain name object involved in + the transfer with isRequired="true". + + The following is an example of a "domainTransfer" + <csvDomain:contents> <rdeCsv:csv> element: + + ... + <csvDomain:contents> + ... + <rdeCsv:csv name="domainTransfer"> + <rdeCsv:fields> + <csvDomain:fName parent="true"/> + <rdeCsv:fTrStatus/> + <rdeCsv:fReRr/> + <rdeCsv:fReID/> + <rdeCsv:fReDate/> + <rdeCsv:fAcRr/> + <rdeCsv:fAcID/> + <rdeCsv:fAcDate/> + <rdeCsv:fExDate/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="2E5A9ACD"> + domainTransfer-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvDomain:contents> + ... + + The following is an example of the corresponding domainTransfer- + YYYYMMDD.csv file. The file contains one domain transfer record with + a pending status: + + domain1.example,pending,registrarX,clientY, + 2011-03-08T19:38:00.0Z,registrarY,,2011-03-13T23:59:59.0Z, + 2025-04-03T22:00:00.0Z + +5.1.2.2. <csvDomain:deletes> + + The <csvDomain:deletes> is used to hold the deleted domain name + objects in a Differential or Incremental Deposit. All the domain + name object data is deleted as part of a cascade delete. The + <csvDomain:deletes> is split into separate CSV file definitions using + named <rdeCsv:csv> elements with the "name" attribute. The following + section defines the supported domain name deletes CSV file + definition. + +5.1.2.2.1. "domain" Deletes CSV File Definition + + The following "csvDomain" field elements MUST be used in the deletes + "domain" <rdeCsv:csv> <rdeCsv:fields> element: + + <csvDomain:fName> Domain name field with type="eppcom:labelType" and + isRequired="true". + + The following is an example of a "domain" <csvDomain:deletes> + <rdeCsv:csv> element: + + ... + <csvDomain:deletes> + ... + <rdeCsv:csv name="domain"> + <rdeCsv:fields> + <csvDomain:fName/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="A06D8194"> + domain-delete-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvDomain:deletes> + ... + + The following is an example of the corresponding domain-delete- + YYYYMMDD.csv file. The file contains two domain name records: + + domain1.example + domain2.example + +5.2. Host Object + + The host object is based on the EPP host name mapping in [RFC5732]. + The host object supports both the XML model and the CSV model, + defined in 'Models' (Section 2). The elements used for both models + are defined in the following sections. Both the <csvHost:contents> + and <csvHost:deletes> elements contain one or more <rdeCsv:csv> + elements with a set of named CSV file definitions using the + <rdeCsv:csv> "name" attribute. + +5.2.1. XML Model + + There are two elements used in the data escrow of the host objects + for the XML model including the <rdeHost:host> element, under the + <rdeHost:contents> element, and the <rdeHost:delete> element, under + the <rde:deletes> element. + + An <rdeHost:host> element substitutes for the <rdeHost:abstractHost> + abstract element to create a concrete definition of a host. The + <rdeHost:abstractHost> element can be replaced by other host + definitions using the XML schema substitution groups feature. + +5.2.1.1. <rdeHost:host> Element + + The RDE host object is based on the EPP host <info> response for an + authorized client (Section 3.1.2 of [RFC5732]). + + The OPTIONAL <host> element contains the following child elements: + + * A <name> element that contains the fully qualified name of the + host object. + + * A <roid> element that contains the ROID assigned to the host + object when the object was created. + + * One or more <status> elements that describe the status of the host + object. + + * Zero or more <addr> elements that contain the IP addresses + associated with the host object. + + * A <clID> element that contains the identifier of the sponsoring + registrar. + + * An OPTIONAL <crRr> element that contains the identifier of the + registrar that created the host object. An OPTIONAL "client" + attribute is used to specify the client that performed the + operation. + + * An OPTIONAL <crDate> element that contains the date and time of + host object creation. + + * An OPTIONAL <upRr> element that contains the identifier of the + registrar that last updated the host object. This element MUST + NOT be present if the host object has never been modified. An + OPTIONAL "client" attribute is used to specify the client that + performed the operation. + + * An OPTIONAL <upDate> element that contains the date and time of + the most recent host object modification. This element MUST NOT + be present if the host object has never been modified. + + * An OPTIONAL <trDate> element that contains the date and time of + the most recent host object successful transfer. This element + MUST NOT be present if the domain name object has never been + transferred. + + The following is an example of a <host> object: + + ... + <rdeHost:host> + <rdeHost:name>ns1.example1.example</rdeHost:name> + <rdeHost:roid>Hns1_example_test-TEST</rdeHost:roid> + <rdeHost:status s="ok"/> + <rdeHost:status s="linked"/> + <rdeHost:addr ip="v4">192.0.2.2</rdeHost:addr> + <rdeHost:addr ip="v4">192.0.2.29</rdeHost:addr> + <rdeHost:addr ip="v6">2001:DB8:1::1</rdeHost:addr> + <rdeHost:clID>RegistrarX</rdeHost:clID> + <rdeHost:crRr>RegistrarX</rdeHost:crRr> + <rdeHost:crDate>1999-05-08T12:10:00.0Z</rdeHost:crDate> + <rdeHost:upRr>RegistrarX</rdeHost:upRr> + <rdeHost:upDate>2009-10-03T09:34:00.0Z</rdeHost:upDate> + </rdeHost:host> + ... + +5.2.1.2. <rdeHost:delete> Object + + The <rdeHost:delete> element contains the FQDN of a host that was + deleted. The <rdeHost:delete> element also supports host removal + based on ROID to support SRS systems in which different hosts with + the same FQDN are active at the same time. + + The following is an example of an <rdeHost:delete> object: + + ... + <rde:deletes> + ... + <rdeHost:delete> + <rdeHost:name>ns1.example.example</rdeHost:name> + </rdeHost:delete> + ... + </rde:deletes> + ... + +5.2.2. CSV Model + + For the CSV model of the host object, the <csvHost:contents> child + element of the <rde:contents> element is used to hold the new or + updated host objects for the deposit. The <csvHost:deletes> child + element of the <rde:deletes> element is used to hold the deleted or + purged host objects for the deposit. + + Differential and Incremental Deposits are based on changes to the + host objects. The updated host object data under the + <csvHost:contents> element is a cascade replace down all of the host + CSV files starting with the parent '"host" CSV File Definition' + (Section 5.2.2.1.1). The child CSV file definitions include an + <rdeCsv:fRoid parent="true"> field. All the child CSV file + definition data for the host objects in the parent '"host" CSV File + Definition' (Section 5.2.2.1.1) MUST first be deleted and then set + using the data in the child CSV files. The deleted host object data + under the <csvHost:deletes> element is a cascade delete starting from + the '"host" Deletes CSV File Definition' (Section 5.2.2.2.1). + +5.2.2.1. <csvHost:contents> + + The <csvHost:contents> is used to hold the new or updated host object + information for the deposit. The <csvHost:contents> is split into + separate CSV file definitions using named <rdeCsv:csv> elements with + the "name" attribute. The following sections include the supported + host CSV file definitions. + +5.2.2.1.1. "host" CSV File Definition + + The "host" CSV File Definition defines the fields and CSV file + references used for the host object records. + + The following "csvHost" field elements MUST be used in the "host" + <rdeCsv:csv> <rdeCsv:fields> element: + + <csvHost:fName> Host name field with type="eppcom:labelType" and + isRequired="true". + + The following "rdeCsv" fields, defined in 'CSV Common Field Elements' + (Section 4.6.2.2), MUST be used in the "host" <rdeCsv:csv> + <rdeCsv:fields> element: + + <rdeCsv:fRoid> ROID assigned to the host object with + isRequired="true". + + The following "rdeCsv" and "csvRegistrar" fields MAY be used in the + "host" <rdeCsv:csv> <rdeCsv:fields> element: + + <rdeCsv:fClID> or <csvRegistrar:fGurid> A choice of the following: + + <rdeCsv:fClID> Identifier of the sponsoring client with + isRequired="true". + + <csvRegistrar:fGurid> Contains the GURID assigned by ICANN with + type="positiveInteger" and isRequired="true". + + <rdeCsv:fCrRr> Identifier of the registrar, defined in Section 5.4, + of the client that created the host object. + + <rdeCsv:fCrID> Identifier of the client that created the host + object. + + <rdeCsv:fUpRr> Identifier of the registrar, defined in Section 5.4, + of the client that last updated the host object. + + <rdeCsv:fUpID> Identifier of the client that last updated the host + object. + + <rdeCsv:fCrDate> Date and time that the host object was created. + + <rdeCsv:fUpDate> Date and time that the host object was last + updated. This field MUST NOT be set if the domain name object has + never been modified. + + <rdeCsv:fTrDate> Date and time that the host object was last + transferred. This field MUST NOT be set if the domain name object + has never been transferred. + + The following is an example of a "host" <csvHost:contents> + <rdeCsv:csv> element: + + ... + <csvHost:contents> + ... + <rdeCsv:csv name="host"> + <rdeCsv:fields> + <csvHost:fName/> + <rdeCsv:fRoid/> + <rdeCsv:fClID/> + <rdeCsv:fCrRr/> + <rdeCsv:fCrID/> + <rdeCsv:fCrDate/> + <rdeCsv:fUpRr/> + <rdeCsv:fUpID/> + <rdeCsv:fUpDate/> + <rdeCsv:fTrDate/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="6F1E58E5"> + host-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvHost:contents> + ... + + The following is an example of the corresponding host-YYYYMMDD.csv + file. The file contains six host records with four being internal + hosts and two being external hosts: + + ns1.domain1.example,Hns1_example_test-TEST,registrarX,registrarX, + clientY,1999-05-08T12:10:00.0Z,registrarX, + clientY,2009-10-03T09:34:00.0Z,2007-01-08T09:19:00.0Z + ns2.domain1.example,Hns2_domain1_test-TEST,registrarX,registrarX, + clientY,1999-05-08T12:10:00.0Z,registrarX, + clientY,2009-10-03T09:34:00.0Z,2007-01-08T09:19:00.0Z + ns1.domain2.example,Hns1_domain2_test-TEST,registrarX,registrarX, + clientY,1999-05-08T12:10:00.0Z,registrarX, + clientY,2009-10-03T09:34:00.0Z,2007-01-08T09:19:00.0Z + ns2.domain2.example,Hns2_domain2_test-TEST,registrarX,registrarX, + clientY,1999-05-08T12:10:00.0Z,registrarX, + clientY,2009-10-03T09:34:00.0Z,2007-01-08T09:19:00.0Z + ns1.example.net,Hns1_example_test-TEST,registrarX,registrarX, + clientY,1999-05-08T12:10:00.0Z,registrarX, + clientY,2009-10-03T09:34:00.0Z,2007-01-08T09:19:00.0Z + ns2.example.net,Hns2_example_test-TEST,registrarX,registrarX, + clientY,1999-05-08T12:10:00.0Z,registrarX, + clientY,2009-10-03T09:34:00.0Z,2007-01-08T09:19:00.0Z + +5.2.2.1.2. "hostStatuses" CSV File Definition + + The "hostStatuses" CSV File Definition defines the fields and CSV + file references used for the host object statuses. + + The following "csvHost" fields, defined for the '"host" CSV File + Definition' (Section 5.2.2.1.1), MUST be used in the "hostStatuses" + <rdeCsv:csv> <rdeCsv:fields> element: + + <csvHost:fStatus> The status of the host with + type="host:statusValueType" and isRequired="true". + + The following "rdeCsv" fields, defined in 'CSV Common Field Elements' + (Section 4.6.2.2), MUST be used in the "hostStatuses" <rdeCsv:csv> + <rdeCsv:fields> element: + + <rdeCsv:fRoid> Host object ROID assigned to the host object with + isRequired="true". + + The following "rdeCsv" fields, defined in 'CSV Common Field Elements' + (Section 4.6.2.2), MAY be used in the "hostStatuses" <rdeCsv:csv> + <rdeCsv:fields> element: + + <rdeCsv:fStatusDescription> Host object status description, which is + free-form text describing the rationale for the status. + + <rdeCsv:fLang> Language of the <rdeCsv:fStatusDescription> field. + + The following is an example of a "hostStatuses" <csvHost:contents> + <rdeCsv:csv> element: + + ... + <csvHost:contents> + ... + <rdeCsv:csv name="hostStatuses"> + <rdeCsv:fields> + <rdeCsv:fRoid parent="true"/> + <csvHost:fStatus/> + <rdeCsv:fStatusDescription/> + <rdeCsv:fLang/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="0DAE0583"> + hostStatuses-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvHost:contents> + ... + + The following is an example of the corresponding hostStatuses- + YYYYMMDD.csv file. The file contains the statuses for the six host + names ns1.domain1.example, ns2.domain1.example, ns1.domain2.example, + ns2.domain2.example, ns1.example.net, and ns2.example.net: + + Hns1_domain1_test-TEST,ok,, + Hns2_domain1_test-TEST,ok,, + Hns1_domain2_test-TEST,ok,, + Hns2_domain2_test-TEST,ok,, + Hns1_example_test-TEST,ok,, + Hns2_example_test-TEST,ok,, + +5.2.2.1.3. "hostAddresses" CSV File Definition + + The "hostAddresses" CSV File Definition defines the fields and CSV + file references used for the host object IP addresses. + + The following "csvHost" field elements MUST be used in the + "hostAddresses" <rdeCsv:csv> <rdeCsv:fields> element: + + <csvHost:fAddr> IP addresses associated with the host object with + type="host:addrStringType". The attribute "isRequired" MUST equal + "true". + + <csvHost:fAddrVersion> IP addresses version associated with the host + object with type="host:ipType". "host:ipType" has the enumerated + values of "v4" or "v6". The attribute "isRequired" MUST equal + "true". + + The following "rdeCsv" fields, defined in 'CSV Common Field Elements' + (Section 4.6.2.2), MUST be used in the "hostAddresses" <rdeCsv:csv> + <rdeCsv:fields> element: + + <rdeCsv:fRoid> Host object ROID assigned to the host object with + isRequired="true". + + The following is an example of a "hostAddresses" <csvHost:contents> + <rdeCsv:csv> element: + + ... + <csvHost:contents> + ... + <rdeCsv:csv name="hostAddresses"> + <rdeCsv:fields> + <rdeCsv:fRoid parent="true"/> + <csvHost:fAddr isRequired="true"/> + <csvHost:fAddrVersion isRequired="true"/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="28B194B0"> + hostAddresses-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvHost:contents> + ... + + The following is an example of the corresponding hostAddresses- + YYYYMMDD.csv file. The file contains the IP addresses for the host + names ns1.domain1.example, ns2.domain1.example, ns1.domain2.example, + and ns2.domain2.example: + + Hns1_domain1_test-TEST,192.0.2.1,v4 + Hns2_domain1_test-TEST,2001:DB8::1,v6 + Hns1_domain2_test-TEST,192.0.2.2,v4 + Hns2_domain2_test-TEST,2001:DB8::2,v6 + +5.2.2.2. <csvHost:deletes> + + The <csvHost:deletes> is used to hold the deleted host objects in a + Differential or Incremental Deposit. All the host object data is + deleted as part of a cascade delete. The <csvHost:deletes> is split + into separate CSV file definitions using named <rdeCsv:csv> elements + with the "name" attribute. The following section defines the + supported host deletes CSV file definition. + +5.2.2.2.1. "host" Deletes CSV File Definition + + The following "rdeCsv" fields, defined in 'CSV Common Field Elements' + (Section 4.6.2.2), MUST be used in the "host" <rdeCsv:csv> + <rdeCsv:fields> element: + + <rdeCsv:fRoid> ROID assigned to the host object with + isRequired="true". + + The following is an example of a "host" <csvHost:deletes> + <rdeCsv:csv> element: + + ... + <csvHost:deletes> + ... + <rdeCsv:csv name="host"> + <rdeCsv:fields> + <rdeCsv:fRoid/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="777F5F0E"> + host-delete-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvHost:deletes> + ... + + The following is an example of the host-delete-YYYYMMDD.csv file. + The file contains four host records: + + Hns1_domain1_test-TEST + Hns2_domain1_test-TEST + Hns1_domain2_test-TEST + Hns2_domain2_test-TEST + +5.3. Contact Object + + The contact object is based on the EPP contact name mapping in + [RFC5733]. The contact object supports both the XML model and the + CSV model, defined in 'Models' (Section 2). The elements used for + both models are defined in the following sections. + +5.3.1. XML Model + + There are two elements used in the data escrow of the contact objects + for the XML model including the <rdeContact:contact> element, under + the <rdeContact:contents> element, and the <rdeContact:delete> + element, under the <rde:deletes> element. + + A <contact> element substitutes for the <abstractContact> abstract + element to create a concrete definition of a contact. The + <abstractContact> element can be replaced by other contact + definitions using the XML schema substitution groups feature. + +5.3.1.1. <rdeContact:contact> Object + + The contact object is based on the EPP contact <info> response for an + authorized client (Section 3.1.2 of [RFC5733]) with some additions + including the data from an EPP <transfer> query response, see + Section 3.1.3 of [RFC5733]. + + The OPTIONAL <contact> element contains the following child elements: + + * A <id> element that contains the server-unique identifier of the + contact object. + + * A <roid> element that contains the ROID assigned to the contact + object when the object was created. + + * One or more <status> elements that describe the status of the + contact object. + + * One or two <postalInfo> elements that contain postal-address + information. Two elements are provided so that address + information can be provided in both internationalized and + localized forms; a "type" attribute is used to identify the two + forms. If an internationalized form (type="int") is provided, + element content MUST be represented in a subset of UTF-8 that can + be represented in the 7-bit US-ASCII character set. If a + localized form (type="loc") is provided, element content MAY be + represented in unrestricted UTF-8. The <postalInfo> element + contains the following child elements: + + - A <name> element that contains the name of the individual or + role represented by the contact. + + - An OPTIONAL <org> element that contains the name of the + organization with which the contact is affiliated. + + - An <addr> element that contains address information associated + with the contact. An <addr> element contains the following + child elements: + + o One, two, or three OPTIONAL <street> elements that contain + the contact's street address. + + o A <city> element that contains the contact's city. + + o An OPTIONAL <sp> element that contains the contact's state + or province. + + o An OPTIONAL <pc> element that contains the contact's postal + code. + + o A <cc> element that contains the contact's two-letter + country code. + + * An OPTIONAL <voice> element that contains the contact's voice + telephone number. + + * An OPTIONAL <fax> element that contains the contact's facsimile + telephone number. + + * An <email> element that contains the contact's email address. + + * A <clID> element that contains the identifier of the sponsoring + registrar. + + * An OPTIONAL <crRr> element that contains the identifier of the + registrar that created the contact object. An OPTIONAL "client" + attribute is used to specify the client that performed the + operation. + + * An OPTIONAL <crDate> element that contains the date and time of + contact object creation. + + * An OPTIONAL <upRr> element that contains the identifier of the + registrar that last updated the contact object. This element MUST + NOT be present if the contact has never been modified. An + OPTIONAL "client" attribute is used to specify the client that + performed the operation. + + * An OPTIONAL <upDate> element that contains the date and time of + the most recent contact object modification. This element MUST + NOT be present if the contact object has never been modified. + + * An OPTIONAL <trDate> element that contains the date and time of + the most recent contact object successful transfer. This element + MUST NOT be present if the contact object has never been + transferred. + + * An OPTIONAL <trnData> element that contains the following child + elements related to the last transfer request of the contact + object: + + - A <trStatus> element that contains the state of the most recent + transfer request. + + - An <reRr> element that contains the identifier of the registrar + that requested the domain name object transfer. An OPTIONAL + "client" attribute is used to specify the client that performed + the operation. + + - An <acRr> element that contains the identifier of the registrar + that should act upon a pending transfer request. For all other + status types, the value identifies the registrar that took the + indicated action. An OPTIONAL "client" attribute is used to + specify the client that performed the operation. + + - An <reDate> element that contains the date and time that the + transfer was requested. + + - An <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 registry. For all other status types, the value identifies + the date and time when the request was completed. + + * An OPTIONAL <disclose> element that identifies elements that + requiring exceptional server-operator handling to allow or + restrict disclosure to third parties. See Section 2.9 of + [RFC5733] for a description of the child elements contained within + the <disclose> element. + + The following is an example of a <contact> object: + + ... + <rdeContact:contact> + <rdeContact:id>sh8013</rdeContact:id> + <rdeContact:roid>Csh8013-TEST</rdeContact:roid> + <rdeContact:status s="linked"/> + <rdeContact:status s="clientDeleteProhibited"/> + <rdeContact:postalInfo type="int"> + <contact:name>John Doe</contact:name> + <contact:org>Example Inc.</contact:org> + <contact:addr> + <contact:street>123 Example Dr.</contact:street> + <contact:street>Suite 100</contact:street> + <contact:city>Dulles</contact:city> + <contact:sp>VA</contact:sp> + <contact:pc>20166-6503</contact:pc> + <contact:cc>US</contact:cc> + </contact:addr> + </rdeContact:postalInfo> + <rdeContact:voice x="1234">+1.7035555555</rdeContact:voice> + <rdeContact:fax>+1.7035555556</rdeContact:fax> + <rdeContact:email>jdoe@example.example</rdeContact:email> + <rdeContact:clID>RegistrarX</rdeContact:clID> + <rdeContact:crRr client="jdoe">RegistrarX</rdeContact:crRr> + <rdeContact:crDate>2009-09-13T08:01:00.0Z</rdeContact:crDate> + <rdeContact:upRr client="jdoe">RegistrarX</rdeContact:upRr> + <rdeContact:upDate>2009-11-26T09:10:00.0Z</rdeContact:upDate> + <rdeContact:trDate>2009-12-03T09:05:00.0Z</rdeContact:trDate> + <rdeContact:trnData> + <rdeContact:trStatus>pending</rdeContact:trStatus> + <rdeContact:reRr client="jstiles">clientW</rdeContact:reRr> + <rdeContact:reDate>2011-03-08T19:38:00.0Z</rdeContact:reDate> + <rdeContact:acRr client="rmiles">RegistrarX</rdeContact:acRr> + <rdeContact:acDate>2011-03-13T23:59:59.0Z</rdeContact:acDate> + </rdeContact:trnData> + <rdeContact:disclose flag="0"> + <contact:voice/> + <contact:email/> + </rdeContact:disclose> + </rdeContact:contact> + ... + +5.3.1.2. <rdeContact:delete> Object + + The <rdeContact:delete> element contains the id of a contact that was + deleted. + + The following is an example of an <rdeContact:delete> object: + + ... + <rde:deletes> + ... + <rdeContact:delete> + <rdeContact:id>sh8013-TEST</rdeContact:id> + <rdeContact:id>co8013-TEST</rdeContact:id> + </rdeContact:delete> + ... + </rde:deletes> + ... + +5.3.2. CSV Model + + For the CSV model of the contact object, the <csvContact:contents> + child element of the <rde:contents> element is used to hold the new + or updated contacts objects for the deposit. The + <csvContact:deletes> child element of the <rde:deletes> element is + used to hold the deleted or purged contact objects for the deposit. + Both the <csvContact:contents> and <csvContact:deletes> elements + contain one or more <rdeCsv:csv> elements with a set of named CSV + file definitions using the <rdeCsv:csv> "name" attribute. + + Differential and Incremental Deposits are based on changes to the + contact objects. The updated contact object data under the + <csvContact:contents> element is a cascade replace down all of the + contact CSV files starting with the parent '"contact" CSV File + Definition' (Section 5.3.2.1.1). The child CSV file definitions + include a <csvContact:fId parent="true"> field. All the child CSV + file definition data for the contact objects in the parent '"contact" + CSV File Definition' (Section 5.3.2.1.1) MUST first be deleted and + then set using the data in the child CSV files. The deleted contact + object data under the <csvContact:deletes> element is a cascade + delete starting from the '"contact" Deletes CSV File Definition' + (Section 5.3.2.2.1). + +5.3.2.1. <csvContact:contents> + + The <csvContact:contents> is used to hold the new or updated contact + object information for the deposit. The <csvContact:contents> is + split into separate CSV file definitions using named <rdeCsv:csv> + elements with the "name" attribute. The following sections include + the supported contact CSV file definitions. + +5.3.2.1.1. "contact" CSV File Definition + + The "contact" CSV File Definition defines the fields and CSV file + references used for the contact object records. + + The following "csvContact" field elements MUST be used in the + "contact" <rdeCsv:csv> <rdeCsv:fields> element: + + <csvContact:fId> Contains the server-unique contact identifier with + type="eppcom:clIDType" and isRequired="true". + + <csvContact:fEmail> Contains the contact's email address with + type="eppcom:minTokenType" and isRequired="true". + + The following field elements MAY be used in the "contact" + <rdeCsv:csv> <rdeCsv:fields> element: + + <csvContact:fVoice> Contains the contact's voice telephone number + with type="contact:e164StringType". + + <csvContact:fVoiceExt> Contains the contact's voice telephone number + extension with type="token". + + <csvContact:fFax> Contains the contact's facsimile telephone number + with type="contact:e164StringType". + + <csvContact:fFaxExt> Contains the contact's facsimile telephone + number extension with type="token". + + The following "rdeCsv" and "csvRegistrar" fields MUST be used in the + "contact" <rdeCsv:csv> <rdeCsv:fields> element: + + <rdeCsv:fRoid> The ROID for the contact object with + isRequired="true". + + <rdeCsv:fClID> or <csvRegistrar:fGurid> A choice of the following: + + <rdeCsv:fClID> Identifier of the sponsoring client with + isRequired="true". + + <csvRegistrar:fGurid> Contains the GURID assigned by ICANN with + type="positiveInteger" and isRequired="true". + + The following "rdeCsv" fields, defined in 'CSV Common Field Elements' + (Section 4.6.2.2), MAY be used in the "contact" <rdeCsv:csv> + <rdeCsv:fields> element: + + <rdeCsv:fCrRr> Identifier of the registrar, defined in Section 5.4, + of the client that created the contact object. + + <rdeCsv:fCrID> Identifier of the client that created the contact + object. + + <rdeCsv:fUpRr> Identifier of the registrar, defined in Section 5.4, + of the client that last updated the contact object. + + <rdeCsv:fUpID> Identifier of the client that last updated the + contact object. + + <rdeCsv:fCrDate> Date and time of the contact object creation. + + <rdeCsv:fUpDate> Date and time of the last update to the contact + object. This field MUST NOT be set if the domain name object has + never been modified. + + <rdeCsv:fTrDate> Date and time of the last transfer for the contact + object. This field MUST NOT be set if the domain name object has + never been transferred. + + The following is an example of a "contact" <csvContact:contacts> + <rdeCsv:csv> element: + + ... + <csvContact:contents> + ... + <rdeCsv:csv name="contact"> + <rdeCsv:fields> + <csvContact:fId/> + <rdeCsv:fRoid/> + <csvContact:fVoice/> + <csvContact:fVoiceExt/> + <csvContact:fFax/> + <csvContact:fFaxExt/> + <csvContact:fEmail/> + <rdeCsv:fClID/> + <rdeCsv:fCrRr/> + <rdeCsv:fCrID/> + <rdeCsv:fCrDate/> + <rdeCsv:fUpRr/> + <rdeCsv:fUpID/> + <rdeCsv:fUpDate/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="8587AA49"> + contact-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvContact:contents> + ... + + The following is an example of the contact-YYYYMMDD.csv file. The + file contains nine object contact records: + + domain1admin,Cdomain1admin-TEST,+1.7035555555,1234, + +1.7035555556,,jdoe@example.example,registrarX,registrarX, + clientY,2009-09-13T08:01:00.0Z,registrarX,clientY, + 2009-11-26T09:10:00.0Z + domain1tech,Cdomain1tech-TEST,+1.7035555555,1234, + +1.7035555556,,jdoe@example.example,registrarX,registrarX, + clientY,2009-09-13T08:01:00.0Z,registrarX,clientY, + 2009-11-26T09:10:00.0Z + domain1billing,Cdomain1billing-TEST,+1.7035555555,1234, + +1.7035555556,,jdoe@example.example,registrarX,registrarX, + clientY,2009-09-13T08:01:00.0Z,registrarX,clientY, + 2009-11-26T09:10:00.0Z + domain2admin,Cdomain2admin-TEST,+1.7035555555,1234, + +1.7035555556,,jdoe@example.example,registrarX,registrarX, + clientY,2009-09-13T08:01:00.0Z,registrarX,clientY, + 2009-11-26T09:10:00.0Z + domain2tech,Cdomain2tech-TEST,+1.7035555555,1234, + +1.7035555556,,jdoe@example.example,registrarX,registrarX, + clientY,2009-09-13T08:01:00.0Z,registrarX,clientY, + 2009-11-26T09:10:00.0Z + domain2billing,Cdomain2billing-TEST,+1.7035555555,1234, + +1.7035555556,,jdoe@example.example,registrarX,registrarX, + clientY,2009-09-13T08:01:00.0Z,registrarX,clientY, + 2009-11-26T09:10:00.0Z + xnabc123admin,Cxnabc123admin-TEST,+1.7035555555,1234, + +1.7035555556,,jdoe@example.example,registrarX,registrarX, + clientY,2009-09-13T08:01:00.0Z,registrarX,clientY, + 2009-11-26T09:10:00.0Z + xnabc123tech,Cxnabc123tech-TEST,+1.7035555555,1234, + +1.7035555556,,jdoe@example.example,registrarX,registrarX, + clientY,2009-09-13T08:01:00.0Z,registrarX,clientY, + 2009-11-26T09:10:00.0Z + xnabc123billing,Cxnabc123billing-TEST,+1.7035555555,1234, + +1.7035555556,,jdoe@example.example,registrarX,registrarX, + clientY,2009-09-13T08:01:00.0Z,registrarX,clientY, + 2009-11-26T09:10:00.0Z + +5.3.2.1.2. "contactStatuses" CSV File Definition + + The "contactStatuses" CSV File Definition defines the fields and CSV + file references used for the contact object statuses. + + The following "csvContact" field elements, defined in the '"contact" + CSV File Definition' (Section 5.3.2.1.1), MUST be used in the + "contactStatuses" <rdeCsv:csv> <rdeCsv:fields> element: + + <csvContact:fId> Server-unique contact identifier of status with + isRequired="true" and parent="true". + + <csvContact:fStatus> The status of the contact with + type="contact:statusValueType" and isRequired="true". + + The following "rdeCsv" fields, defined in 'CSV Common Field Elements' + (Section 4.6.2.2), MAY be used in the "contactStatuses" <rdeCsv:csv> + <rdeCsv:fields> element: + + <rdeCsv:fStatusDescription> The contact object status description, + which is free-form text describing the rationale for the status. + + <rdeCsv:fLang> Language of the <rdeCsv:fStatusDescription> field. + + The following is an example of a "contactStatuses" + <csvContact:contents> <rdeCsv:csv> element: + + ... + <csvContact:contents> + ... + <rdeCsv:csv name="contactStatuses"> + <rdeCsv:fields> + <csvContact:fId parent="true"/> + <csvContact:fStatus/> + <rdeCsv:fStatusDescription/> + <rdeCsv:fLang/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="137E13EC"> + contactStatuses-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvContact:contents> + ... + + The following is an example of the corresponding contactStatuses- + YYYYMMDD.csv file. The file contains the statuses for the nine + contact identifiers: + + domain1admin,ok,, + domain1tech,ok,, + domain1billing,ok,, + domain2admin,ok,, + domain2tech,ok,, + domain2billing,ok,, + xnabc123admin,ok,, + xnabc123tech,ok,, + xnabc123billing,ok,, + +5.3.2.1.3. "contactPostal" CSV File Definition + + The "contactPostal" CSV File Definition defines the fields and CSV + file references used for the contact postal info object records. + + The following "csvContact" field elements MUST be used in the + "contactPostal" <rdeCsv:csv> <rdeCsv:fields> element: + + <csvContact:fPostalType> Contains the form of the postal address + information with type="contact:postalLineType" and + isRequired="true". This field specifies the form ("int" or + "loc"), as defined in Section 4.6.3, of the <csvContact:fName>, + <csvContact:fOrg>, <csvContact:fStreet>, <csvContact:fCity>, + <csvContact:fSp>, <csvContact:fPc>, and <csvContact:fCc> fields. + + <csvContact:fName> Contains the contact's name of the individual or + role represented by the contact with type="contact:postalLineType" + and isRequired="true". An OPTIONAL "isLoc" attribute is used to + indicate the localized or internationalized form as defined in + Section 4.6.3. + + <csvContact:fStreet> Contains the contact's street address line with + type="contact:fPostalLineType". An "index" attribute is required + to indicate which street address line the field represents with + index="0" for the first line and incrementing for each line up to + index="2" for the third line. An OPTIONAL "isLoc" attribute is + used to indicate the localized or internationalized form as + defined in Section 4.6.3. + + <csvContact:fCity> Contains the contact's city with + type="contact:postalLineType" and isRequired="true". An OPTIONAL + "isLoc" attribute is used to indicate the localized or + internationalized form as defined in Section 4.6.3. + + <csvContact:fCc> Contains the contact's country code with + type="contact:ccType" and isRequired="true". An OPTIONAL "isLoc" + attribute is used to indicate the localized or internationalized + form as defined in Section 4.6.3. + + The following "csvContact" field elements MAY be used in the + "contactPostal" <rdeCsv:csv> <rdeCsv:fields> element: + + <csvContact:fOrg> Contains the name of the organization with which + the contact is affiliated with type="contact:optPostalLineType". + An OPTIONAL "isLoc" attribute is used to indicate the localized or + internationalized form as defined in Section 4.6.3. + + <csvContact:fSp> Contains the contact's state or province with + type="contact:optPostalLineType". An OPTIONAL "isLoc" attribute + is used to indicate the localized or internationalized form as + defined in Section 4.6.3. + + <csvContact:fPc> Contains the contact's postal code with + type="contact:pcType". An OPTIONAL "isLoc" attribute is used to + indicate the localized or internationalized form as defined in + Section 4.6.3. + + The following "csvContact" fields, defined in the '"contact" CSV File + Definition' (Section 5.3.2.1.1), MUST be used in the "contactPostal" + <rdeCsv:csv> <rdeCsv:fields> element: + + <csvContact:fId> Server-unique contact identifier for the contact + object with isRequired="true" and parent="true". + + The following is an example of a "contactPostal" + <csvContact:contents> <rdeCsv:csv> element: + + ... + <csvContact:contents> + ... + <rdeCsv:csv name="contactPostal"> + <rdeCsv:fields> + <csvContact:fId parent="true"/> + <csvContact:fPostalType/> + <csvContact:fName/> + <csvContact:fOrg/> + <csvContact:fStreet index="0"/> + <csvContact:fStreet index="1"/> + <csvContact:fStreet index="2"/> + <csvContact:fCity/> + <csvContact:fSp/> + <csvContact:fPc/> + <csvContact:fCc/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="1456A89C"> + contactPostal-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvContact:contents> + ... + + The following is an example of the contactPostal-YYYYMMDD.csv file. + The file contains nine contact postal records: + + domain1admin,int,"John Doe","Example Inc.", + "123 Example Dr.","Suite 100",,Reston,VA,20190,US + domain1tech,int,"John Doe","Example Inc.", + "123 Example Dr.","Suite 100",,Reston,VA,20190,US + domain1billing,int,"John Doe","Example Inc.", + "123 Example Dr.","Suite 100",,Reston,VA,20190,US + domain2admin,int,"John Doe","Example Inc.", + "123 Example Dr.","Suite 100",,Reston,VA,20190,US + domain2tech,int,"John Doe","Example Inc.", + "123 Example Dr.","Suite 100",,Reston,VA,20190,US + domain2billing,int,"John Doe","Example Inc.", + "123 Example Dr.","Suite 100",,Reston,VA,20190,US + xnabc123admin,int,"John Doe","Example Inc.", + "123 Example Dr.","Suite 100",,Reston,VA,20190,US + xnabc123tech,int,"John Doe","Example Inc.", + "123 Example Dr.","Suite 100",,Reston,VA,20190,US + xnabc123billing,int,"John Doe","Example Inc.", + "123 Example Dr.","Suite 100",,Reston,VA,20190,US + +5.3.2.1.4. "contactTransfer" CSV File Definition + + The "contactTransfer" CSV File Definition defines the fields and CSV + file references used for the contact object pending and completed + transfer records. No additional field elements were added for use in + the "contactTransfer" <rdeCsv:csv> <rdeCsv:fields> element. The + following "rdeCsv" fields, defined in 'CSV Common Field Elements' + (Section 4.6.2.2), MUST be used in the "contactTransfer" <rdeCsv:csv> + <rdeCsv:fields> element: + + <rdeCsv:fTrStatus> State of the most recent transfer request with + isRequired="true". + + <rdeCsv:fReRr> Identifier of the registrar, defined in Section 5.4, + of the client that requested the transfer with isRequired="true". + + <rdeCsv:fReDate> Date and time that the transfer was requested with + isRequired="true". + + <rdeCsv:fAcRr> Identifier of the registrar, defined in Section 5.4, + of the client that should take or took action with + isRequired="true". + + <rdeCsv:fAcDate> Date and time that the transfer action should be + taken or has been taken with isRequired="true". + + The following "rdeCsv" fields, defined in 'CSV Common Field Elements' + (Section 4.6.2.2), MAY be used in the "contactTransfer" <rdeCsv:csv> + <rdeCsv:fields> element: + + <rdeCsv:fReID> Identifier of the client that requested the transfer. + + <rdeCsv:fAcID> Identifier of the client that should take or took + action for transfer. + + The following "csvContact" fields, defined for the '"contact" CSV + File Definition' (Section 5.3.2.1.1), MUST be used in the + "contactTransfer" <rdeCsv:csv> <rdeCsv:fields> element: + + <csvContact:fId> Server-unique contact identifier for the contact + object with isRequired="true". + + The following is an example of a "contactTransfer" + <csvContact:contents> <rdeCsv:csv> element: + + ... + <csvContact:contents> + ... + <rdeCsv:csv name="contactTransfer"> + <rdeCsv:fields> + <csvContact:fId parent="true"/> + <rdeCsv:fTrStatus/> + <rdeCsv:fReRr/> + <rdeCsv:fReID/> + <rdeCsv:fReDate/> + <rdeCsv:fAcRr/> + <rdeCsv:fAcID/> + <rdeCsv:fAcDate/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="788D308E"> + contactTransfer-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvContact:contents> + ... + + The following is an example of the contactTransfer-YYYYMMDD.csv file. + The file contains one contact transfer record in pending status: + + xnabc123admin,clientApproved,registrarX,clientX, + 2011-04-08T19:38:00.0Z,registrarY,clientY,2011-04-09T20:38:00.0Z + +5.3.2.1.5. "contactDisclose" CSV File Definition + + The "contactDisclose" CSV File Definition defines the fields and CSV + file references used for the contact disclose object records. + + The following "csvContact" field elements MAY be used in the + "contactDisclose" <rdeCsv:csv> <rdeCsv:fields> element: + + <csvContact:fDiscloseFlag> Contains flag with a value of "true" or + "1" (one) notes the preference to allow disclosure of the + specified elements as an exception to the stated data-collection + policy. A value of "false" or "0" (zero) notes a client + preference to not allow disclosure of the specified elements as an + exception to the stated data-collection policy with + type="boolean". The additional fields define specific exceptional + disclosure preferences based on the <csvContact:fDiscloseFlag> + field. + + <csvContact:fDiscloseNameLoc> Exceptional disclosure preference flag + for the localized form of the contact name with type="boolean". + + <csvContact:fDiscloseNameInt> Exceptional disclosure preference flag + for the internationalized form of the contact name with + type="boolean". + + <csvContact:fDiscloseOrgLoc> Exceptional disclosure preference flag + for the localized form of the contact organization with + type="boolean". + + <csvContact:fDiscloseOrgInt> Exceptional disclosure preference flag + for the internationalized form of the contact organization with + type="boolean". + + <csvContact:fDiscloseAddrLoc> Exceptional disclosure preference flag + for the localized form of the contact address with type="boolean". + + <csvContact:fDiscloseAddrInt> Exceptional disclosure preference flag + for the internationalized form of the contact address with + type="boolean". + + <csvContact:fDiscloseVoice> Exceptional disclosure preference flag + of the contact voice telephone number with type="boolean". + + <csvContact:fDiscloseFax> Exceptional disclosure preference flag of + the contact facsimile telephone number with type="boolean". + + <csvContact:fDiscloseEmail> Exceptional disclosure preference flag + of the contact email address with type="boolean". + + The following "csvContact" fields, defined for the '"contact" CSV + File Definition' (Section 5.3.2.1.1), MUST be used in the + "contactDisclose" <rdeCsv:csv> <rdeCsv:fields> element: + + <csvContact:fId> Server-unique contact identifier for the contact + object with isRequired="true". + + The following is an example of a "contactDisclose" + <csvContact:contents> <rdeCsv:csv> element: + + ... + <csvContact:contents> + ... + <rdeCsv:csv name="contactDisclose"> + <rdeCsv:fields> + <csvContact:fId parent="true"/> + <csvContact:fDiscloseFlag/> + <csvContact:fDiscloseNameLoc/> + <csvContact:fDiscloseNameInt/> + <csvContact:fDiscloseOrgLoc/> + <csvContact:fDiscloseOrgInt/> + <csvContact:fDiscloseAddrLoc/> + <csvContact:fDiscloseAddrInt/> + <csvContact:fDiscloseVoice/> + <csvContact:fDiscloseFax/> + <csvContact:fDiscloseEmail/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="1141EFD4"> + contactDisclose-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvContact:contents> + ... + + The following is an example of the contactDisclose-YYYYMMDD.csv file. + The file contains one disclosure records, disabling disclosure of + voice, fax, and email: + + xnabc123admin,0,0,0,0,0,0,0,1,1,1 + +5.3.2.2. <csvContact:deletes> + + The <csvContact:deletes> is used to hold the deleted contact objects + in a Differential or Incremental Deposit. All the contact object + data is deleted as part of a cascade delete. The + <csvContact:deletes> is split into separate CSV file definitions + using named <rdeCsv:csv> elements with the "name" attribute. The + following section defines the supported contact deletes CSV file + definition. + +5.3.2.2.1. "contact" Deletes CSV File Definition + + The following "csvContact" field elements MUST be used in the deletes + "contact" <rdeCsv:csv> <rdeCsv:fields> element: + + <csvContact:fId> Contains the server-unique contact identifier with + type="eppcom:clIDType" and isRequired="true". + + The following is an example of a "contact" <csvContact:deletes> + <rdeCsv:csv> element: + + ... + <csvContact:deletes> + ... + <rdeCsv:csv name="contact"> + <rdeCsv:fields> + <csvContact:fId/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="0C4B70DC"> + contact-delete-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvContact:deletes> + ... + + The following is an example of the contact-delete-YYYYMMDD.csv file. + The file contains six contact records: + + domain1admin + domain1tech + domain1billing + domain2admin + domain2tech + domain2billing + +5.4. Registrar Object + + The registrar object represents the sponsoring client for other + objects and is typically referred to as the sponsoring registrar. + The registrar object supports both the XML model and the CSV model, + defined in Section 2. The elements used for both models are defined + in the following sections. + +5.4.1. XML Model + + There are two elements used in the data escrow of the registrar + objects for the XML model including the <rdeRegistrar:registrar> + element, under the <rdeRegistrar:contents> element, and the + <rdeRegistrar:delete> element, under the <rde:deletes> element. + + An <rdeRegistrar:registrar> element substitutes for the + <rdeRegistrar:abstractRegistrar> abstract element to create a + concrete definition of a registrar. The + <rdeRegistrar:abstractRegistrar> element can be replaced by other + domain definitions using the XML schema substitution groups feature. + +5.4.1.1. <rdeRegistrar:registrar> Element + + The <registrar> element contains the following child elements: + + * An <id> element that contains the registry-unique identifier of + the registrar object. This <id> has a superordinate relationship + to a subordinate <clID>, <crRr>, or <upRr> of domain, contact, and + host objects. + + * An <name> element that contains the name of the registrar. + + * An OPTIONAL <gurid> element that contains the GURID assigned by + ICANN. + + * An OPTIONAL <status> element that contains the operational status + of the registrar. Possible values are: ok, readonly, and + terminated. + + * One or two OPTIONAL <postalInfo> elements that contain postal + address information. Two elements are provided so that address + information can be provided in both internationalized and + localized forms; a "type" attribute is used to identify the two + forms. If an internationalized form (type="int") is provided, + element content MUST be represented in a subset of UTF-8 that can + be represented in the 7-bit US-ASCII character set. If a + localized form (type="loc") is provided, element content MAY be + represented in unrestricted UTF-8. The <postalInfo> element + contains the following child elements: + + - A <addr> element that contains address information associated + with the registrar. The <addr> element contains the following + child elements: + + o One, two, or three OPTIONAL <street> elements that contain + the registrar's street address. + + o A <city> element that contains the registrar's city. + + o An OPTIONAL <sp> element that contains the registrar's state + or province. + + o An OPTIONAL <pc> element that contains the registrar's + postal code. + + o A <cc> element that contains the registrar's country code. + + * An OPTIONAL <voice> element that contains the registrar's voice + telephone number. + + * An OPTIONAL <fax> element that contains the registrar's facsimile + telephone number. + + * An OPTIONAL <email> element that contains the registrar's email + address. + + * An OPTIONAL <url> element that contains the registrar's URL. + + * An OPTIONAL <whoisInfo> element that contains WHOIS information. + The <whoisInfo> element contains the following child elements: + + - An OPTIONAL <name> element that contains the name of the + registrar WHOIS server listening on TCP port 43 as specified in + [RFC3912]. + + - An OPTIONAL <url> element that contains the name of the + registrar WHOIS server listening on TCP port 80/443. + + * An OPTIONAL <crDate> element that contains the creation date and + time of the registrar object. + + * An OPTIONAL <upDate> element that contains the date and time of + the most recent modification of the registrar object. This + element MUST NOT be present if the registrar object has never been + modified. + + The following is an example of a <registrar> object: + + ... + <rdeRegistrar:registrar> + <rdeRegistrar:id>RegistrarX</rdeRegistrar:id> + <rdeRegistrar:name>Registrar X</rdeRegistrar:name> + <rdeRegistrar:gurid>8</rdeRegistrar:gurid> + <rdeRegistrar:status>ok</rdeRegistrar:status> + <rdeRegistrar:postalInfo type="int"> + <rdeRegistrar:addr> + <rdeRegistrar:street>123 Example Dr.</rdeRegistrar:street> + <rdeRegistrar:street>Suite 100</rdeRegistrar:street> + <rdeRegistrar:city>Dulles</rdeRegistrar:city> + <rdeRegistrar:sp>VA</rdeRegistrar:sp> + <rdeRegistrar:pc>20166-6503</rdeRegistrar:pc> + <rdeRegistrar:cc>US</rdeRegistrar:cc> + </rdeRegistrar:addr> + </rdeRegistrar:postalInfo> + <rdeRegistrar:voice x="1234">+1.7035555555</rdeRegistrar:voice> + <rdeRegistrar:fax>+1.7035555556</rdeRegistrar:fax> + <rdeRegistrar:email>jdoe@example.example</rdeRegistrar:email> + <rdeRegistrar:url>http://www.example.example</rdeRegistrar:url> + <rdeRegistrar:whoisInfo> + <rdeRegistrar:name>whois.example.example</rdeRegistrar:name> + <rdeRegistrar:url>http://whois.example.example</rdeRegistrar:url> + </rdeRegistrar:whoisInfo> + <rdeRegistrar:crDate>2005-04-23T11:49:00.0Z</rdeRegistrar:crDate> + <rdeRegistrar:upDate>2009-02-17T17:51:00.0Z</rdeRegistrar:upDate> + </rdeRegistrar:registrar> + ... + +5.4.1.2. <rdeRegistrar:delete> Object + + The <rdeRegistrar:delete> element contains the id of a registrar that + was deleted. + + The following is an example of <rdeRegistrar:delete> object: + + ... + <rde:deletes> + ... + <rdeRegistrar:delete> + <rdeRegistrar:id>agnt0001-TEST</rdeRegistrar:id> + </rdeRegistrar:delete> + ... + </rde:deletes> + ... + +5.4.2. CSV Model + + For the CSV model of the registrar object, the + <csvRegistrar:contents> child element of the <rde:contents> element + is used to hold the new or updated registrar objects for the deposit. + The <csvRegistrar:deletes> child element of the <rde:deletes> element + is used to hold the deleted or purged registrar objects for the + deposit. Both the <csvRegistrar:contents> and <csvRegistrar:deletes> + elements contain one or more <rdeCsv:csv> elements with a set of + named CSV file definitions using the <rdeCsv:csv> "name" attribute. + + Differential and Incremental Deposits are based on changes to the + registrar objects. The updated registrar object data under the + <csvContact:contents> element is a cascade replace down all of the + registrar CSV files starting with the parent '"registrar" CSV File + Definition' (Section 5.4.2.1.1). The child CSV file definitions + include a <csvRegistrar:fId parent="true"> field. All the child CSV + file definition data for the registrar objects in the parent + '"registrar" CSV File Definition' (Section 5.4.2.1.1) MUST first be + deleted and then set using the data in the child CSV files. The + deleted registrar object data under the <csvRegistrar:deletes> + element is a cascade delete starting from the '"registrar" Deletes + CSV File Definition' (Section 5.4.2.2.1). + +5.4.2.1. <csvRegistrar:contents> + + The <csvRegistrar:contents> is used to hold the new or updated + registrar object information for the deposit. The + <csvRegistrar:contents> is split into separate CSV file definitions + using named <rdeCsv:csv> elements with the "name" attribute. The + following sections include the supported registrar CSV file + definitions. + +5.4.2.1.1. "registrar" CSV File Definition + + The "registrar" CSV File Definition defines the fields and CSV file + references used for the registrar object records. + + The following "csvRegistrar" field elements MUST be used in the + "registrar" <rdeCsv:csv> <rdeCsv:fields> element: + + <csvRegistrar:fId> or <csvRegistrar:fGurid> A choice of the + following: + + <csvRegistrar:fId> Contains the server-unique registrar + identifier with type="eppcom:clIDType" and isRequired="true". + + <csvRegistrar:fGurid> Contains the GURID assigned by ICANN with + type="positiveInteger" and isRequired="true". + + <csvRegistrar:fName> Contains the name of the registrar with + type="normalizedString" and isRequired="true". + + The following field elements MAY be used in the "registrar" + <rdeCsv:csv> <rdeCsv:fields> element: + + <csvRegistrar:fStatus> Contains the status of the registrar with + type="csvRegistrar:statusValueType". + + <csvRegistrar:fGurid> Contains the ID assigned by ICANN with + type="positiveInteger". This field is included in this section in + addition to the section above to support optionally providing the + <csvRegistrar:fGurid> field when the <csvRegistrar:fId> field is + used. + + <csvRegistrar:fWhoisUrl> Contains the Whois URL of the registrar + with type="anyURI". + + The following "rdeCsv" fields, defined in 'CSV Common Field Elements' + (Section 4.6.2.2), MAY be used in the "registrar" <rdeCsv:csv> + <rdeCsv:fields> element: + + <rdeCsv:fCrDate> Date and time of the registrar object creation. + + <rdeCsv:fUpDate> Date and time of the last update to the registrar + object. This field MUST NOT be set if the domain name object has + never been modified. + + <rdeCsv:fUrl> URL for the registrar web home page. + + The following "csvContact" fields, defined in 'Contact Object' + (Section 5.3), MAY be used in the "registrar" <rdeCsv:csv> + <rdeCsv:fields> element: + + <csvContact:fStreet> Registrar street address line with an "index" + attribute that represents the order of the street address line + from "0" to "2". An OPTIONAL "isLoc" attribute that is used to + indicate the localized or internationalized form, as defined in + Section 4.6.3. + + <csvContact:fCity> Registrar city with an OPTIONAL "isLoc" attribute + that is used to indicate the localized or internationalized form, + as defined in Section 4.6.3. + + <csvContact:fCc> Registrar country code with an OPTIONAL "isLoc" + attribute that is used to indicate the localized or + internationalized form, as defined in Section 4.6.3. + + <csvContact:fEmail> Registrar email address. The attribute + "isRequired" MUST equal "false". + + <csvContact:fSp> Registrar state or province with an OPTIONAL + "isLoc" attribute that is used to indicate the localized or + internationalized form, as defined in Section 4.6.3. + + <csvContact:fPc> Registrar postal code with an OPTIONAL "isLoc" + attribute that is used to indicate the localized or + internationalized form, as defined in Section 4.6.3. + + <csvContact:fVoice> Registrar voice telephone number. + + <csvContact:fVoiceExt> Registrar voice telephone number extension. + + <csvContact:fFax> Registrar facsimile telephone number. + + <csvContact:fFaxExt> Registrar facsimile telephone number extension. + + The following is an example of a "registrar" <csvRegistrar:contents> + <rdeCsv:csv> element: + + ... + <csvRegistrar:contents> + ... + <rdeCsv:csv name="registrar"> + <rdeCsv:fields> + <csvRegistrar:fId/> + <csvRegistrar:fName isLoc="false"/> + <csvRegistrar:fGurid/> + <csvRegistrar:fStatus/> + <csvContact:fStreet isLoc="false" index="0"/> + <csvContact:fStreet isLoc="false" index="1"/> + <csvContact:fStreet isLoc="false" index="2"/> + <csvContact:fCity isLoc="false"/> + <csvContact:fSp isLoc="false" /> + <csvContact:fPc isLoc="false" /> + <csvContact:fCc isLoc="false"/> + <csvContact:fVoice/> + <csvContact:fVoiceExt/> + <csvContact:fFax/> + <csvContact:fFaxExt/> + <csvContact:fEmail isRequired="false"/> + <rdeCsv:fUrl/> + <csvRegistrar:fWhoisUrl/> + <rdeCsv:fCrDate/> + <rdeCsv:fUpDate/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="57F6856F"> + registrar-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvRegistrar:contents> + ... + + The following is an example of the registrar-YYYYMMDD.csv file. The + file contains one registrar record: + + registrarX,"Example Inc.",8,ok,"123 Example Dr.", + "Suite 100",,Dulles,VA,20166-6503,US,+1.7035555555,1234, + +1.7035555556,,jdoe@example.example,http://www.example.example, + http://whois.example.example,2005-04-23T11:49:00.0Z, + 2009-02-17T17:51:00.0Z + +5.4.2.2. <csvRegistrar:deletes> + + The <csvRegistrar:deletes> is used to hold the deleted registrar + objects in a Differential or Incremental Deposit. All the registrar + object data is deleted as part of a cascade delete. The + <csvRegistrar:deletes> is split into separate CSV file definitions + using named <rdeCsv:csv> elements with the "name" attribute. The + following section defines the supported registrar deletes CSV file + definition. + +5.4.2.2.1. "registrar" Deletes CSV File Definition + + The following "csvRegistrar" field elements MUST be used in the + deletes "registrar" <rdeCsv:csv> <rdeCsv:fields> element: + + <csvRegistrar:fId> or <csvRegistrar:fGurid> A choice of the + following: + + <csvRegistrar:fId> Contains the server-unique registrar + identifier with type="eppcom:clIDType" and isRequired="true". + + <csvRegistrar:fGurid> Contains the GURID assigned by ICANN with + type="positiveInteger". The attribute "isRequired" MUST equal + "true". + + The following is an example of a "registrar" <csvRegistrar:deletes> + <rdeCsv:csv> element: + + ... + <csvRegistrar:deletes> + ... + <rdeCsv:csv name="registrar"> + <rdeCsv:fields> + <csvRegistrar:fId/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="5CB20A52"> + registrar-delete-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvRegistrar:deletes> + ... + + The following is an example of the registrar-delete-YYYYMMDD.csv + file. The file contains one registrar record: + + registrarZ + +5.5. IDN Table Reference Object + + The Internationalized Domain Names (IDN) table reference object is a + pseudo-object that is used to provide a short reference to the IDN + table and policy used in IDN registrations. The IDN reference object + supports both the XML and the CSV model, defined in 'Models' + (Section 2). The elements used for both models are defined in the + following sections. + +5.5.1. XML Model + + There is one element used in the data escrow of the IDN table + reference objects for the XML model, and that is the + <rdeIDN:idnTableRef>, under the <rde:contents> element. + +5.5.1.1. <rdeIDN:idnTableRef> Object + + The <rdeIDN:idnTableRef> contains the following elements. An "id" + attribute is used to specify an identifier for the IDN table. + + * A <url> element that contains the URL of the IDN table that is + being referenced. + + * A <urlPolicy> element that contains the URL of the IDN policy + document. If IDN variants are generated algorithmically, the + policy document MUST define the algorithm and the state of the + implicitly generated IDN variants. For a list of suggested states + for implicit IDN variants, please see [variantTLDsReport]. + + The following is an example of <idnTableRef> object: + + ... + <rdeIDN:idnTableRef id="pt-BR"> + <rdeIDN:url> + http://www.iana.org/domains/idn-tables/tables/br_pt-br_1.0.html + </rdeIDN:url> + <rdeIDN:urlPolicy> + http://registro.br/dominio/regras.html + </rdeIDN:urlPolicy> + </rdeIDN:idnTableRef> + ... + +5.5.2. CSV Model + + The IDN domain names, defined in Section 5.1, MAY have references to + the IDN language identifier using the <rdeCsv:fIdnTableId> field + element. The IDN table reference object defines the mapping of a + language identifier to a language table URL. The language table URL + defines the character code points that can be used for the language + identifier. The elements used for the IDN table reference object are + defined in this section. The <csvIDN:contents> child element of the + <rde:contents> element is used to hold the new or updated IDN table + reference objects for the deposit. The <csvIDN:deletes> child + element of the <rde:deletes> element is used to hold the deleted or + purged IDN table reference objects for the deposit. Both the + <csvIDN:contents> and <csvIDN:deletes> elements contain one or more + <rdeCsv:csv> elements with a set of named CSV file definitions using + the <rdeCsv:csv> "name" attribute. + +5.5.2.1. <csvIDN:contents> + + The <csvIDN:contents> is used to hold the new or updated IDN table + reference object information for the deposit. The <csvIDN:contents> + is split into separate CSV file definitions using named <rdeCsv:csv> + elements with the "name" attribute. The following sections include + the supported IDN table reference CSV file definitions. + +5.5.2.1.1. "idnLanguage" CSV File Definition + + The "idnLanguage" CSV File Definition defines the fields and CSV file + references used for the IDN table reference object records. + + The following "rdeCsv" fields, defined in Section 4.6.2.2, MUST be + used in the "idnLanguage" <rdeCsv:csv> <rdeCsv:fields> element: + + <rdeCsv:fIdnTableId> The language identifier that matches the values + for the <rdeCsv:fIdnTableId> field element in the '"domain" CSV + File Definition' (Section 5.1.2.1.1) files. The attribute + "isRequired" MUST equal "true". + + <rdeCsv:fUrl> URL that defines the character code points that can be + used for <csvDomain:fName> field in the '"domain" CSV File + Definition' (Section 5.1.2.1.1) files. The attribute "isRequired" + MUST equal "true". + + The following is an example of a "idnLanguage" <csvIDN:contents> + <rdeCsv:csv> element: + + ... + <csvIDN:contents> + ... + <rdeCsv:csv name="idnLanguage" sep=","> + <rdeCsv:fields> + <rdeCsv:fIdnTableId isRequired="true"/> + <rdeCsv:fUrl isRequired="true"/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="D6B0424F"> + idnLanguage-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvIDN:contents> + ... + + The following is an example of the corresponding idnLanguage- + YYYYMMDD.csv file. The file contains two IDN language records: + + LANG-1, + http://www.iana.org/domains/idn-tables/tables/test_tab1_1.1.txt + LANG-2, + http://www.iana.org/domains/idn-tables/tables/test_tab2_1.1.txt + +5.5.2.2. <csvIDN:deletes> + + The <csvIDN:deletes> is used to hold the deleted IDN table reference + objects in a Differential or Incremental Deposit. The + <csvIDN:deletes> is split into separate CSV file definitions using + named <rdeCsv:csv> elements with the "name" attribute. The following + section defines the supported IDN table reference deletes CSV file + definition. + +5.5.2.2.1. "idnLanguage" Deletes CSV File Definition + + The following "idnLanguage" field elements MUST be used in the + deletes "idnLanguage" <rdeCsv:csv> <rdeCsv:fields> element: + + <rdeCsv:fIdnTableId> The language identifier that matches the values + for the <rdeCsv:fIdnTableId> field element in the '"domain" CSV + File Definition' (Section 5.1.2.1.1) files. The attribute + "isRequired" MUST equal "true". + + The following is an example of a "idnLanguage" <csvIDN:deletes> + <rdeCsv:csv> element: + + ... + <csvIDN:deletes> + ... + <rdeCsv:csv name="idnLanguage"> + <rdeCsv:fields> + <rdeCsv:fIdnTableId isRequired="true"/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="4A28A569"> + idnLanguage-delete-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvIDN:deletes> + ... + + The following is an example of the idnLanguage-delete-YYYYMMDD.csv + file. The file contains one IDN language record: + + LANG-2 + +5.6. NNDN Object + + An NNDN (NNDN's not domain name) can be used to store registry + reserved names or (blocked, withheld, or mirrored) IDN variants. + + Domain name registries may maintain domain names without their being + persisted as domain objects in the registry system, for example, a + list of reserved names not available for registration. The NNDN is a + lightweight domain-like object that is used to escrow domain names + not maintained as domain name objects. + + A domain name can only exist as a domain name object or an NNDN + object, but not both. + + The NNDN object supports both the XML and the CSV model, defined in + 'Models' (Section 2). The elements used for both models are defined + in the following sections. + +5.6.1. XML Model + + There are two elements used in the data escrow of the NNDN objects + for the XML model including the <rdeNNDN:NNDN> element, under the + <rde:contents> element, and the <rdeNNDN:delete> element, under the + <rde:deletes> element. + + An <rdeNNDN:NNDN> element substitutes for the <rdeNNDN:abstractNNDN> + abstract element to create a concrete definition of an NNDN. The + <rdeNNDN:abstractDomain> element can be replaced by other NNDN + definitions using the XML schema substitution groups feature. + +5.6.1.1. <rdeNNDN:NNDN> Object + + The <rdeNNDN:NNDN> element contains the following child elements: + + * An <aName> element that contains the fully qualified name of the + NNDN. For IDNs, the A-label is used (see [RFC5891], Section 4.4). + + * An OPTIONAL <uName> element that contains the fully qualified name + of the NNDN in the Unicode character set. It MUST be provided if + available. + + * An OPTIONAL <idnTableId> element that references the IDN table + used for the NNDN. This corresponds to the "id" attribute of the + <idnTableRef> element. This element MUST be present if the NNDN + is an IDN. + + * An OPTIONAL <originalName> element is used to indicate that the + NNDN is used for an IDN variant. This element contains the domain + name used to generate the IDN variant. + + * A <nameState> element that indicates the state of the NNDN: + blocked, withheld, or mirrored. + + - If an NNDN is considered undesirable for registration (i.e., + unavailable for allocation to anyone), then the NNDN will be + tagged as "blocked". + + - If an NNDN is considered a potential registration of a domain + name object for a registrant, then the NNDN will be tagged as + "withheld". This status is only used when the NNDN is used for + an IDN variant. + + - If an NNDN is considered a mirrored IDN variant of a domain + name object, then the NNDN will be tagged as "mirrored". A + "mirroringNS" attribute is used to specify if the mirrored IDN + variant uses the NS mirror mechanism, meaning that the + activated variant domain name (i.e., NNDN) is delegated in the + DNS using the same NS records as in the <originalName>. The + default value of "mirroringNS" is true. If another mechanism + such as DNAME [RFC6672] is used, the value of the "mirroringNS" + attribute MUST be false. + + * An OPTIONAL <crDate> element that contains the date and time of + the NNDN object creation. + + The following is an example of an <rdeNNDN:NNDN> object: + + ... + <rdeNNDN:NNDN> + <rdeNNDN:aName>xn--exampl-gva.example</rdeNNDN:aName> + <rdeNNDN:idnTableId>pt-BR</rdeNNDN:idnTableId> + <rdeNNDN:originalName>example.example</rdeNNDN:originalName> + <rdeNNDN:nameState>withheld</rdeNNDN:nameState> + <rdeNNDN:crDate>2005-04-23T11:49:00.0Z</rdeNNDN:crDate> + </rdeNNDN:NNDN> + ... + +5.6.1.2. <rdeNNDN:delete> Object + + The <rdeNNDN:delete> element contains the NNDN that was deleted, + i.e., the <aName>. + + The following is an example of an <rdeNNDN::delete> object: + + ... + <rde:deletes> + ... + <rdeNNDN:delete> + <rdeNNDN:aName>xn--pingino-q2a.example</rdeNNDN:aName> + </rdeNNDN:delete> + ... + </rde:deletes> + ... + +5.6.2. CSV Model + + For the CSV model of the NNDN object, the <csvNNDN:contents> child + element of the <rde:contents> element is used to hold the new or + updated NNDN objects for the deposit. The <csvNNDN:deletes> child + element of the <rde:deletes> element is used to hold the deleted or + purged NNDN objects for the deposit. Both the <csvNNDN:contents> and + <csvNNDN:deletes> elements contain one or more <rdeCsv:csv> elements + with a set of named CSV file definitions using the <rdeCsv:csv> + "name" attribute. + +5.6.2.1. <csvNNDN:contents> + + The <csvNNDN:contents> is used to hold the new or updated NNDN object + information for the deposit. The <csvNNDN:contents> is split into + separate CSV file definitions using named <rdeCsv:csv> elements with + the "name" attribute. The following sections include the supported + NNDN CSV file definitions. + +5.6.2.1.1. "NNDN" CSV File Definition + + The "NNDN" CSV File Definition defines the fields and CSV file + references used for the NNDN object records. + + The following "csvNNDN" field elements MUST be used in the "NNDN" + <rdeCsv:csv> <rdeCsv:fields> element: + + <csvNNDN:fAName> Fully qualified name of the NNDN with + type="eppcom:labelType" and isRequired="true". For IDNs, the + A-label is used (see [RFC5891], Section 4.4). + + <csvNNDN:fNameState> State of the NNDN: blocked or withheld with + type="rdeNNDN:nameState" and isRequired="true". See + Section 5.6.1.1 for a description of the possible values for the + <rdeNNDN:nameState> element. + + The following field elements MAY be used in the "NNDN" <rdeCsv:csv> + <rdeCsv:fields> element: + + <csvNNDN:fOriginalName> Domain name used to generate the IDN variant + with type="eppcom:labelType". + + <csvNNDN:fMirroringNS> Defines whether the "mirroring" + <csvNNDN:fNameState> uses the NS mirror mechanism, as described + for the <rdeNNDN:nameState> "mirroringNS" attribute in + Section 5.6.1.1, with type="boolean". If the field element is not + defined the default value is "true". + + The following "rdeCsv" fields, defined in 'CSV Common Field Elements' + (Section 4.6.2.2), MAY be used in the "NNDN" <rdeCsv:csv> + <rdeCsv:fields> element: + + <rdeCsv:fCrDate> Date and time of the NNDN object creation. + + <rdeCsv:fUName> Name of the NNDN in the Unicode character set for + the <csvNNDN:fAName> field element. + + <rdeCsv:fIdnTableId> IDN table identifier for the NNDN that matches + an IDN table reference object record, as defined in Section 5.5.2. + + The following is an example of an "NNDN" <csvNNDN:contents> + <rdeCsv:csv> element: + + ... + <csvNNDN:contents> + ... + <rdeCsv:csv name="NNDN" sep=","> + <rdeCsv:fields> + <csvNNDN:fAName/> + <rdeCsv:fIdnTableId/> + <csvNNDN:fOriginalName/> + <csvNNDN:fNameState/> + <csvNNDN:fMirroringNS/> + <rdeCsv:fCrDate/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="085A7CE4"> + NNDN-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvNNDN:contents> + ... + + The following is an example of the corresponding NNDN-YYYYMMDD.csv + file. The file contains two NNDN records for an IDN with one blocked + variant and one mirrored variant: + + xn--bc456-3ve.example,LANG-1,xn--bc123-3ve.example, + blocked,,2005-04-23T11:49:00.0Z + xn--bc789-3ve.example,LANG-1,xn--bc123-3ve.example, + mirrored,1,2005-04-23T11:49:00.0Z + +5.6.2.2. <csvNNDN:deletes> + + The <csvNNDN:deletes> is used to hold the deleted NNDN objects in a + Differential or Incremental Deposit. The <csvNNDN:deletes> is split + into separate CSV file definitions using named <rdeCsv:csv> elements + with the "name" attribute. The following section defines the + supported NNDN deletes CSV file definition. + +5.6.2.2.1. "NNDN" Deletes CSV File Definition + + The following "NNDN" field elements MUST be used in the deletes + "NNDN" <rdeCsv:csv> <rdeCsv:fields> element: + + <csvNNDN:fAName> Fully qualified name of the NNDN with + type="eppcom:labelType" and isRequired="true". + + The following is an example of an "NNDN" <csvNNDN:deletes> + <rdeCsv:csv> element: + + ... + <csvNNDN:deletes> + ... + <rdeCsv:csv name="NNDN"> + <rdeCsv:fields> + <csvNNDN:fAName/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="A41F1D9B"> + NNDN-delete-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + ... + </csvNNDN:deletes> + ... + + The following is an example of the corresponding NNDN-delete- + YYYYMMDD.csv file. The file contains one NNDN records: + + xn--bc456-3ve.example + +5.7. EPP Parameters Object + + The EPP parameters object is a pseudo-object that defines the set of + object and object extension services supported by the registry, as + defined in [RFC5730]. The EPP parameters object is only defined as + XML but could be used in either the XML model or CSV model. The EPP + parameters object is defined using the <rdeEppParams:eppParams> + element. The EPP parameters object SHOULD be included if the + registry supports EPP. A maximum of one EPP parameters object MUST + exist at a certain point in time (Time Watermark). + + The syntax and content of the <rdeEppParams:eppParams> children + elements is as explained in Section 2.4 of [RFC5730]. The children + of the <eppParams> are as follows: + + * One or more <version> elements that indicate the EPP versions + supported by the registry. + + * One or more <lang> elements that indicate the identifiers of the + text response languages supported by the registry's EPP server. + + * One or more <objURI> elements that contain namespace URIs + representing the objects that the registry's EPP server is capable + of managing. + + * An OPTIONAL <svcExtension> element that contains one or more + <extURI> elements that contain namespace URIs representing object + extensions supported by the registry's EPP server. + + * A <dcp> element that contains child elements used to describe the + server's privacy policy for data collection and management. See + Section 2.4 of [RFC5730] for more details. + + The following is an example of <eppParams> element object: + + ... + <rdeEppParams:eppParams> + <rdeEppParams:version>1.0</rdeEppParams:version> + <rdeEppParams:lang>en</rdeEppParams:lang> + <rdeEppParams:objURI>urn:ietf:params:xml:ns:domain-1.0 + </rdeEppParams:objURI> + <rdeEppParams:objURI>urn:ietf:params:xml:ns:contact-1.0 + </rdeEppParams:objURI> + <rdeEppParams:objURI>urn:ietf:params:xml:ns:host-1.0 + </rdeEppParams:objURI> + <rdeEppParams:svcExtension> + <epp:extURI>urn:ietf:params:xml:ns:rgp-1.0</epp:extURI> + <epp:extURI>urn:ietf:params:xml:ns:secDNS-1.1</epp:extURI> + </rdeEppParams:svcExtension> + <rdeEppParams:dcp> + <epp:access><epp:all/></epp:access> + <epp:statement> + <epp:purpose> + <epp:admin/> + <epp:prov/> + </epp:purpose> + <epp:recipient> + <epp:ours/> + <epp:public/> + </epp:recipient> + <epp:retention> + <epp:stated/> + </epp:retention> + </epp:statement> + </rdeEppParams:dcp> + </rdeEppParams:eppParams> + ... + +5.8. Policy Object + + The policy object is a pseudo-object that is used to specify which + OPTIONAL elements from the XML model are REQUIRED based on the + business model of the registry. For the CSV model, the OPTIONAL + "isRequired" attribute of the <rdeCsv:field> elements, defined in + Section 4.6.2.1, is used to specify which OPTIONAL fields are + REQUIRED based on the business model of the registry. + +5.8.1. <rdePolicy:policy> Object + + The OPTIONAL <policy> contains the following attributes: + + * An <element> that defines that the referenced <element> is + REQUIRED. + + * <scope> that defines the XPath (see [W3C.REC-xpath-31-20170321]) + of the element referenced by <element>. + + The following is an example of <rdePolicy:policy> object: + + ... + <rdePolicy:policy scope="//rde:deposit/rde:contents/rdeDomain:domain" + element="rdeDomain:registrant" /> + ... + +5.9. Header Object + + The header object is a pseudo-object that is used to specify the + number of objects in the repository at a specific point in time + (Timeline Watermark) regardless of the type of deposit: Differential, + Full, or Incremental Deposit. The header object may also be used to + provide additional information on the contents of the deposit. The + header object is only defined as XML but one header object MUST + always be present per escrow deposit regardless of using the XML + model or CSV model. The header object is defined using the + <rdeHeader:header> element. + +5.9.1. <rdeHeader:header> Object + + The <rdeHeader:header> contains the following elements: + + * A choice of one of the elements defined in the + "repositoryTypeGroup" group element that indicates the unique + identifier for the repository being escrowed. Possible elements + are: + + - An <rdeHeader:tld> element that defines TLD or the RCDN being + escrowed in the case of a registry data escrow deposit. For + IDNs, the A-label is used (see [RFC5891], Section 4.4). + + - An <rdeHeader:registrar> element that defines the Registrar ID + corresponding to a registrar data escrow deposit. In the case + of an ICANN-accredited registrar, the <rdeHeader:registrar> + element MUST be the IANA Registrar ID assigned by ICANN. + + - An <rdeHeader:ppsp> element that defines the provider ID + corresponding to a Privacy and Proxy Services Provider (PPSP) + data escrow deposit. In the case of an ICANN-accredited PPSP, + the <rdeHeader:ppsp> element MUST be the unique ID assigned by + ICANN. + + - An <rdeHeader:reseller> element that defines the provider ID + corresponding to a reseller data escrow deposit. + + * A <count> element that contains the number of objects in the SRS + at a specific point in time (Timeline Watermark) regardless of the + type of deposit: Differential, Full, or Incremental. The <count> + element supports the following attributes: + + - A "uri" attribute reflects the XML namespace URI of the primary + objects for the XML model and CSV model. For example, the + "uri" is set to "urn:ietf:params:xml:ns:rdeDomain-1.0" for + domain name objects using the XML model, and the "uri" is set + to "urn:ietf:params:xml:ns:csvDomain-1.0" for domain name + objects using the CSV model. + + - An OPTIONAL "rcdn" attribute indicates the RCDN of the objects + included in the <count> element. For IDNs, the A-label is used + [RFC5891], Section 4.4. If the "rcdn" attribute is present, + the value of the <count> element must include only objects + related to registrations in the same and lower levels. For + example in a data escrow deposit for the .EXAMPLE TLD, a value + of "example" in the "rcdn" attribute within the <count> element + indicates the number of objects in the TLD including objects in + other RCDNs within the TLD, whereas a value of "com.example" + indicates the number of elements for objects under + "com.example" and lower levels. Omitting the "rcdn" attribute + indicates that the total includes all objects of the specified + "uri" in the repository (e.g., the TLD, Registrar, or PPSP). + + - An OPTIONAL "registrarId" attribute indicates the identifier of + the sponsoring registrar of the objects included in the <count> + element. In the case of an ICANN-accredited registrar, the + value MUST be the IANA Registrar ID assigned by ICANN. + + * An OPTIONAL <contentTag> element that contains a tag that defines + the expected content in the deposit. The producer and consumer of + the deposits will coordinate the set of possible <contentTag> + element values. + + The following is an example of <rdeHeader:header> object referencing + only the XML model objects: + + ... + <rdeHeader:header> + <rdeHeader:tld>test</rdeHeader:tld> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:rdeDomain-1.0">2</rdeHeader:count> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:rdeHost-1.0">1</rdeHeader:count> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:rdeContact-1.0">1</rdeHeader:count> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:rdeRegistrar-1.0">1 + </rdeHeader:count> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:rdeIDN-1.0">1</rdeHeader:count> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:rdeNNDN-1.0">1</rdeHeader:count> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:rdeEppParams-1.0">1 + </rdeHeader:count> + </rdeHeader:header> + ... + + The following is an example of an <rdeHeader:header> object + referencing the CSV and XML model objects: + + ... + <rdeHeader:header> + <rdeHeader:tld>test</rdeHeader:tld> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:csvDomain-1.0">2</rdeHeader:count> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:csvHost-1.0">1</rdeHeader:count> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:csvContact-1.0">1</rdeHeader:count> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:csvRegistrar-1.0">1 + </rdeHeader:count> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:csvIDN-1.0">1</rdeHeader:count> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:csvNNDN-1.0">1</rdeHeader:count> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:rdeEppParams-1.0">1 + </rdeHeader:count> + </rdeHeader:header> + ... + +5.10. DNRD Common Objects Collection + + The DNRD common objects collection contains data structures + referenced by two or more of the main objects in the XML model. + +6. RDE IDN Variants Handling + + Depending on the registration policy of the registry, for a domain + name there may be multiple variant names. See [variantTLDsReport] + for further details on IDN variants. + + A registry could choose to escrow IDN variants as domains or NNDN + objects. A specific IDN variant can be represented in the escrow + deposit, as a domain or as an NNDN object, but not both. + + If using domain objects to represent IDN variants, the normal + behavior during restoration of an SRS based on an escrow deposit is + to restore the IDN variants as a mirrored variant. If the + registration data of the IDN variant is different from the original + name, the details of this specific implementation MUST be described + in the IDN policy document. + + An NNDN or a domain name are explicit representations of an IDN + variant while an IDN variant that is computed based on an algorithm + is an implicit representation. Explicit representation of an IDN + variant takes precedence over an implicit representation. + +7. Profile + + Different business models of registries exist, therefore the registry + is responsible for defining a profile that matches its particular + business model. The profile mechanism allows a registry to extend + this specification. + + A profile is the process of the following: + + 1. Extending base objects with the mechanisms defined for XML and + CSV models. + + * In the case of the XML model, abstract elements could be used + to extend the following objects: <domain>, <host>, <contact>, + <NNDN>, and <registrar> using the XML schema substitution + groups feature. + + 2. Defining a <policy> object to specify which OPTIONAL elements of + this base specification are required based on the business model + of the registry. An example is the <registrant> element that is + usually REQUIRED, but it is specified as OPTIONAL in this + specification to support some existing business models. + + 3. Adding new escrowed objects using the <rde:contents> and + <rde:deletes> elements. + + 4. Providing the XML schemas to third parties that require them to + validate the escrow deposits. + +8. Data Escrow Agent Extended Verification Process + + A data escrow agent SHOULD perform an extended verification process + that starts by creating a dataset to be tested by following + Section 5.2 of [RFC8909]. + + The following are the minimum suggested tests on the dataset: + + * Validate the escrow deposits using the definition agreed with the + registry. + + - In the case of the XML model, the contents of the escrow + deposits MUST be validated using the XML schemas of the + profile. + + * Count the objects and validate that the number of objects is equal + to the number objects reported in the <header> element of the + escrow deposit of that point in time (Timeline Watermark). + + * All contact objects linked to domain names MUST be present. + + * All registrar objects linked to other objects MUST be present. + + * No domain name exists as both a domain name and an NNDN. + + * The elements listed as required in the <policy> element MUST be + present. + + * All idnTableRef definitions linked from other objects MUST be + present. + + * If an EPP parameters object was escrowed in the past, one and only + one EPP parameters object MUST be present. + + * The Timeline Watermark is not in the future. + +9. Formal Syntax + + This standard is specified in XML Schema notation. The formal syntax + presented here is a complete schema representation suitable for + automated validation. + + The <CODE BEGINS> and <CODE ENDS> tags are not part of the schema; + they are used to note the beginning and ending of the schema for URI + registration purposes. + +9.1. RDE CSV Schema + + <CODE BEGINS> + <?xml version="1.0" encoding="UTF-8"?> + <schema targetNamespace="urn:ietf:params:xml:ns:rdeCsv-1.0" + xmlns:rdeCsv="urn:ietf:params:xml:ns:rdeCsv-1.0" + xmlns:rde="urn:ietf:params:xml:ns:rde-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:rde-1.0" /> + <annotation> + <documentation> + Registry Data Escrow Comma-Separated Values (CSV) + </documentation> + </annotation> + <!-- csv content element --> + <element name="csv" + type="rdeCsv:csvType" /> + <!-- Definition of CSV file --> + <complexType name="csvType"> + <sequence> + <element name="fields" + type="rdeCsv:fieldsType" /> + <element name="files" + type="rdeCsv:filesType" /> + </sequence> + <attribute name="name" + type="token" + use="required" /> + <attribute name="sep" + type="rdeCsv:sepType" + default="," /> + </complexType> + <!-- field separator must be a single character --> + <simpleType name="sepType"> + <restriction base="string"> + <minLength value="1" /> + <maxLength value="1" /> + </restriction> + </simpleType> + <!-- Abstract field type --> + <element name="field" + type="rdeCsv:fieldType" + abstract="true" /> + <complexType name="fieldType"> + <sequence /> + </complexType> + <!-- fieldType with optional value (isRequired=false) --> + <complexType name="fieldOptionalType"> + <complexContent> + <extension base="rdeCsv:fieldType"> + <sequence /> + <attribute name="isRequired" + type="boolean" + default="false" /> + <attribute name="parent" + type="boolean" + default="false" /> + </extension> + </complexContent> + </complexType> + <!-- fieldType with required value (isRequired=false) --> + <complexType name="fieldRequiredType"> + <complexContent> + <extension base="rdeCsv:fieldType"> + <sequence /> + <attribute name="isRequired" + type="boolean" + default="true" /> + <attribute name="parent" + type="boolean" + default="false" /> + </extension> + </complexContent> + </complexType> + <!-- Concrete field types --> + <!-- UTF-8 Name field (e.g., domain name) --> + <element name="fUName" + type="rdeCsv:fNameType" + substitutionGroup="rdeCsv:field" /> + <complexType name="fNameType"> + <complexContent> + <extension base="rdeCsv:fieldOptionalType"> + <sequence /> + <attribute name="type" + type="token" + default="eppcom\:labelType" /> + </extension> + </complexContent> + </complexType> + <complexType name="fNameRequiredType"> + <complexContent> + <extension base="rdeCsv:fieldRequiredType"> + <sequence /> + <attribute name="type" + type="token" + default="eppcom\:labelType" /> + </extension> + </complexContent> + </complexType> + <!-- Registry Object IDentifier (roid) field --> + <element name="fRoid" + type="rdeCsv:fRoidType" + substitutionGroup="rdeCsv:field" /> + <complexType name="fRoidType"> + <complexContent> + <extension base="rdeCsv:fieldRequiredType"> + <sequence /> + <attribute name="type" + type="token" + default="eppcom\:roidType" /> + </extension> + </complexContent> + </complexType> + <!-- Registrant field --> + <element name="fRegistrant" + type="rdeCsv:fRegistrantType" + substitutionGroup="rdeCsv:field" /> + <complexType name="fRegistrantType"> + <complexContent> + <extension base="rdeCsv:fieldOptionalType"> + <sequence /> + <attribute name="type" + type="token" + default="eppcom\:clIDType" /> + </extension> + </complexContent> + </complexType> + <!-- Object Status Description --> + <element name="fStatusDescription" + type="rdeCsv:fNormalizedStringType" + substitutionGroup="rdeCsv:field" /> + <!-- clID fields (fClID, fCrID, fUpID) --> + <!-- Identifier of the client that sponsors the object --> + <element name="fClID" + type="rdeCsv:fClIDRequiredType" + substitutionGroup="rdeCsv:field" /> + <!-- Identifier of registrar of client + that created the object --> + <element name="fCrRr" + type="rdeCsv:fClIDType" + substitutionGroup="rdeCsv:field" /> + <!-- Identifier of the client that created the object --> + <element name="fCrID" + type="rdeCsv:fClIDType" + substitutionGroup="rdeCsv:field" /> + <!-- Identifier of registrar of client that + updated the object --> + <element name="fUpRr" + type="rdeCsv:fClIDType" + substitutionGroup="rdeCsv:field" /> + <!-- Identifier of the client that updated the object --> + <element name="fUpID" + type="rdeCsv:fClIDType" + substitutionGroup="rdeCsv:field" /> + <!-- Identifier of registrar of client that + requested the transfer --> + <element name="fReRr" + type="rdeCsv:fClIDRequiredType" + substitutionGroup="rdeCsv:field" /> + <!-- Identifier of the client that requested + the transfer --> + <element name="fReID" + type="rdeCsv:fClIDType" + substitutionGroup="rdeCsv:field" /> + <!-- Identifier of registrar client that + should take or took action --> + <element name="fAcRr" + type="rdeCsv:fClIDRequiredType" + substitutionGroup="rdeCsv:field" /> + <!-- Identifier of the client that should take or + took action --> + <element name="fAcID" + type="rdeCsv:fClIDType" + substitutionGroup="rdeCsv:field" /> + <complexType name="fClIDType"> + <complexContent> + <extension base="rdeCsv:fieldOptionalType"> + <sequence /> + <attribute name="type" + type="token" + default="eppcom\:clIDType" /> + </extension> + </complexContent> + </complexType> + <complexType name="fClIDRequiredType"> + <complexContent> + <extension base="rdeCsv:fieldRequiredType"> + <sequence /> + <attribute name="type" + type="token" + default="eppcom\:clIDType" /> + </extension> + </complexContent> + </complexType> + <!-- dateTime fields (fCrDate, fUpDate, fExDate) --> + <element name="fCrDate" + type="rdeCsv:fDateTimeType" + substitutionGroup="rdeCsv:field" /> + <element name="fUpDate" + type="rdeCsv:fDateTimeType" + substitutionGroup="rdeCsv:field" /> + <element name="fExDate" + type="rdeCsv:fDateTimeType" + substitutionGroup="rdeCsv:field" /> + <!-- Date and time that transfer was requested --> + <element name="fReDate" + type="rdeCsv:fRequiredDateTimeType" + substitutionGroup="rdeCsv:field" /> + <!-- Date and time of a required or completed response --> + <element name="fAcDate" + type="rdeCsv:fRequiredDateTimeType" + substitutionGroup="rdeCsv:field" /> + <element name="fTrDate" + type="rdeCsv:fDateTimeType" + substitutionGroup="rdeCsv:field" /> + <complexType name="fDateTimeType"> + <complexContent> + <extension base="rdeCsv:fieldOptionalType"> + <sequence /> + <attribute name="type" + type="token" + default="dateTime" /> + </extension> + </complexContent> + </complexType> + <complexType name="fRequiredDateTimeType"> + <complexContent> + <extension base="rdeCsv:fieldRequiredType"> + <sequence /> + <attribute name="type" + type="token" + default="dateTime" /> + </extension> + </complexContent> + </complexType> + <!-- boolean type --> + <complexType name="fBooleanType"> + <complexContent> + <extension base="rdeCsv:fieldOptionalType"> + <sequence /> + <attribute name="type" + type="token" + default="boolean" /> + </extension> + </complexContent> + </complexType> + <complexType name="fRequiredBooleanType"> + <complexContent> + <extension base="rdeCsv:fieldRequiredType"> + <sequence /> + <attribute name="type" + type="token" + default="boolean" /> + </extension> + </complexContent> + </complexType> + <!-- unsignedByte type --> + <complexType name="fUnsignedByteType"> + <complexContent> + <extension base="rdeCsv:fieldOptionalType"> + <sequence /> + <attribute name="type" + type="token" + default="unsignedByte" /> + </extension> + </complexContent> + </complexType> + <complexType name="fRequiredUnsignedByteType"> + <complexContent> + <extension base="rdeCsv:fieldRequiredType"> + <sequence /> + <attribute name="type" + type="token" + default="unsignedByte" /> + </extension> + </complexContent> + </complexType> + <!-- unsignedShort type --> + <complexType name="fUnsignedShortType"> + <complexContent> + <extension base="rdeCsv:fieldOptionalType"> + <sequence /> + <attribute name="type" + type="token" + default="unsignedShort" /> + </extension> + </complexContent> + </complexType> + <complexType name="fRequiredUnsignedShortType"> + <complexContent> + <extension base="rdeCsv:fieldRequiredType"> + <sequence /> + <attribute name="type" + type="token" + default="unsignedShort" /> + </extension> + </complexContent> + </complexType> + <!-- hexBinary type --> + <complexType name="fHexBinaryType"> + <complexContent> + <extension base="rdeCsv:fieldOptionalType"> + <sequence /> + <attribute name="type" + type="token" + default="hexBinary" /> + </extension> + </complexContent> + </complexType> + <complexType name="fRequiredHexBinaryType"> + <complexContent> + <extension base="rdeCsv:fieldRequiredType"> + <sequence /> + <attribute name="type" + type="token" + default="hexBinary" /> + </extension> + </complexContent> + </complexType> + <!-- language type --> + <element name="fLang" + type="rdeCsv:fLangType" + substitutionGroup="rdeCsv:field" /> + <complexType name="fLangType"> + <complexContent> + <extension base="rdeCsv:fieldOptionalType"> + <sequence /> + <attribute name="type" + type="token" + default="language" /> + </extension> + </complexContent> + </complexType> + <!-- IDN Table Identifier --> + <element name="fIdnTableId" + type="rdeCsv:fTokenType" + substitutionGroup="rdeCsv:field" /> + <!-- State of the most recent transfer request --> + <element name="fTrStatus" + type="rdeCsv:fTrStatusType" + substitutionGroup="rdeCsv:field" /> + <complexType name="fTrStatusType"> + <complexContent> + <extension base="rdeCsv:fieldRequiredType"> + <sequence /> + <attribute name="type" + type="token" + default="eppcom\:trStatusType" /> + </extension> + </complexContent> + </complexType> + <!-- General token type --> + <complexType name="fTokenType"> + <complexContent> + <extension base="rdeCsv:fieldOptionalType"> + <sequence /> + <attribute name="type" + type="token" + default="token" /> + </extension> + </complexContent> + </complexType> + <!-- General normalizedString type --> + <complexType name="fNormalizedStringType"> + <complexContent> + <extension base="rdeCsv:fieldOptionalType"> + <sequence /> + <attribute name="type" + type="token" + default="normalizedString" /> + </extension> + </complexContent> + </complexType> + <!-- positive integer type --> + <complexType name="fPositiveIntegerType"> + <complexContent> + <extension base="rdeCsv:fieldOptionalType"> + <sequence /> + <attribute name="type" + type="token" + default="positiveInteger" /> + </extension> + </complexContent> + </complexType> + <!-- Custom / extension field type --> + <element name="fCustom" + type="rdeCsv:fCustomType" + substitutionGroup="rdeCsv:field" /> + <complexType name="fCustomType"> + <complexContent> + <extension base="rdeCsv:fieldOptionalType"> + <sequence /> + <attribute name="name" + type="token" /> + <attribute name="type" + type="token" + default="token" /> + </extension> + </complexContent> + </complexType> + <!-- Ordered list of field definitions for the csv --> + <complexType name="fieldsType"> + <sequence maxOccurs="unbounded"> + <element ref="rdeCsv:field" /> + </sequence> + </complexType> + <!-- List of files --> + <complexType name="filesType"> + <sequence> + <element name="file" + type="rdeCsv:fileType" + maxOccurs="unbounded" /> + </sequence> + </complexType> + <!-- File definition --> + <complexType name="fileType"> + <simpleContent> + <extension base="token"> + <attribute name="compression" + type="token" /> + <attribute name="encoding" + type="token" + default="UTF-8" /> + <attribute name="cksum" + type="token" /> + <attribute name="cksumAlg" + type="token" + default="CRC32" /> + </extension> + </simpleContent> + </complexType> + <!-- URL fields --> + <element name="fUrl" + type="rdeCsv:anyURIType" + substitutionGroup="rdeCsv:field" /> + <complexType name="anyURIType"> + <complexContent> + <extension base="rdeCsv:fieldOptionalType"> + <sequence /> + <attribute name="type" + type="token" + default="anyURI" /> + </extension> + </complexContent> + </complexType> + <!-- + End of schema. + --> + </schema> + <CODE ENDS> + +9.2. RDE Domain Object + + <CODE BEGINS> + <?xml version="1.0" encoding="UTF-8"?> + <schema targetNamespace="urn:ietf:params:xml:ns:rdeDomain-1.0" + xmlns:rdeDomain="urn:ietf:params:xml:ns:rdeDomain-1.0" + xmlns:rde="urn:ietf:params:xml:ns:rde-1.0" + xmlns:rdeIDN="urn:ietf:params:xml:ns:rdeIDN-1.0" + xmlns:rgp="urn:ietf:params:xml:ns:rgp-1.0" + xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1" + xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" + xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0" + xmlns:rdeDnrdCommon="urn:ietf:params:xml:ns:rdeDnrdCommon-1.0" + xmlns="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified"> + <import namespace="urn:ietf:params:xml:ns:eppcom-1.0" /> + <import namespace="urn:ietf:params:xml:ns:domain-1.0" /> + <import namespace="urn:ietf:params:xml:ns:secDNS-1.1" /> + <import namespace="urn:ietf:params:xml:ns:rgp-1.0" /> + <import namespace="urn:ietf:params:xml:ns:rde-1.0" /> + <import namespace="urn:ietf:params:xml:ns:rdeIDN-1.0" /> + <import namespace="urn:ietf:params:xml:ns:rdeDnrdCommon-1.0" /> + <annotation> + <documentation> + Registry Data Escrow Domain provisioning schema + </documentation> + </annotation> + <element name="abstractDomain" + type="rdeDomain:abstractContentType" + substitutionGroup="rde:content" + abstract="true" /> + <element name="domain" + substitutionGroup="rdeDomain:abstractDomain" /> + <element name="delete" + type="rdeDomain:deleteType" + substitutionGroup="rde:delete" /> + <!-- Content Type --> + <complexType name="abstractContentType"> + <complexContent> + <extension base="rde:contentType"> + <sequence> + <element name="name" + type="eppcom:labelType" /> + <element name="roid" + type="eppcom:roidType" /> + <element name="uName" + type="eppcom:labelType" + minOccurs="0" /> + <element name="idnTableId" + type="rdeIDN:idType" + minOccurs="0" /> + <element name="originalName" + type="eppcom:labelType" + minOccurs="0" /> + <element name="status" + type="domain:statusType" + maxOccurs="11" /> + <element name="rgpStatus" + type="rgp:statusType" + minOccurs="0" + maxOccurs="unbounded" /> + <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="clID" + type="eppcom:clIDType" /> + <element name="crRr" + type="rdeDnrdCommon:rrType" + minOccurs="0" /> + <element name="crDate" + type="dateTime" + minOccurs="0" /> + <element name="exDate" + type="dateTime" + minOccurs="0" /> + <element name="upRr" + type="rdeDnrdCommon:rrType" + minOccurs="0" /> + <element name="upDate" + type="dateTime" + minOccurs="0" /> + <element name="secDNS" + type="secDNS:dsOrKeyType" + minOccurs="0" /> + <element name="trDate" + type="dateTime" + minOccurs="0" /> + <element name="trnData" + type="rdeDomain:transferDataType" + minOccurs="0" /> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="transferDataType"> + <sequence> + <element name="trStatus" + type="eppcom:trStatusType" /> + <element name="reRr" + type="rdeDnrdCommon:rrType" /> + <element name="reDate" + type="dateTime" /> + <element name="acRr" + type="rdeDnrdCommon:rrType" /> + <element name="acDate" + type="dateTime" /> + <element name="exDate" + type="dateTime" + minOccurs="0" /> + </sequence> + </complexType> + <!-- Delete Type --> + <complexType name="deleteType"> + <complexContent> + <extension base="rde:deleteType"> + <sequence> + <element name="name" + type="eppcom:labelType" + minOccurs="0" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + </schema> + <CODE ENDS> + +9.3. CSV Domain Object + + <CODE BEGINS> + <?xml version="1.0" encoding="UTF-8"?> + <schema targetNamespace="urn:ietf:params:xml:ns:csvDomain-1.0" + xmlns:csvDomain="urn:ietf:params:xml:ns:csvDomain-1.0" + xmlns:rde="urn:ietf:params:xml:ns:rde-1.0" + xmlns:rdeCsv="urn:ietf:params:xml:ns:rdeCsv-1.0" + xmlns:rgp="urn:ietf:params:xml:ns:rgp-1.0" + xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1" + xmlns:domain="urn:ietf:params:xml:ns:domain-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:domain-1.0" /> + <import namespace="urn:ietf:params:xml:ns:secDNS-1.1" /> + <import namespace="urn:ietf:params:xml:ns:rgp-1.0" /> + <import namespace="urn:ietf:params:xml:ns:rde-1.0" /> + <import namespace="urn:ietf:params:xml:ns:rdeCsv-1.0" /> + <annotation> + <documentation> + Domain Name Comma-Separated Values (CSV) Object + </documentation> + </annotation> + <!-- + Child elements of the <rde:contents> object + --> + <element name="contents" + type="csvDomain:contentType" + substitutionGroup="rde:content" /> + <complexType name="contentType"> + <complexContent> + <extension base="rde:contentType"> + <sequence> + <element ref="rdeCsv:csv" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- + Child elements of the <rde:deletes> object + --> + <element name="deletes" + type="csvDomain:deleteType" + substitutionGroup="rde:delete" /> + <complexType name="deleteType"> + <complexContent> + <extension base="rde:deleteType"> + <sequence> + <element ref="rdeCsv:csv" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- Domain name field --> + <element name="fName" + type="rdeCsv:fNameRequiredType" + substitutionGroup="rdeCsv:field" /> + <!-- RGP status field --> + <element name="fRgpStatus" + type="csvDomain:fRgpStatusType" + substitutionGroup="rdeCsv:field" /> + <complexType name="fRgpStatusType"> + <complexContent> + <extension base="rdeCsv:fieldOptionalType"> + <sequence /> + <attribute name="type" + type="token" + default="rgp\:statusValueType" /> + </extension> + </complexContent> + </complexType> + <!-- Contact type field --> + <element name="fContactType" + type="csvDomain:fContactsTypeType" + substitutionGroup="rdeCsv:field" /> + <complexType name="fContactsTypeType"> + <complexContent> + <extension base="rdeCsv:fieldRequiredType"> + <sequence /> + <attribute name="type" + type="token" + default="domain\:contactAttrType" /> + </extension> + </complexContent> + </complexType> + <!-- DNSSEC field types --> + <!-- Maximum signature lifetime field --> + <element name="fMaxSigLife" + type="csvDomain:fMaxSigLifeType" + substitutionGroup="rdeCsv:field" /> + <complexType name="fMaxSigLifeType"> + <complexContent> + <extension base="rdeCsv:fieldOptionalType"> + <sequence /> + <attribute name="type" + type="token" + default="secDNS\:maxSigLifeType" /> + </extension> + </complexContent> + </complexType> + <!-- Key tag field --> + <element name="fKeyTag" + type="rdeCsv:fRequiredUnsignedShortType" + substitutionGroup="rdeCsv:field" /> + <!-- DS Algorithm field --> + <element name="fDsAlg" + type="rdeCsv:fRequiredUnsignedByteType" + substitutionGroup="rdeCsv:field" /> + <!-- Digest type field --> + <element name="fDigestType" + type="rdeCsv:fRequiredUnsignedByteType" + substitutionGroup="rdeCsv:field" /> + <!-- Digest field --> + <element name="fDigest" + type="rdeCsv:fRequiredHexBinaryType" + substitutionGroup="rdeCsv:field" /> + <!-- Flags field --> + <element name="fFlags" + type="rdeCsv:fRequiredUnsignedShortType" + substitutionGroup="rdeCsv:field" /> + <!-- Protocol field --> + <element name="fProtocol" + type="rdeCsv:fRequiredUnsignedByteType" + substitutionGroup="rdeCsv:field" /> + <!-- Key Algorithm field --> + <element name="fKeyAlg" + type="rdeCsv:fRequiredUnsignedByteType" + substitutionGroup="rdeCsv:field" /> + <!-- Public Key field --> + <element name="fPubKey" + type="csvDomain:fPubKeyType" + substitutionGroup="rdeCsv:field" /> + <complexType name="fPubKeyType"> + <complexContent> + <extension base="rdeCsv:fieldRequiredType"> + <sequence /> + <attribute name="type" + type="token" + default="secDNS\:keyType" /> + </extension> + </complexContent> + </complexType> + <!-- Original Domain Name for Variant field --> + <element name="fOriginalName" + type="rdeCsv:fNameType" + substitutionGroup="rdeCsv:field" /> + <!-- Domain status field --> + <element name="fStatus" + type="csvDomain:fStatusType" + substitutionGroup="rdeCsv:field" /> + <!-- Domain status based on domain-1.0.xsd --> + <complexType name="fStatusType"> + <complexContent> + <extension base="rdeCsv:fieldRequiredType"> + <sequence /> + <attribute name="type" + type="token" + default="domain\:statusValueType" /> + </extension> + </complexContent> + </complexType> + <!-- + End of schema. + --> + </schema> + <CODE ENDS> + +9.4. RDE Host Object + + <CODE BEGINS> + <?xml version="1.0" encoding="UTF-8"?> + <schema targetNamespace="urn:ietf:params:xml:ns:rdeHost-1.0" + xmlns:rdeHost="urn:ietf:params:xml:ns:rdeHost-1.0" + xmlns:rde="urn:ietf:params:xml:ns:rde-1.0" + xmlns:host="urn:ietf:params:xml:ns:host-1.0" + xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0" + xmlns:rdeDnrdCommon="urn:ietf:params:xml:ns:rdeDnrdCommon-1.0" + xmlns="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified"> + <import namespace="urn:ietf:params:xml:ns:eppcom-1.0" /> + <import namespace="urn:ietf:params:xml:ns:host-1.0" /> + <import namespace="urn:ietf:params:xml:ns:rde-1.0" /> + <import namespace="urn:ietf:params:xml:ns:rdeDnrdCommon-1.0" /> + <annotation> + <documentation> + Registry Data Escrow Host provisioning schema + </documentation> + </annotation> + <element name="abstractHost" + type="rdeHost:abstractContentType" + substitutionGroup="rde:content" + abstract="true" /> + <element name="host" + substitutionGroup="rdeHost:abstractHost" /> + <element name="delete" + type="rdeHost:deleteType" + substitutionGroup="rde:delete" /> + <!-- Content Type --> + <complexType name="abstractContentType"> + <complexContent> + <extension base="rde:contentType"> + <sequence> + <element name="name" + type="eppcom:labelType" /> + <element name="roid" + type="eppcom:roidType" /> + <element name="status" + type="host:statusType" + maxOccurs="7" /> + <element name="addr" + type="host:addrType" + minOccurs="0" + maxOccurs="unbounded" /> + <element name="clID" + type="eppcom:clIDType" /> + <element name="crRr" + type="rdeDnrdCommon:rrType" + minOccurs="0" /> + <element name="crDate" + type="dateTime" + minOccurs="0" /> + <element name="upRr" + type="rdeDnrdCommon:rrType" + minOccurs="0" /> + <element name="upDate" + type="dateTime" + minOccurs="0" /> + <element name="trDate" + type="dateTime" + minOccurs="0" /> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- Delete Type --> + <complexType name="deleteType"> + <complexContent> + <extension base="rde:deleteType"> + <choice minOccurs="0" + maxOccurs="unbounded"> + <element name="name" + type="eppcom:labelType" /> + <element name="roid" + type="eppcom:roidType" /> + </choice> + </extension> + </complexContent> + </complexType> + </schema> + <CODE ENDS> + +9.5. CSV Host Object + + <CODE BEGINS> + <?xml version="1.0" encoding="UTF-8"?> + <schema targetNamespace="urn:ietf:params:xml:ns:csvHost-1.0" + xmlns:csvHost="urn:ietf:params:xml:ns:csvHost-1.0" + xmlns:rde="urn:ietf:params:xml:ns:rde-1.0" + xmlns:rdeCsv="urn:ietf:params:xml:ns:rdeCsv-1.0" + xmlns:host="urn:ietf:params:xml:ns:host-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:host-1.0" /> + <import namespace="urn:ietf:params:xml:ns:rde-1.0" /> + <import namespace="urn:ietf:params:xml:ns:rdeCsv-1.0" /> + <annotation> + <documentation> + Host Comma-Separated Values (CSV) Object + </documentation> + </annotation> + <!-- + Child elements of the <rde:contents> object + --> + <element name="contents" + type="csvHost:contentType" + substitutionGroup="rde:content" /> + <complexType name="contentType"> + <complexContent> + <extension base="rde:contentType"> + <sequence> + <element ref="rdeCsv:csv" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- + Child elements of the <rde:deletes> object + --> + <element name="deletes" + type="csvHost:deleteType" + substitutionGroup="rde:delete" /> + <complexType name="deleteType"> + <complexContent> + <extension base="rde:deleteType"> + <sequence> + <element ref="rdeCsv:csv" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- Host name field --> + <element name="fName" + type="rdeCsv:fNameRequiredType" + substitutionGroup="rdeCsv:field" /> + <!-- IP address field --> + <element name="fAddr" + type="csvHost:fAddrType" + substitutionGroup="rdeCsv:field" /> + <complexType name="fAddrType"> + <complexContent> + <extension base="rdeCsv:fieldOptionalType"> + <sequence /> + <attribute name="type" + type="token" + default="host\:addrStringType" /> + </extension> + </complexContent> + </complexType> + <!-- IP address version field --> + <element name="fAddrVersion" + type="csvHost:fAddrVersionType" + substitutionGroup="rdeCsv:field" /> + <complexType name="fAddrVersionType"> + <complexContent> + <extension base="rdeCsv:fieldOptionalType"> + <sequence /> + <attribute name="type" + type="token" + default="host\:ipType" /> + </extension> + </complexContent> + </complexType> + <!-- Host status field --> + <element name="fStatus" + type="csvHost:fStatusType" + substitutionGroup="rdeCsv:field" /> + <!-- Host status based on host-1.0.xsd --> + <complexType name="fStatusType"> + <complexContent> + <extension base="rdeCsv:fieldRequiredType"> + <sequence /> + <attribute name="type" + type="token" + default="host\:statusValueType" /> + </extension> + </complexContent> + </complexType> + <!-- + End of schema. + --> + </schema> + <CODE ENDS> + +9.6. RDE Contact Object + + <CODE BEGINS> + <?xml version="1.0" encoding="UTF-8"?> + <schema targetNamespace="urn:ietf:params:xml:ns:rdeContact-1.0" + xmlns:rdeContact="urn:ietf:params:xml:ns:rdeContact-1.0" + xmlns:rde="urn:ietf:params:xml:ns:rde-1.0" + xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" + xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0" + xmlns:rdeDnrdCommon="urn:ietf:params:xml:ns:rdeDnrdCommon-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:contact-1.0" /> + <import namespace="urn:ietf:params:xml:ns:rde-1.0" /> + <import namespace="urn:ietf:params:xml:ns:rdeDnrdCommon-1.0" /> + <annotation> + <documentation> + Registry Data Escrow contact provisioning schema + </documentation> + </annotation> + <element name="abstractContact" + type="rdeContact:abstractContentType" + substitutionGroup="rde:content" + abstract="true" /> + <element name="contact" + substitutionGroup="rdeContact:abstractContact" /> + <element name="delete" + type="rdeContact:deleteType" + substitutionGroup="rde:delete" /> + <!-- Contact Type --> + <complexType name="abstractContentType"> + <complexContent> + <extension base="rde:contentType"> + <sequence> + <element name="id" + type="eppcom:clIDType" /> + <element name="roid" + type="eppcom:roidType" /> + <element name="status" + type="contact:statusType" + maxOccurs="7" /> + <element name="postalInfo" + type="contact:postalInfoType" + maxOccurs="2" /> + <element name="voice" + type="contact:e164Type" + minOccurs="0" /> + <element name="fax" + type="contact:e164Type" + minOccurs="0" /> + <element name="email" + type="eppcom:minTokenType" /> + <element name="clID" + type="eppcom:clIDType" /> + <element name="crRr" + type="rdeDnrdCommon:rrType" + minOccurs="0" /> + <element name="crDate" + type="dateTime" + minOccurs="0" /> + <element name="upRr" + type="rdeDnrdCommon:rrType" + minOccurs="0" /> + <element name="upDate" + type="dateTime" + minOccurs="0" /> + <element name="trDate" + type="dateTime" + minOccurs="0" /> + <element name="trnData" + type="rdeContact:transferDataType" + minOccurs="0" /> + <element name="disclose" + type="contact:discloseType" + minOccurs="0" /> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="transferDataType"> + <sequence> + <element name="trStatus" + type="eppcom:trStatusType" /> + <element name="reRr" + type="rdeDnrdCommon:rrType" /> + <element name="reDate" + type="dateTime" /> + <element name="acRr" + type="rdeDnrdCommon:rrType" /> + <element name="acDate" + type="dateTime" /> + </sequence> + </complexType> + <!-- Delete Type --> + <complexType name="deleteType"> + <complexContent> + <extension base="rde:deleteType"> + <sequence> + <element name="id" + type="eppcom:clIDType" + minOccurs="0" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + </schema> + <CODE ENDS> + +9.7. CSV Contact Object + + <CODE BEGINS> + <?xml version="1.0" encoding="UTF-8"?> + <schema targetNamespace="urn:ietf:params:xml:ns:csvContact-1.0" + xmlns:csvContact="urn:ietf:params:xml:ns:csvContact-1.0" + xmlns:rde="urn:ietf:params:xml:ns:rde-1.0" + xmlns:rdeCsv="urn:ietf:params:xml:ns:rdeCsv-1.0" + xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" + xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0" + xmlns="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified"> + <!-- + Import common element types. + --> + <import namespace="urn:ietf:params:xml:ns:eppcom-1.0" /> + <import namespace="urn:ietf:params:xml:ns:contact-1.0" /> + <import namespace="urn:ietf:params:xml:ns:rde-1.0" /> + <import namespace="urn:ietf:params:xml:ns:rdeCsv-1.0" /> + <annotation> + <documentation> + Contact Comma-Separated Values (CSV) Object + </documentation> + </annotation> + <!-- + Child elements of the <rde:contents> object + --> + <element name="contents" + type="csvContact:contentType" + substitutionGroup="rde:content" /> + <complexType name="contentType"> + <complexContent> + <extension base="rde:contentType"> + <sequence> + <element ref="rdeCsv:csv" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- + Child elements of the <rde:deletes> object + --> + <element name="deletes" + type="csvContact:deleteType" + substitutionGroup="rde:delete" /> + <complexType name="deleteType"> + <complexContent> + <extension base="rde:deleteType"> + <sequence> + <element ref="rdeCsv:csv" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- Server-unique contact identifier field --> + <element name="fId" + type="csvContact:fIdType" + substitutionGroup="rdeCsv:field" /> + <complexType name="fIdType"> + <complexContent> + <extension base="rdeCsv:fieldRequiredType"> + <sequence /> + <attribute name="type" + type="token" + default="eppcom\:clIDType" /> + </extension> + </complexContent> + </complexType> + <!-- Is Registrar Contact field --> + <element name="fIsRegistrarContact" + type="rdeCsv:fBooleanType" + substitutionGroup="rdeCsv:field" /> + <!-- voice and fax telephone number fields --> + <element name="fVoice" + type="csvContact:fE164StringType" + substitutionGroup="rdeCsv:field" /> + <element name="fFax" + type="csvContact:fE164StringType" + substitutionGroup="rdeCsv:field" /> + <complexType name="fE164StringType"> + <complexContent> + <extension base="rdeCsv:fieldOptionalType"> + <sequence /> + <attribute name="type" + type="token" + default="contact\:e164StringType" /> + </extension> + </complexContent> + </complexType> + <!-- voice and fax telephone extension fields --> + <element name="fVoiceExt" + type="rdeCsv:fTokenType" + substitutionGroup="rdeCsv:field" /> + <element name="fFaxExt" + type="rdeCsv:fTokenType" + substitutionGroup="rdeCsv:field" /> + <!-- contact email address field --> + <element name="fEmail" + type="csvContact:fEmailType" + substitutionGroup="rdeCsv:field" /> + <complexType name="fEmailType"> + <complexContent> + <extension base="rdeCsv:fieldRequiredType"> + <sequence /> + <attribute name="type" + type="token" + default="eppcom\:minTokenType" /> + </extension> + </complexContent> + </complexType> + <!-- + Postal type field + ("loc" = localized, "int" = internationalized) + --> + <element name="fPostalType" + type="csvContact:fPostalTypeType" + substitutionGroup="rdeCsv:field" /> + <complexType name="fPostalTypeType"> + <complexContent> + <extension base="rdeCsv:fieldRequiredType"> + <sequence /> + <attribute name="type" + type="token" + default="contact\:postalInfoEnumType" /> + </extension> + </complexContent> + </complexType> + <!-- Standard postal line field --> + <complexType name="fPostalLineType"> + <complexContent> + <extension base="rdeCsv:fieldRequiredType"> + <sequence /> + <attribute name="type" + type="token" + default="contact\:postalLineType" /> + <attribute name="isLoc" + type="boolean" /> + </extension> + </complexContent> + </complexType> + <!-- Standard optional postal line field --> + <complexType name="fOptPostalLineType"> + <complexContent> + <extension base="rdeCsv:fieldOptionalType"> + <sequence /> + <attribute name="type" + type="token" + default="contact\:optPostalLineType" /> + <attribute name="isLoc" + type="boolean" /> + </extension> + </complexContent> + </complexType> + <!-- Name of the individual or role field --> + <element name="fName" + type="csvContact:fPostalLineType" + substitutionGroup="rdeCsv:field" /> + <!-- Name organization field --> + <element name="fOrg" + type="csvContact:fOptPostalLineType" + substitutionGroup="rdeCsv:field" /> + <!-- Street address line field with required index attribute --> + <!-- starting with index 0. --> + <element name="fStreet" + type="csvContact:fStreetType" + substitutionGroup="rdeCsv:field" /> + <complexType name="fStreetType"> + <complexContent> + <extension base="csvContact:fOptPostalLineType"> + <sequence /> + <attribute name="index" + type="int" + use="required" /> + </extension> + </complexContent> + </complexType> + <!-- Contact's city field --> + <element name="fCity" + type="csvContact:fPostalLineType" + substitutionGroup="rdeCsv:field" /> + <!-- Contact's state or province field --> + <element name="fSp" + type="csvContact:fOptPostalLineType" + substitutionGroup="rdeCsv:field" /> + <!-- Contact's postal code field --> + <element name="fPc" + type="csvContact:fPcType" + substitutionGroup="rdeCsv:field" /> + <complexType name="fPcType"> + <complexContent> + <extension base="rdeCsv:fieldOptionalType"> + <sequence /> + <attribute name="type" + type="token" + default="contact\:pcType" /> + <attribute name="isLoc" + type="boolean" /> + </extension> + </complexContent> + </complexType> + <!-- Contact's country code field --> + <element name="fCc" + type="csvContact:fCcType" + substitutionGroup="rdeCsv:field" /> + <complexType name="fCcType"> + <complexContent> + <extension base="rdeCsv:fieldRequiredType"> + <sequence /> + <attribute name="type" + type="token" + default="contact\:ccType" /> + <attribute name="isLoc" + type="boolean" /> + </extension> + </complexContent> + </complexType> + <!-- Disclosure element fields --> + <!-- Flag of "1" to allow disclosure + and "0" to disallow disclosure --> + <element name="fDiscloseFlag" + type="csvContact:fBoolean" + substitutionGroup="rdeCsv:field" /> + <!-- Disclosure of localized name + based on fDiscloseFlag? --> + <element name="fDiscloseNameLoc" + type="csvContact:fBoolean" + substitutionGroup="rdeCsv:field" /> + <!-- Disclosure of internationalized name + based on fDiscloseFlag? --> + <element name="fDiscloseNameInt" + type="csvContact:fBoolean" + substitutionGroup="rdeCsv:field" /> + <!-- Disclosure of localized org + based on fDiscloseFlag? --> + <element name="fDiscloseOrgLoc" + type="csvContact:fBoolean" + substitutionGroup="rdeCsv:field" /> + <!-- Disclosure of internationalized org + based on fDiscloseFlag? --> + <element name="fDiscloseOrgInt" + type="csvContact:fBoolean" + substitutionGroup="rdeCsv:field" /> + <!-- Disclosure of localized address + based on fDiscloseFlag? --> + <element name="fDiscloseAddrLoc" + type="csvContact:fBoolean" + substitutionGroup="rdeCsv:field" /> + <!-- Disclosure of internationalized address + based on fDiscloseFlag? --> + <element name="fDiscloseAddrInt" + type="csvContact:fBoolean" + substitutionGroup="rdeCsv:field" /> + <!-- Disclosure voice telephone number + based on fDiscloseFlag? --> + <element name="fDiscloseVoice" + type="csvContact:fBoolean" + substitutionGroup="rdeCsv:field" /> + <!-- Disclosure facsimile telephone number + based on fDiscloseFlag? --> + <element name="fDiscloseFax" + type="csvContact:fBoolean" + substitutionGroup="rdeCsv:field" /> + <!-- Disclosure email address + based on fDiscloseFlag? --> + <element name="fDiscloseEmail" + type="csvContact:fBoolean" + substitutionGroup="rdeCsv:field" /> + <complexType name="fBoolean"> + <complexContent> + <extension base="rdeCsv:fieldOptionalType"> + <sequence /> + <attribute name="type" + type="token" + default="boolean" /> + </extension> + </complexContent> + </complexType> + <!-- Contact status field --> + <element name="fStatus" + type="csvContact:fStatusType" + substitutionGroup="rdeCsv:field" /> + <!-- Host status based on contact-1.0.xsd --> + <complexType name="fStatusType"> + <complexContent> + <extension base="rdeCsv:fieldRequiredType"> + <sequence /> + <attribute name="type" + type="token" + default="contact\:statusValueType" /> + </extension> + </complexContent> + </complexType> + <!-- + End of schema. + --> + </schema> + <CODE ENDS> + +9.8. RDE Registrar Object + + <CODE BEGINS> + <?xml version="1.0" encoding="UTF-8"?> + <schema targetNamespace="urn:ietf:params:xml:ns:rdeRegistrar-1.0" + xmlns:rdeRegistrar="urn:ietf:params:xml:ns:rdeRegistrar-1.0" + xmlns:rde="urn:ietf:params:xml:ns:rde-1.0" + xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" + xmlns:domain="urn:ietf:params:xml:ns:domain-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:domain-1.0" /> + <import namespace="urn:ietf:params:xml:ns:contact-1.0" /> + <import namespace="urn:ietf:params:xml:ns:rde-1.0" /> + <annotation> + <documentation> + Registry Data Escrow registrar provisioning schema + </documentation> + </annotation> + <element name="abstractRegistrar" + type="rdeRegistrar:abstractContentType" + substitutionGroup="rde:content" + abstract="true" /> + <element name="registrar" + substitutionGroup="rdeRegistrar:abstractRegistrar" /> + <element name="delete" + type="rdeRegistrar:deleteType" + substitutionGroup="rde:delete" /> + <!-- Content Type --> + <complexType name="abstractContentType"> + <complexContent> + <extension base="rde:contentType"> + <sequence> + <element name="id" + type="eppcom:clIDType" /> + <element name="name" + type="rdeRegistrar:nameType" /> + <element name="gurid" + type="positiveInteger" + minOccurs="0" /> + <element name="status" + type="rdeRegistrar:statusType" + minOccurs="0" /> + <element name="postalInfo" + type="rdeRegistrar:postalInfoType" + minOccurs="0" + maxOccurs="2" /> + <element name="voice" + type="contact:e164Type" + minOccurs="0" /> + <element name="fax" + type="contact:e164Type" + minOccurs="0" /> + <element name="email" + type="eppcom:minTokenType" + minOccurs="0" /> + <element name="url" + type="anyURI" + minOccurs="0" /> + <element name="whoisInfo" + type="rdeRegistrar:whoisInfoType" + minOccurs="0" /> + <element name="crDate" + type="dateTime" + minOccurs="0" /> + <element name="upDate" + type="dateTime" + minOccurs="0" /> + </sequence> + </extension> + </complexContent> + </complexType> + <simpleType name="nameType"> + <restriction base="normalizedString"> + <minLength value="1" /> + <maxLength value="255" /> + </restriction> + </simpleType> + <simpleType name="statusType"> + <restriction base="token"> + <enumeration value="ok" /> + <enumeration value="readonly" /> + <enumeration value="terminated" /> + </restriction> + </simpleType> + <complexType name="postalInfoType"> + <sequence> + <element name="addr" + type="rdeRegistrar:addrType" /> + </sequence> + <attribute name="type" + type="rdeRegistrar:postalInfoEnumType" + use="required" /> + </complexType> + <simpleType name="postalInfoEnumType"> + <restriction base="token"> + <enumeration value="loc" /> + <enumeration value="int" /> + </restriction> + </simpleType> + <complexType name="addrType"> + <sequence> + <element name="street" + type="rdeRegistrar:optPostalLineType" + minOccurs="0" + maxOccurs="3" /> + <element name="city" + type="rdeRegistrar:postalLineType" /> + <element name="sp" + type="rdeRegistrar:optPostalLineType" + minOccurs="0" /> + <element name="pc" + type="rdeRegistrar:pcType" + minOccurs="0" /> + <element name="cc" + type="rdeRegistrar:ccType" /> + </sequence> + </complexType> + <simpleType name="postalLineType"> + <restriction base="normalizedString"> + <minLength value="1" /> + <maxLength value="255" /> + </restriction> + </simpleType> + <simpleType name="optPostalLineType"> + <restriction base="normalizedString"> + <maxLength value="255" /> + </restriction> + </simpleType> + <simpleType name="pcType"> + <restriction base="token"> + <maxLength value="16" /> + </restriction> + </simpleType> + <simpleType name="ccType"> + <restriction base="token"> + <length value="2" /> + </restriction> + </simpleType> + <complexType name="whoisInfoType"> + <sequence> + <element name="name" + type="eppcom:labelType" + minOccurs="0" /> + <element name="url" + type="anyURI" + minOccurs="0" /> + </sequence> + </complexType> + <!-- Delete Type --> + <complexType name="deleteType"> + <complexContent> + <extension base="rde:deleteType"> + <sequence> + <element name="id" + type="eppcom:clIDType" + minOccurs="0" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + </schema> + <CODE ENDS> + +9.9. CSV Registrar Object + + <CODE BEGINS> + <?xml version="1.0" encoding="UTF-8"?> + <schema targetNamespace="urn:ietf:params:xml:ns:csvRegistrar-1.0" + xmlns:csvRegistrar="urn:ietf:params:xml:ns:csvRegistrar-1.0" + xmlns:rde="urn:ietf:params:xml:ns:rde-1.0" + xmlns:rdeCsv="urn:ietf:params:xml:ns:rdeCsv-1.0" + xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" + xmlns:domain="urn:ietf:params:xml:ns:domain-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:domain-1.0" /> + <import namespace="urn:ietf:params:xml:ns:contact-1.0" /> + <import namespace="urn:ietf:params:xml:ns:rde-1.0" /> + <import namespace="urn:ietf:params:xml:ns:rdeCsv-1.0" /> + <annotation> + <documentation> + Registrar Comma-Separated Values (CSV) Object + </documentation> + </annotation> + <!-- + Child elements of the <rde:contents> object + --> + <element name="contents" + type="csvRegistrar:contentType" + substitutionGroup="rde:content" /> + <complexType name="contentType"> + <complexContent> + <extension base="rde:contentType"> + <sequence> + <element ref="rdeCsv:csv" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- + Child elements of the <rde:deletes> object + --> + <element name="deletes" + type="csvRegistrar:deleteType" + substitutionGroup="rde:delete" /> + <complexType name="deleteType"> + <complexContent> + <extension base="rde:deleteType"> + <sequence> + <element ref="rdeCsv:csv" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- Registrar unique identifier (short name / id) --> + <element name="fId" + type="rdeCsv:fClIDRequiredType" + substitutionGroup="rdeCsv:field" /> + <!-- Registrar name (full name) --> + <element name="fName" + type="csvRegistrar:fNameType" + substitutionGroup="rdeCsv:field" /> + <!-- Registrar name field --> + <complexType name="fNameType"> + <complexContent> + <extension base="rdeCsv:fieldRequiredType"> + <sequence /> + <attribute name="type" + type="token" + default="normalizedString" /> + <attribute name="isLoc" + type="boolean" + default="false" /> + </extension> + </complexContent> + </complexType> + <!-- Registrar GURID field --> + <element name="fGurid" + type="rdeCsv:fPositiveIntegerType" + substitutionGroup="rdeCsv:field" /> + <!-- Registrar status field --> + <element name="fStatus" + type="csvRegistrar:fStatusType" + substitutionGroup="rdeCsv:field" /> + <element name="fStatusName" + type="rdeCsv:fTokenType" + substitutionGroup="rdeCsv:field" /> + <complexType name="fStatusType"> + <complexContent> + <extension base="rdeCsv:fieldOptionalType"> + <sequence /> + <attribute name="type" + type="token" + default="csvRegistrar\:statusType" /> + </extension> + </complexContent> + </complexType> + <!-- Registrar status type with optional name attr --> + <complexType name="statusType"> + <simpleContent> + <extension base="csvRegistrar:statusValueType"> + <attribute name="name" + type="token" /> + </extension> + </simpleContent> + </complexType> + <!-- Registrar status enumerated values --> + <simpleType name="statusValueType"> + <restriction base="token"> + <enumeration value="ok" /> + <enumeration value="readonly" /> + <enumeration value="terminated" /> + </restriction> + </simpleType> + <!-- Whois URL field --> + <element name="fWhoisUrl" + type="rdeCsv:anyURIType" + substitutionGroup="rdeCsv:field" /> + <!-- + End of schema. + --> + </schema> + <CODE ENDS> + +9.10. RDE IDN Table Reference Objects + + <CODE BEGINS> + <?xml version="1.0" encoding="UTF-8"?> + <schema targetNamespace="urn:ietf:params:xml:ns:rdeIDN-1.0" + xmlns:rdeIDN="urn:ietf:params:xml:ns:rdeIDN-1.0" + xmlns:rde="urn:ietf:params:xml:ns:rde-1.0" + xmlns="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified"> + <import namespace="urn:ietf:params:xml:ns:rde-1.0" /> + <annotation> + <documentation> + Registry Data Escrow IDN provisioning schema + </documentation> + </annotation> + <element name="idnTableRef" + type="rdeIDN:contentType" + substitutionGroup="rde:content" /> + <element name="delete" + type="rdeIDN:deleteType" + substitutionGroup="rde:delete" /> + <!-- Content Types --> + <complexType name="contentType"> + <complexContent> + <extension base="rde:contentType"> + <sequence> + <element name="url" + type="anyURI" /> + <element name="urlPolicy" + type="anyURI" /> + </sequence> + <attribute name="id" + type="rdeIDN:idType" + use="required" /> + </extension> + </complexContent> + </complexType> + <complexType name="deleteType"> + <complexContent> + <extension base="rde:deleteType"> + <sequence> + <element name="id" + type="rdeIDN:idType" /> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- Simple Types --> + <simpleType name="idType"> + <restriction base="token"> + <minLength value="1" /> + <maxLength value="64" /> + </restriction> + </simpleType> + </schema> + <CODE ENDS> + +9.11. CSV IDN Language Object + + <CODE BEGINS> + <?xml version="1.0" encoding="UTF-8"?> + <schema targetNamespace="urn:ietf:params:xml:ns:csvIDN-1.0" + xmlns:csvIDN="urn:ietf:params:xml:ns:csvIDN-1.0" + xmlns:rde="urn:ietf:params:xml:ns:rde-1.0" + xmlns:rdeCsv="urn:ietf:params:xml:ns:rdeCsv-1.0" + xmlns="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified"> + <!-- + Import common element types + --> + <import namespace="urn:ietf:params:xml:ns:rde-1.0" /> + <import namespace="urn:ietf:params:xml:ns:rdeCsv-1.0" /> + <annotation> + <documentation> + IDN Language Comma-Separated Values (CSV) Object + </documentation> + </annotation> + <!-- + Child elements of the <rde:contents> object + --> + <element name="contents" + type="csvIDN:contentType" + substitutionGroup="rde:content" /> + <complexType name="contentType"> + <complexContent> + <extension base="rde:contentType"> + <sequence> + <element ref="rdeCsv:csv" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- + Child elements of the <rde:deletes> object + --> + <element name="deletes" + type="csvIDN:deleteType" + substitutionGroup="rde:delete" /> + <complexType name="deleteType"> + <complexContent> + <extension base="rde:deleteType"> + <sequence> + <element ref="rdeCsv:csv" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- + End of schema. + --> + </schema> + <CODE ENDS> + +9.12. EPP Parameters Object + + <CODE BEGINS> + <?xml version="1.0" encoding="UTF-8"?> + <schema targetNamespace="urn:ietf:params:xml:ns:rdeEppParams-1.0" + xmlns:rdeEppParams="urn:ietf:params:xml:ns:rdeEppParams-1.0" + xmlns:rde="urn:ietf:params:xml:ns:rde-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 namespace="urn:ietf:params:xml:ns:epp-1.0" /> + <import namespace="urn:ietf:params:xml:ns:eppcom-1.0" /> + <import namespace="urn:ietf:params:xml:ns:rde-1.0" /> + <annotation> + <documentation> + Registry Data Escrow EPP Parameters schema + </documentation> + </annotation> + <!-- Content Type --> + <element name="eppParams" + substitutionGroup="rdeEppParams:abstractEppParams" /> + <!-- Abstract Content Type --> + <element name="abstractEppParams" + type="rdeEppParams:abstractContentType" + substitutionGroup="rde:content" + abstract="true" /> + <complexType name="abstractContentType"> + <complexContent> + <extension base="rde:contentType"> + <sequence> + <element name="version" + type="epp:versionType" + maxOccurs="unbounded" /> + <element name="lang" + type="language" + maxOccurs="unbounded" /> + <element name="objURI" + type="anyURI" + maxOccurs="unbounded" /> + <element name="svcExtension" + type="epp:extURIType" + minOccurs="0" /> + <element name="dcp" + type="epp:dcpType" /> + </sequence> + </extension> + </complexContent> + </complexType> + </schema> + <CODE ENDS> + +9.13. NNDN Object + + <CODE BEGINS> + <?xml version="1.0" encoding="UTF-8"?> + <schema targetNamespace="urn:ietf:params:xml:ns:rdeNNDN-1.0" + xmlns:rdeNNDN="urn:ietf:params:xml:ns:rdeNNDN-1.0" + xmlns:rde="urn:ietf:params:xml:ns:rde-1.0" + xmlns:rdeIDN="urn:ietf:params:xml:ns:rdeIDN-1.0" + xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0" + xmlns="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified"> + <import namespace="urn:ietf:params:xml:ns:eppcom-1.0" /> + <import namespace="urn:ietf:params:xml:ns:rde-1.0" /> + <import namespace="urn:ietf:params:xml:ns:rdeIDN-1.0" /> + <annotation> + <documentation> + Registry Data Escrow NNDN provisioning schema + </documentation> + </annotation> + <element name="abstractNNDN" + type="rdeNNDN:abstractContentType" + substitutionGroup="rde:content" + abstract="true" /> + <element name="NNDN" + substitutionGroup="rdeNNDN:abstractNNDN" /> + <element name="delete" + type="rdeNNDN:deleteType" + substitutionGroup="rde:delete" /> + <!-- Content Type --> + <complexType name="abstractContentType"> + <complexContent> + <extension base="rde:contentType"> + <sequence> + <element name="aName" + type="eppcom:labelType" /> + <element name="uName" + type="eppcom:labelType" + minOccurs="0" /> + <element name="idnTableId" + type="rdeIDN:idType" + minOccurs="0" /> + <element name="originalName" + type="eppcom:labelType" + minOccurs="0" /> + <element name="nameState" + type="rdeNNDN:nameState" /> + <element name="crDate" + type="dateTime" + minOccurs="0" /> + </sequence> + </extension> + </complexContent> + </complexType> + <simpleType name="nameStateValue"> + <restriction base="token"> + <enumeration value="withheld" /> + <enumeration value="blocked" /> + <enumeration value="mirrored" /> + </restriction> + </simpleType> + <complexType name="nameState"> + <simpleContent> + <extension base="rdeNNDN:nameStateValue"> + <attribute name="mirroringNS" + type="boolean" + default="true" /> + </extension> + </simpleContent> + </complexType> + <!-- Delete Type --> + <complexType name="deleteType"> + <complexContent> + <extension base="rde:deleteType"> + <sequence> + <element name="aName" + type="eppcom:labelType" + minOccurs="0" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + </schema> + <CODE ENDS> + +9.14. CSV NNDN Object + + <CODE BEGINS> + <?xml version="1.0" encoding="UTF-8"?> + <schema targetNamespace="urn:ietf:params:xml:ns:csvNNDN-1.0" + xmlns:csvNNDN="urn:ietf:params:xml:ns:csvNNDN-1.0" + xmlns:rde="urn:ietf:params:xml:ns:rde-1.0" + xmlns:rdeCsv="urn:ietf:params:xml:ns:rdeCsv-1.0" + xmlns:rdeNNDN="urn:ietf:params:xml:ns:rdeNNDN-1.0" + xmlns="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified"> + <!-- + Import common element types + --> + <import namespace="urn:ietf:params:xml:ns:rde-1.0" /> + <import namespace="urn:ietf:params:xml:ns:rdeCsv-1.0" /> + <import namespace="urn:ietf:params:xml:ns:rdeNNDN-1.0" /> + <annotation> + <documentation> + NNDN (NNDN's not domain name) (CSV) Object + </documentation> + </annotation> + <!-- + Child elements of the <rde:contents> object + --> + <element name="contents" + type="csvNNDN:contentType" + substitutionGroup="rde:content" /> + <complexType name="contentType"> + <complexContent> + <extension base="rde:contentType"> + <sequence> + <element ref="rdeCsv:csv" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- + Child elements of the <rde:deletes> object + --> + <element name="deletes" + type="csvNNDN:deleteType" + substitutionGroup="rde:delete" /> + <complexType name="deleteType"> + <complexContent> + <extension base="rde:deleteType"> + <sequence> + <element ref="rdeCsv:csv" + maxOccurs="unbounded" /> + </sequence> + </extension> + </complexContent> + </complexType> + <!-- A-Label format name field --> + <element name="fAName" + type="rdeCsv:fNameRequiredType" + substitutionGroup="rdeCsv:field" /> + <!-- domain name used to generate the IDN variant field --> + <element name="fOriginalName" + type="rdeCsv:fNameType" + substitutionGroup="rdeCsv:field" /> + <!-- RGP status field --> + <element name="fNameState" + type="csvNNDN:fNameStateType" + substitutionGroup="rdeCsv:field" /> + <complexType name="fNameStateType"> + <complexContent> + <extension base="rdeCsv:fieldRequiredType"> + <sequence /> + <attribute name="type" + type="token" + default="rdeNNDN\:nameState" /> + </extension> + </complexContent> + </complexType> + <!-- Mirroring uses NS mirror mechanism? --> + <element name="fMirroringNS" + type="rdeCsv:fBooleanType" + substitutionGroup="rdeCsv:field" /> + <!-- + End of schema. + --> + </schema> + <CODE ENDS> + +9.15. Policy Object + + <CODE BEGINS> + <?xml version="1.0" encoding="UTF-8"?> + <schema targetNamespace="urn:ietf:params:xml:ns:rdePolicy-1.0" + xmlns:rdePolicy="urn:ietf:params:xml:ns:rdePolicy-1.0" + xmlns:rde="urn:ietf:params:xml:ns:rde-1.0" + xmlns="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified"> + <annotation> + <documentation> + Registry Data Escrow Policy schema + </documentation> + </annotation> + <import namespace="urn:ietf:params:xml:ns:rde-1.0" /> + <element name="policy" + type="rdePolicy:policyType" + substitutionGroup="rde:content" /> + <complexType name="policyType"> + <complexContent> + <extension base="rde:contentType"> + <attribute name="scope" + type="token" + use="required" /> + <attribute name="element" + type="anyURI" + use="required" /> + </extension> + </complexContent> + </complexType> + </schema> + <CODE ENDS> + +9.16. Header Object + + <CODE BEGINS> + <?xml version="1.0" encoding="UTF-8"?> + <schema targetNamespace="urn:ietf:params:xml:ns:rdeHeader-1.0" + xmlns:rdeHeader="urn:ietf:params:xml:ns:rdeHeader-1.0" + xmlns:rde="urn:ietf:params:xml:ns:rde-1.0" + xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0" + xmlns="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified"> + <import namespace="urn:ietf:params:xml:ns:eppcom-1.0" /> + <import namespace="urn:ietf:params:xml:ns:rde-1.0" /> + <annotation> + <documentation> + Data Escrow Deposit Header schema + </documentation> + </annotation> + <!-- Root Element --> + <element name="header" + type="rdeHeader:contentType" + substitutionGroup="rde:content" /> + <!-- Content Type --> + <complexType name="contentType"> + <complexContent> + <extension base="rde:contentType"> + <sequence> + <group ref="rdeHeader:repositoryTypeGroup" /> + <element name="count" + type="rdeHeader:countType" + maxOccurs="unbounded" /> + <element name="contentTag" + type="token" + minOccurs="0" /> + </sequence> + </extension> + </complexContent> + </complexType> + <group name="repositoryTypeGroup"> + <choice> + <element name="tld" + type="eppcom:labelType" /> + <element name="registrar" + type="positiveInteger" /> + <element name="ppsp" + type="token" /> + <element name="reseller" + type="token" /> + </choice> + </group> + <complexType name="countType"> + <simpleContent> + <extension base="long"> + <attribute name="uri" + type="anyURI" + use="required" /> + <attribute name="rcdn" + type="eppcom:labelType" /> + <attribute name="registrarId" + type="positiveInteger" /> + </extension> + </simpleContent> + </complexType> + </schema> + <CODE ENDS> + +9.17. DNRD Common Objects + + <CODE BEGINS> + <?xml version="1.0" encoding="UTF-8"?> + <schema targetNamespace="urn:ietf:params:xml:ns:rdeDnrdCommon-1.0" + xmlns:rdeDnrdCommon="urn:ietf:params:xml:ns:rdeDnrdCommon-1.0" + xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0" + xmlns="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified"> + <import namespace="urn:ietf:params:xml:ns:eppcom-1.0" /> + <annotation> + <documentation> + Data Escrow Deposit Common Objects schema + </documentation> + </annotation> + <complexType name="rrType"> + <simpleContent> + <extension base="eppcom:clIDType"> + <attribute name="client" + type="eppcom:clIDType" /> + </extension> + </simpleContent> + </complexType> + </schema> + <CODE ENDS> + +10. Internationalization Considerations + + Data escrow deposits are 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. Though XML includes + provisions to identify and use other character encodings through use + of an "encoding" attribute in an <?xml?> declaration, the use of + UTF-8 is RECOMMENDED. + +11. IANA Considerations + + This document uses URNs to describe XML namespaces and XML schemas + conforming to a registry mechanism described in [RFC3688]. The + following URIs have been assigned by IANA. + + RDE CSV namespace: + + URI: urn:ietf:params:xml:ns:rdeCsv-1.0 + Registrant Contact: IESG + XML: None. Namespace URIs do not represent an XML specification. + + RDE CSV XML schema: + + URI: urn:ietf:params:xml:schema:rdeCsv-1.0 + Registrant Contact: IESG + + See Section 9.1 of this document. + + RDE domain namespace: + + URI: urn:ietf:params:xml:ns:rdeDomain-1.0 + Registrant Contact: IESG + XML: None. Namespace URIs do not represent an XML specification. + + RDE domain XML schema: + + URI: urn:ietf:params:xml:schema:rdeDomain-1.0 + Registrant Contact: IESG + + See Section 9.2 of this document. + + CSV domain namespace: + + URI: urn:ietf:params:xml:ns:csvDomain-1.0 + Registrant Contact: IESG + XML: None. Namespace URIs do not represent an XML specification. + + CSV domain XML schema: + + URI: urn:ietf:params:xml:schema:csvDomain-1.0 + Registrant Contact: IESG + + See Section 9.3 of this document. + + RDE host namespace: + + URI: urn:ietf:params:xml:ns:rdeHost-1.0 + Registrant Contact: IESG + XML: None. Namespace URIs do not represent an XML specification. + + RDE host XML schema: + + URI: urn:ietf:params:xml:schema:rdeHost-1.0 + Registrant Contact: IESG + + See Section 9.4 of this document. + + CSV host namespace: + + URI: urn:ietf:params:xml:ns:csvHost-1.0 + Registrant Contact: IESG + XML: None. Namespace URIs do not represent an XML specification. + + CSV host XML schema: + + URI: urn:ietf:params:xml:schema:csvHost-1.0 + Registrant Contact: IESG + + See Section 9.5 of this document. + + RDE contact namespace: + + URI: urn:ietf:params:xml:ns:rdeContact-1.0 + Registrant Contact: IESG + XML: None. Namespace URIs do not represent an XML specification. + + RDE contact XML schema: + + URI: urn:ietf:params:xml:schema:rdeContact-1.0 + Registrant Contact: IESG + + See Section 9.6 of this document. + + CSV contact namespace: + + URI: urn:ietf:params:xml:ns:csvContact-1.0 + Registrant Contact: IESG + XML: None. Namespace URIs do not represent an XML specification. + + CSV contact XML schema: + + URI: urn:ietf:params:xml:schema:csvContact-1.0 + Registrant Contact: IESG + + See Section 9.7 of this document. + + RDE registrar namespace: + + URI: urn:ietf:params:xml:ns:rdeRegistrar-1.0 + Registrant Contact: IESG + XML: None. Namespace URIs do not represent an XML specification. + + RDE registrar XML schema: + + URI: urn:ietf:params:xml:schema:rdeRegistrar-1.0 + Registrant Contact: IESG + + See Section 9.8 of this document. + + CSV registrar namespace: + + URI: urn:ietf:params:xml:ns:csvRegistrar-1.0 + Registrant Contact: IESG + XML: None. Namespace URIs do not represent an XML specification. + + CSV registrar XML schema: + + URI: urn:ietf:params:xml:schema:csvRegistrar-1.0 + Registrant Contact: IESG + + See Section 9.9 of this document. + + RDE IDN namespace: + + URI: urn:ietf:params:xml:ns:rdeIDN-1.0 + Registrant Contact: IESG + XML: None. Namespace URIs do not represent an XML specification. + + RDE IDN XML schema: + + URI: urn:ietf:params:xml:schema:rdeIDN-1.0 + Registrant Contact: IESG + + See Section 9.10 of this document. + + CSV IDN namespace: + + URI: urn:ietf:params:xml:ns:csvIDN-1.0 + Registrant Contact: IESG + XML: None. Namespace URIs do not represent an XML specification. + + CSV IDN XML schema: + + URI: urn:ietf:params:xml:schema:csvIDN-1.0 + Registrant Contact: IESG + + See Section 9.11 of this document. + + RDE EPP parameters namespace: + + URI: urn:ietf:params:xml:ns:rdeEppParams-1.0 + Registrant Contact: IESG + XML: None. Namespace URIs do not represent an XML specification. + + RDE EPP parameters XML schema: + + URI: urn:ietf:params:xml:schema:rdeEppParams-1.0 + Registrant Contact: IESG + + See Section 9.12 of this document. + + RDE NNDN namespace: + + URI: urn:ietf:params:xml:ns:rdeNNDN-1.0 + Registrant Contact: IESG + XML: None. Namespace URIs do not represent an XML specification. + + RDE NNDN XML schema: + + URI: urn:ietf:params:xml:schema:rdeNNDN-1.0 + Registrant Contact: IESG + + See Section 9.13 of this document. + + CSV NNDN namespace: + + URI: urn:ietf:params:xml:ns:csvNNDN-1.0 + Registrant Contact: IESG + XML: None. Namespace URIs do not represent an XML specification. + + CSV NNDN XML schema: + + URI: urn:ietf:params:xml:schema:csvNNDN-1.0 + Registrant Contact: IESG + + See Section 9.14 of this document. + + RDE Policy namespace: + + URI: urn:ietf:params:xml:ns:rdePolicy-1.0 + Registrant Contact: IESG + XML: None. Namespace URIs do not represent an XML specification. + + RDE Policy XML schema: + + URI: urn:ietf:params:xml:schema:rdePolicy-1.0 + Registrant Contact: IESG + + See Section 9.15 of this document. + + RDE Header namespace: + + URI: urn:ietf:params:xml:ns:rdeHeader-1.0 + Registrant Contact: IESG + XML: None. Namespace URIs do not represent an XML specification. + + RDE Header XML schema: + + URI: urn:ietf:params:xml:schema:rdeHeader-1.0 + Registrant Contact: IESG + + See Section 9.16 of this document. + + RDE Common Objects namespace: + + URI: urn:ietf:params:xml:ns:rdeDnrdCommon-1.0 + Registrant Contact: IESG + XML: None. Namespace URIs do not represent an XML specification. + + RDE Common Objects XML schema: + + URI: urn:ietf:params:xml:schema:rdeDnrdCommon-1.0 + Registrant Contact: IESG + + See Section 9.17 of this document. + +12. Security Considerations + + This specification does not define the security mechanisms to be used + in the transmission of the data escrow deposits, since it only + specifies the minimum necessary to enable the rebuilding of a + registry from deposits without intervention from the original + registry. + + Depending on local policies, some elements, or, most likely, the + whole deposit will be considered confidential. As such, the parties + SHOULD take all the necessary precautions such as encrypting the data + at rest and in transit to avoid inadvertent disclosure of private + data. Regardless of the precautions taken by the parties regarding + data at rest and in transit, authentication credentials MUST NOT be + escrowed. + + Authentication of the parties passing data escrow deposit files is + also of the utmost importance. The escrow agent MUST properly + authenticate the registry's identity before accepting data escrow + deposits. The registry MUST authenticate the escrow agent's identity + before submitting any data, and the data escrow agent MUST + authenticate the identity of the party receiving the data escrow + deposits for the purposes deemed appropriate. + + Additionally, the registry and the escrow agent MUST use integrity + checking mechanisms to ensure the data transmitted is what the source + intended. Validation of the contents by the parties is RECOMMENDED + to ensure that the file was transmitted correctly from the registry + or escrow agent and that the contents are "meaningful". + + A few elements in this specification contain URLs; the use of HTTP + over TLS (Transport Layer Security) [RFC2818] is RECOMMENDED on the + URLs. + + The various data structures in the document include a few places that + have internal redundancy, and if the values become inconsistent there + can be harmful consequences, such as different entities using + different fields as their reference. + + | Note: if TLS is used when providing an escrow service, the + | recommendations in [BCP195] MUST be implemented. + +13. Privacy Considerations + + This specification defines a format that may be used to escrow + personal data. The process of data escrow is governed by a legal + document that is agreed to by the parties, and such a legal document + must ensure that privacy-sensitive and/or personal data receives the + required protection. + +14. Example of a Full Deposit Using the XML Model + + The following is an example of a Full Deposit using the XML model: + + <?xml version="1.0" encoding="UTF-8"?> + <rde:deposit type="FULL" id="20191017001" + xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" + xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" + xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1" + xmlns:rde="urn:ietf:params:xml:ns:rde-1.0" + xmlns:rdeHeader="urn:ietf:params:xml:ns:rdeHeader-1.0" + xmlns:rdeDomain="urn:ietf:params:xml:ns:rdeDomain-1.0" + xmlns:rdeHost="urn:ietf:params:xml:ns:rdeHost-1.0" + xmlns:rdeContact="urn:ietf:params:xml:ns:rdeContact-1.0" + xmlns:rdeRegistrar="urn:ietf:params:xml:ns:rdeRegistrar-1.0" + xmlns:rdeIDN="urn:ietf:params:xml:ns:rdeIDN-1.0" + xmlns:rdeNNDN="urn:ietf:params:xml:ns:rdeNNDN-1.0" + xmlns:rdeEppParams="urn:ietf:params:xml:ns:rdeEppParams-1.0" + xmlns:rdePolicy="urn:ietf:params:xml:ns:rdePolicy-1.0" + xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"> + + <rde:watermark>2019-10-17T00:00:00Z</rde:watermark> + <rde:rdeMenu> + <rde:version>1.0</rde:version> + <rde:objURI>urn:ietf:params:xml:ns:rdeHeader-1.0 + </rde:objURI> + <rde:objURI>urn:ietf:params:xml:ns:rdeContact-1.0 + </rde:objURI> + <rde:objURI>urn:ietf:params:xml:ns:rdeHost-1.0 + </rde:objURI> + <rde:objURI>urn:ietf:params:xml:ns:rdeDomain-1.0 + </rde:objURI> + <rde:objURI>urn:ietf:params:xml:ns:rdeRegistrar-1.0 + </rde:objURI> + <rde:objURI>urn:ietf:params:xml:ns:rdeIDN-1.0 + </rde:objURI> + <rde:objURI>urn:ietf:params:xml:ns:rdeNNDN-1.0 + </rde:objURI> + <rde:objURI>urn:ietf:params:xml:ns:rdeEppParams-1.0 + </rde:objURI> + </rde:rdeMenu> + + <!-- Contents --> + <rde:contents> + <!-- Header --> + <rdeHeader:header> + <rdeHeader:tld>test</rdeHeader:tld> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:rdeDomain-1.0">2 + </rdeHeader:count> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:rdeHost-1.0">1 + </rdeHeader:count> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:rdeContact-1.0">1 + </rdeHeader:count> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:rdeRegistrar-1.0">1 + </rdeHeader:count> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:rdeIDN-1.0">1 + </rdeHeader:count> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:rdeNNDN-1.0">1 + </rdeHeader:count> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:rdeEppParams-1.0">1 + </rdeHeader:count> + </rdeHeader:header> + + <!-- Domain: example1.example --> + <rdeDomain:domain> + <rdeDomain:name>example1.example</rdeDomain:name> + <rdeDomain:roid>Dexample1-TEST</rdeDomain:roid> + <rdeDomain:status s="ok"/> + <rdeDomain:registrant>jd1234</rdeDomain:registrant> + <rdeDomain:contact type="admin">sh8013</rdeDomain:contact> + <rdeDomain:contact type="tech">sh8013</rdeDomain:contact> + <rdeDomain:ns> + <domain:hostObj>ns1.example.com</domain:hostObj> + <domain:hostObj>ns1.example1.example</domain:hostObj> + </rdeDomain:ns> + <rdeDomain:clID>RegistrarX</rdeDomain:clID> + <rdeDomain:crRr client="jdoe">RegistrarX</rdeDomain:crRr> + <rdeDomain:crDate>1999-04-03T22:00:00.0Z</rdeDomain:crDate> + <rdeDomain:exDate>2025-04-03T22:00:00.0Z</rdeDomain:exDate> + </rdeDomain:domain> + + <!-- Domain: example2.example --> + <rdeDomain:domain> + <rdeDomain:name>example2.example</rdeDomain:name> + <rdeDomain:roid>Dexample2-TEST</rdeDomain:roid> + <rdeDomain:status s="ok"/> + <rdeDomain:status s="clientUpdateProhibited"/> + <rdeDomain:registrant>jd1234</rdeDomain:registrant> + <rdeDomain:contact type="admin">sh8013</rdeDomain:contact> + <rdeDomain:contact type="tech">sh8013</rdeDomain:contact> + <rdeDomain:clID>RegistrarX</rdeDomain:clID> + <rdeDomain:crRr>RegistrarX</rdeDomain:crRr> + <rdeDomain:crDate>1999-04-03T22:00:00.0Z</rdeDomain:crDate> + <rdeDomain:exDate>2025-04-03T22:00:00.0Z</rdeDomain:exDate> + </rdeDomain:domain> + + <!-- Host: ns1.example.example --> + <rdeHost:host> + <rdeHost:name>ns1.example1.example</rdeHost:name> + <rdeHost:roid>Hns1_example_test-TEST</rdeHost:roid> + <rdeHost:status s="ok"/> + <rdeHost:status s="linked"/> + <rdeHost:addr ip="v4">192.0.2.2</rdeHost:addr> + <rdeHost:addr ip="v4">192.0.2.29</rdeHost:addr> + <rdeHost:addr ip="v6">2001:DB8:1::1</rdeHost:addr> + <rdeHost:clID>RegistrarX</rdeHost:clID> + <rdeHost:crRr>RegistrarX</rdeHost:crRr> + <rdeHost:crDate>1999-05-08T12:10:00.0Z</rdeHost:crDate> + <rdeHost:upRr>RegistrarX</rdeHost:upRr> + <rdeHost:upDate>2009-10-03T09:34:00.0Z</rdeHost:upDate> + </rdeHost:host> + + <!-- Contact: sh8013 --> + <rdeContact:contact> + <rdeContact:id>sh8013</rdeContact:id> + <rdeContact:roid>Csh8013-TEST</rdeContact:roid> + <rdeContact:status s="linked"/> + <rdeContact:status s="clientDeleteProhibited"/> + <rdeContact:postalInfo type="int"> + <contact:name>John Doe</contact:name> + <contact:org>Example Inc.</contact:org> + <contact:addr> + <contact:street>123 Example Dr.</contact:street> + <contact:street>Suite 100</contact:street> + <contact:city>Dulles</contact:city> + <contact:sp>VA</contact:sp> + <contact:pc>20166-6503</contact:pc> + <contact:cc>US</contact:cc> + </contact:addr> + </rdeContact:postalInfo> + <rdeContact:voice x="1234">+1.7035555555 + </rdeContact:voice> + <rdeContact:fax>+1.7035555556 + </rdeContact:fax> + <rdeContact:email>jdoe@example.example + </rdeContact:email> + <rdeContact:clID>RegistrarX</rdeContact:clID> + <rdeContact:crRr client="jdoe">RegistrarX + </rdeContact:crRr> + <rdeContact:crDate>2009-09-13T08:01:00.0Z + </rdeContact:crDate> + <rdeContact:upRr client="jdoe">RegistrarX + </rdeContact:upRr> + <rdeContact:upDate>2009-11-26T09:10:00.0Z + </rdeContact:upDate> + <rdeContact:trDate>2009-12-03T09:05:00.0Z + </rdeContact:trDate> + <rdeContact:disclose flag="0"> + <contact:voice/> + <contact:email/> + </rdeContact:disclose> + </rdeContact:contact> + + <!-- Registrar: RegistrarX --> + <rdeRegistrar:registrar> + <rdeRegistrar:id>RegistrarX</rdeRegistrar:id> + <rdeRegistrar:name>Registrar X</rdeRegistrar:name> + <rdeRegistrar:gurid>8</rdeRegistrar:gurid> + <rdeRegistrar:status>ok</rdeRegistrar:status> + <rdeRegistrar:postalInfo type="int"> + <rdeRegistrar:addr> + <rdeRegistrar:street>123 Example Dr. + </rdeRegistrar:street> + <rdeRegistrar:street>Suite 100 + </rdeRegistrar:street> + <rdeRegistrar:city>Dulles</rdeRegistrar:city> + <rdeRegistrar:sp>VA</rdeRegistrar:sp> + <rdeRegistrar:pc>20166-6503</rdeRegistrar:pc> + <rdeRegistrar:cc>US</rdeRegistrar:cc> + </rdeRegistrar:addr> + </rdeRegistrar:postalInfo> + <rdeRegistrar:voice x="1234">+1.7035555555 + </rdeRegistrar:voice> + <rdeRegistrar:fax>+1.7035555556 + </rdeRegistrar:fax> + <rdeRegistrar:email>jdoe@example.example + </rdeRegistrar:email> + <rdeRegistrar:url>http://www.example.example + </rdeRegistrar:url> + <rdeRegistrar:whoisInfo> + <rdeRegistrar:name>whois.example.example + </rdeRegistrar:name> + <rdeRegistrar:url>http://whois.example.example + </rdeRegistrar:url> + </rdeRegistrar:whoisInfo> + <rdeRegistrar:crDate>2005-04-23T11:49:00.0Z + </rdeRegistrar:crDate> + <rdeRegistrar:upDate>2009-02-17T17:51:00.0Z + </rdeRegistrar:upDate> + </rdeRegistrar:registrar> + + <!-- IDN Table --> + <rdeIDN:idnTableRef id="pt-BR"> + <rdeIDN:url> + http://www.iana.org/domains/idn-tables/tables/br_pt-br_1.0.html + </rdeIDN:url> + <rdeIDN:urlPolicy> + http://registro.br/dominio/regras.html + </rdeIDN:urlPolicy> + </rdeIDN:idnTableRef> + + <!-- NNDN: pinguino.example --> + <rdeNNDN:NNDN> + <rdeNNDN:aName>xn--exampl-gva.example</rdeNNDN:aName> + <rdeNNDN:idnTableId>pt-BR</rdeNNDN:idnTableId> + <rdeNNDN:originalName>example1.example</rdeNNDN:originalName> + <rdeNNDN:nameState>withheld</rdeNNDN:nameState> + <rdeNNDN:crDate>2005-04-23T11:49:00.0Z</rdeNNDN:crDate> + </rdeNNDN:NNDN> + + <!-- EppParams --> + <rdeEppParams:eppParams> + <rdeEppParams:version>1.0</rdeEppParams:version> + <rdeEppParams:lang>en</rdeEppParams:lang> + <rdeEppParams:objURI> + urn:ietf:params:xml:ns:domain-1.0 + </rdeEppParams:objURI> + <rdeEppParams:objURI> + urn:ietf:params:xml:ns:contact-1.0 + </rdeEppParams:objURI> + <rdeEppParams:objURI> + urn:ietf:params:xml:ns:host-1.0 + </rdeEppParams:objURI> + <rdeEppParams:svcExtension> + <epp:extURI>urn:ietf:params:xml:ns:rgp-1.0 + </epp:extURI> + <epp:extURI>urn:ietf:params:xml:ns:secDNS-1.1 + </epp:extURI> + </rdeEppParams:svcExtension> + <rdeEppParams:dcp> + <epp:access><epp:all/></epp:access> + <epp:statement> + <epp:purpose> + <epp:admin/> + <epp:prov/> + </epp:purpose> + <epp:recipient> + <epp:ours/> + <epp:public/> + </epp:recipient> + <epp:retention> + <epp:stated/> + </epp:retention> + </epp:statement> + </rdeEppParams:dcp> + </rdeEppParams:eppParams> + <rdePolicy:policy + scope="//rde:deposit/rde:contents/rdeDomain:domain" + element="rdeDomain:registrant" /> + </rde:contents> + </rde:deposit> + +15. Example of a Differential Deposit Using the XML Model + + The following is an example of a Differential Deposit using the XML + model: + + <?xml version="1.0" encoding="UTF-8"?> + <rde:deposit type="DIFF" id="20191017002" prevId="20191017001" + xmlns:domain="urn:ietf:params:xml:ns:domain-1.0" + xmlns:contact="urn:ietf:params:xml:ns:contact-1.0" + xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1" + xmlns:rde="urn:ietf:params:xml:ns:rde-1.0" + xmlns:rdeHeader="urn:ietf:params:xml:ns:rdeHeader-1.0" + xmlns:rdeDomain="urn:ietf:params:xml:ns:rdeDomain-1.0" + xmlns:rdeHost="urn:ietf:params:xml:ns:rdeHost-1.0" + xmlns:rdeContact="urn:ietf:params:xml:ns:rdeContact-1.0" + xmlns:rdeRegistrar="urn:ietf:params:xml:ns:rdeRegistrar-1.0" + xmlns:rdeIDN="urn:ietf:params:xml:ns:rdeIDN-1.0" + xmlns:rdeNNDN="urn:ietf:params:xml:ns:rdeNNDN-1.0" + xmlns:rdeEppParams="urn:ietf:params:xml:ns:rdeEppParams-1.0" + xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"> + + <rde:watermark>2019-10-17T00:00:00Z</rde:watermark> + <rde:rdeMenu> + <rde:version>1.0</rde:version> + <rde:objURI>urn:ietf:params:xml:ns:rdeHeader-1.0 + </rde:objURI> + <rde:objURI>urn:ietf:params:xml:ns:rdeContact-1.0 + </rde:objURI> + <rde:objURI>urn:ietf:params:xml:ns:rdeHost-1.0 + </rde:objURI> + <rde:objURI>urn:ietf:params:xml:ns:rdeDomain-1.0 + </rde:objURI> + <rde:objURI>urn:ietf:params:xml:ns:rdeRegistrar-1.0 + </rde:objURI> + <rde:objURI>urn:ietf:params:xml:ns:rdeIDN-1.0 + </rde:objURI> + <rde:objURI>urn:ietf:params:xml:ns:rdeNNDN-1.0 + </rde:objURI> + <rde:objURI>urn:ietf:params:xml:ns:rdeEppParams-1.0 + </rde:objURI> + </rde:rdeMenu> + + <!-- Deletes --> + <rde:deletes> + <rdeDomain:delete> + <rdeDomain:name>example2.example</rdeDomain:name> + </rdeDomain:delete> + </rde:deletes> + + <!-- Contents --> + <rde:contents> + <!-- Header --> + <rdeHeader:header> + <rdeHeader:tld>test</rdeHeader:tld> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:rdeDomain-1.0">1 + </rdeHeader:count> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:rdeHost-1.0">1 + </rdeHeader:count> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:rdeContact-1.0">1 + </rdeHeader:count> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:rdeRegistrar-1.0">1 + </rdeHeader:count> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:rdeIDN-1.0">1 + </rdeHeader:count> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:rdeNNDN-1.0">1 + </rdeHeader:count> + <rdeHeader:count + uri="urn:ietf:params:xml:ns:rdeEppParams-1.0">1 + </rdeHeader:count> + </rdeHeader:header> + </rde:contents> + </rde:deposit> + +16. Example of a Full Deposit Using the CSV Model + + The following is an example of a Full Deposit using the CSV model: + + <?xml version="1.0" encoding="UTF-8"?> + <rde:deposit + xmlns:epp="urn:ietf:params:xml:ns:epp-1.0" + xmlns:rde="urn:ietf:params:xml:ns:rde-1.0" + xmlns:rdeCsv="urn:ietf:params:xml:ns:rdeCsv-1.0" + xmlns:csvDomain="urn:ietf:params:xml:ns:csvDomain-1.0" + xmlns:csvHost="urn:ietf:params:xml:ns:csvHost-1.0" + xmlns:csvContact="urn:ietf:params:xml:ns:csvContact-1.0" + xmlns:csvRegistrar="urn:ietf:params:xml:ns:csvRegistrar-1.0" + xmlns:csvIDN="urn:ietf:params:xml:ns:csvIDN-1.0" + xmlns:rdeHeader="urn:ietf:params:xml:ns:rdeHeader-1.0" + xmlns:csvNNDN="urn:ietf:params:xml:ns:csvNNDN-1.0" + xmlns:rdeEppParams="urn:ietf:params:xml:ns:rdeEppParams-1.0" + type="FULL" + id="20191017001"> + <rde:watermark>2019-10-18T00:00:00Z</rde:watermark> + <rde:rdeMenu> + <rde:version>1.0</rde:version> + <rde:objURI>urn:ietf:params:xml:ns:csvDomain-1.0</rde:objURI> + <rde:objURI>urn:ietf:params:xml:ns:csvHost-1.0</rde:objURI> + <rde:objURI>urn:ietf:params:xml:ns:csvContact-1.0</rde:objURI> + <rde:objURI>urn:ietf:params:xml:ns:csvRegistrar-1.0</rde:objURI> + <rde:objURI>urn:ietf:params:xml:ns:csvIDN-1.0</rde:objURI> + <rde:objURI>urn:ietf:params:xml:ns:csvNNDN-1.0</rde:objURI> + <rde:objURI>urn:ietf:params:xml:ns:rdeEppParams-1.0</rde:objURI> + </rde:rdeMenu> + <rde:contents> + <rdeHeader:header> + <rdeHeader:tld>test</rdeHeader:tld> + <rdeHeader:count uri="urn:ietf:params:xml:ns:csvDomain-1.0"> + 4 + </rdeHeader:count> + <rdeHeader:count uri="urn:ietf:params:xml:ns:csvHost-1.0"> + 6 + </rdeHeader:count> + <rdeHeader:count uri="urn:ietf:params:xml:ns:csvContact-1.0"> + 9 + </rdeHeader:count> + <rdeHeader:count uri="urn:ietf:params:xml:ns:csvRegistrar-1.0"> + 3 + </rdeHeader:count> + <rdeHeader:count uri="urn:ietf:params:xml:ns:csvIDN-1.0"> + 2 + </rdeHeader:count> + <rdeHeader:count uri="urn:ietf:params:xml:ns:csvNNDN-1.0"> + 2 + </rdeHeader:count> + <rdeHeader:count uri="urn:ietf:params:xml:ns:rdeEppParams-1.0"> + 1 + </rdeHeader:count> + </rdeHeader:header> + <csvDomain:contents> + <rdeCsv:csv name="domain" sep=","> + <rdeCsv:fields> + <csvDomain:fName/> + <rdeCsv:fRoid/> + <rdeCsv:fIdnTableId/> + <csvDomain:fOriginalName/> + <rdeCsv:fRegistrant/> + <rdeCsv:fClID/> + <rdeCsv:fCrRr/> + <rdeCsv:fCrID/> + <rdeCsv:fCrDate/> + <rdeCsv:fUpRr/> + <rdeCsv:fUpID/> + <rdeCsv:fUpDate/> + <rdeCsv:fExDate isRequired="true"/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="75E2D01F"> + domain-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="domainContacts" sep=","> + <rdeCsv:fields> + <csvDomain:fName parent="true"/> + <csvContact:fId/> + <csvDomain:fContactType/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="70A7C17B"> + domainContacts-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="domainStatuses" sep=","> + <rdeCsv:fields> + <csvDomain:fName parent="true"/> + <csvDomain:fStatus/> + <rdeCsv:fStatusDescription/> + <rdeCsv:fLang/> + <csvDomain:fRgpStatus/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="EB8C548E"> + domainStatuses-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="domainNameServers" sep=","> + <rdeCsv:fields> + <csvDomain:fName parent="true"/> + <csvHost:fName parent="true"/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="984C3097"> + domainNameServers-name-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="domainNameServers" sep=","> + <rdeCsv:fields> + <csvDomain:fName parent="true"/> + <rdeCsv:fRoid/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="569D4638"> + domainNameServers-roid-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="dnssec" sep=","> + <rdeCsv:fields> + <csvDomain:fName parent="true"/> + <csvDomain:fMaxSigLife/> + <csvDomain:fKeyTag/> + <csvDomain:fDsAlg/> + <csvDomain:fDigestType/> + <csvDomain:fDigest/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="AA15CB43"> + dnssec-ds-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="dnssec" sep=","> + <rdeCsv:fields> + <csvDomain:fName parent="true"/> + <csvDomain:fMaxSigLife/> + <csvDomain:fFlags/> + <csvDomain:fProtocol/> + <csvDomain:fKeyAlg/> + <csvDomain:fPubKey/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="1B16F334"> + dnssec-key-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="domainTransfer" sep=","> + <rdeCsv:fields> + <csvDomain:fName parent="true"/> + <rdeCsv:fTrStatus/> + <rdeCsv:fReRr/> + <rdeCsv:fReID/> + <rdeCsv:fReDate/> + <rdeCsv:fAcRr/> + <rdeCsv:fAcID/> + <rdeCsv:fAcDate/> + <rdeCsv:fExDate/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="71170194"> + domainTransfer-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + </csvDomain:contents> + <csvHost:contents> + <rdeCsv:csv name="host" sep=","> + <rdeCsv:fields> + <csvHost:fName/> + <rdeCsv:fRoid/> + <rdeCsv:fClID/> + <rdeCsv:fCrRr/> + <rdeCsv:fCrID/> + <rdeCsv:fCrDate/> + <rdeCsv:fUpRr/> + <rdeCsv:fUpID/> + <rdeCsv:fUpDate/> + <rdeCsv:fTrDate/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="120938E3"> + host-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="hostStatuses" sep=","> + <rdeCsv:fields> + <rdeCsv:fRoid parent="true"/> + <csvHost:fStatus/> + <rdeCsv:fStatusDescription/> + <rdeCsv:fLang/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="0BA504FC"> + hostStatuses-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="hostAddresses" sep=","> + <rdeCsv:fields> + <rdeCsv:fRoid parent="true"/> + <csvHost:fAddr isRequired="true"/> + <csvHost:fAddrVersion isRequired="true"/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="17888F02"> + hostAddresses-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + </csvHost:contents> + <csvContact:contents> + <rdeCsv:csv name="contact" sep=","> + <rdeCsv:fields> + <csvContact:fId/> + <rdeCsv:fRoid/> + <csvContact:fVoice/> + <csvContact:fVoiceExt/> + <csvContact:fFax/> + <csvContact:fFaxExt/> + <csvContact:fEmail/> + <rdeCsv:fClID/> + <rdeCsv:fCrRr/> + <rdeCsv:fCrID/> + <rdeCsv:fCrDate/> + <rdeCsv:fUpRr/> + <rdeCsv:fUpID/> + <rdeCsv:fUpDate/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="D7F106A5"> + contact-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="contactStatuses" sep=","> + <rdeCsv:fields> + <csvContact:fId parent="true"/> + <csvContact:fStatus/> + <rdeCsv:fStatusDescription/> + <rdeCsv:fLang/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="2AAF99D4"> + contactStatuses-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="contactPostal" sep=","> + <rdeCsv:fields> + <csvContact:fId parent="true"/> + <csvContact:fPostalType/> + <csvContact:fName/> + <csvContact:fOrg/> + <csvContact:fStreet index="0"/> + <csvContact:fStreet index="1"/> + <csvContact:fStreet index="2"/> + <csvContact:fCity/> + <csvContact:fSp/> + <csvContact:fPc/> + <csvContact:fCc/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="02CC2504"> + contactPostal-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="contactTransfer" sep=","> + <rdeCsv:fields> + <csvContact:fId parent="true"/> + <rdeCsv:fTrStatus/> + <rdeCsv:fReRr/> + <rdeCsv:fReID/> + <rdeCsv:fReDate/> + <rdeCsv:fAcRr/> + <rdeCsv:fAcID/> + <rdeCsv:fAcDate/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="D0929632"> + contactTransfer-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="contactDisclose" sep=","> + <rdeCsv:fields> + <csvContact:fId parent="true"/> + <csvContact:fDiscloseFlag/> + <csvContact:fDiscloseNameLoc/> + <csvContact:fDiscloseNameInt/> + <csvContact:fDiscloseOrgLoc/> + <csvContact:fDiscloseOrgInt/> + <csvContact:fDiscloseAddrLoc/> + <csvContact:fDiscloseAddrInt/> + <csvContact:fDiscloseVoice/> + <csvContact:fDiscloseFax/> + <csvContact:fDiscloseEmail/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="89043A90"> + contactDisclose-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + </csvContact:contents> + <csvRegistrar:contents> + <rdeCsv:csv name="registrar" sep=","> + <rdeCsv:fields> + <csvRegistrar:fId/> + <csvRegistrar:fName isLoc="false"/> + <csvRegistrar:fGurid/> + <csvRegistrar:fStatus/> + <csvContact:fStreet isLoc="false" index="0"/> + <csvContact:fStreet isLoc="false" index="1"/> + <csvContact:fStreet isLoc="false" index="2"/> + <csvContact:fCity isLoc="false" /> + <csvContact:fSp isLoc="false" /> + <csvContact:fPc isLoc="false" /> + <csvContact:fCc isLoc="false" /> + <csvContact:fVoice/> + <csvContact:fVoiceExt/> + <csvContact:fFax/> + <csvContact:fFaxExt/> + <csvContact:fEmail isRequired="false"/> + <rdeCsv:fUrl/> + <csvRegistrar:fWhoisUrl/> + <rdeCsv:fCrDate/> + <rdeCsv:fUpDate/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="306178BB"> + registrar-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + </csvRegistrar:contents> + <csvIDN:contents> + <rdeCsv:csv name="idnLanguage" sep=","> + <rdeCsv:fields> + <rdeCsv:fIdnTableId isRequired="true"/> + <rdeCsv:fUrl isRequired="true"/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="D462EAD0"> + idnLanguage-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + </csvIDN:contents> + <csvNNDN:contents> + <rdeCsv:csv name="NNDN" sep=","> + <rdeCsv:fields> + <csvNNDN:fAName/> + <rdeCsv:fIdnTableId/> + <csvNNDN:fOriginalName/> + <csvNNDN:fNameState/> + <csvNNDN:fMirroringNS/> + <rdeCsv:fCrDate/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="11C80D60"> + NNDN-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + </csvNNDN:contents> + <rdeEppParams:eppParams> + <rdeEppParams:version>1.0</rdeEppParams:version> + <rdeEppParams:lang>en</rdeEppParams:lang> + <rdeEppParams:objURI>urn:ietf:params:xml:ns:domain-1.0 + </rdeEppParams:objURI> + <rdeEppParams:objURI>urn:ietf:params:xml:ns:host-1.0 + </rdeEppParams:objURI> + <rdeEppParams:objURI>urn:ietf:params:xml:ns:contact-1.0 + </rdeEppParams:objURI> + <rdeEppParams:svcExtension> + <epp:extURI>urn:ietf:params:xml:ns:secDNS-1.1 + </epp:extURI> + <epp:extURI>urn:ietf:params:xml:ns:rgp-1.0 + </epp:extURI> + </rdeEppParams:svcExtension> + <rdeEppParams:dcp> + <epp:access> + <epp:all/> + </epp:access> + <epp:statement> + <epp:purpose> + <epp:admin/> + <epp:other/> + <epp:prov/> + </epp:purpose> + <epp:recipient> + <epp:ours/> + <epp:public/> + <epp:unrelated/> + </epp:recipient> + <epp:retention> + <epp:indefinite/> + </epp:retention> + </epp:statement> + </rdeEppParams:dcp> + </rdeEppParams:eppParams> + </rde:contents> + </rde:deposit> + +17. Example of a Differential Deposit Using the CSV Model + + The following is an example of a Differential Deposit using the CSV + model: + + <?xml version="1.0" encoding="UTF-8"?> + <rde:deposit + xmlns:epp="urn:ietf:params:xml:ns:epp-1.0" + xmlns:rde="urn:ietf:params:xml:ns:rde-1.0" + xmlns:rdeCsv="urn:ietf:params:xml:ns:rdeCsv-1.0" + xmlns:csvDomain="urn:ietf:params:xml:ns:csvDomain-1.0" + xmlns:csvHost="urn:ietf:params:xml:ns:csvHost-1.0" + xmlns:csvContact="urn:ietf:params:xml:ns:csvContact-1.0" + xmlns:csvRegistrar="urn:ietf:params:xml:ns:csvRegistrar-1.0" + xmlns:csvIDN="urn:ietf:params:xml:ns:csvIDN-1.0" + xmlns:rdeHeader="urn:ietf:params:xml:ns:rdeHeader-1.0" + xmlns:csvNNDN="urn:ietf:params:xml:ns:csvNNDN-1.0" + xmlns:rdeEppParams="urn:ietf:params:xml:ns:rdeEppParams-1.0" + type="DIFF" + id="20191017001" prevId="20191010001"> + <rde:watermark>2019-10-18T00:00:00Z</rde:watermark> + <rde:rdeMenu> + <rde:version>1.0</rde:version> + <rde:objURI>urn:ietf:params:xml:ns:csvDomain-1.0</rde:objURI> + <rde:objURI>urn:ietf:params:xml:ns:csvHost-1.0</rde:objURI> + <rde:objURI>urn:ietf:params:xml:ns:csvContact-1.0</rde:objURI> + <rde:objURI>urn:ietf:params:xml:ns:csvRegistrar-1.0</rde:objURI> + <rde:objURI>urn:ietf:params:xml:ns:csvIDN-1.0</rde:objURI> + </rde:rdeMenu> + <rde:deletes> + <csvDomain:deletes> + <rdeCsv:csv name="domain"> + <rdeCsv:fields> + <csvDomain:fName/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="6F2B988F"> + domain-delete-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + </csvDomain:deletes> + <csvHost:deletes> + <rdeCsv:csv name="host"> + <rdeCsv:fields> + <rdeCsv:fRoid/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="E3408F5E"> + host-delete-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + </csvHost:deletes> + <csvContact:deletes> + <rdeCsv:csv name="contact"> + <rdeCsv:fields> + <csvContact:fId/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="6F2B988F"> + contact-delete-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + </csvContact:deletes> + <csvRegistrar:deletes> + <rdeCsv:csv name="registrar"> + <rdeCsv:fields> + <csvRegistrar:fId/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="307B87AE"> + registrar-delete-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + </csvRegistrar:deletes> + <csvIDN:deletes> + <rdeCsv:csv name="idnLanguage"> + <rdeCsv:fields> + <rdeCsv:fIdnTableId/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="757B573A"> + idnLanguage-delete-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + </csvIDN:deletes> + <csvNNDN:deletes> + <rdeCsv:csv name="NNDN"> + <rdeCsv:fields> + <csvNNDN:fAName/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="FF104E83"> + NNDN-delete-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + </csvNNDN:deletes> + </rde:deletes> + <rde:contents> + <rdeHeader:header> + <rdeHeader:tld>test</rdeHeader:tld> + <rdeHeader:count uri="urn:ietf:params:xml:ns:csvDomain-1.0"> + 2 + </rdeHeader:count> + <rdeHeader:count uri="urn:ietf:params:xml:ns:csvHost-1.0"> + 2 + </rdeHeader:count> + <rdeHeader:count uri="urn:ietf:params:xml:ns:csvContact-1.0"> + 3 + </rdeHeader:count> + <rdeHeader:count uri="urn:ietf:params:xml:ns:csvRegistrar-1.0"> + 1 + </rdeHeader:count> + <rdeHeader:count uri="urn:ietf:params:xml:ns:csvIDN-1.0"> + 1 + </rdeHeader:count> + <rdeHeader:count uri="urn:ietf:params:xml:ns:csvNNDN-1.0"> + 1 + </rdeHeader:count> + <rdeHeader:count uri="urn:ietf:params:xml:ns:rdeEppParams-1.0"> + 1 + </rdeHeader:count> + </rdeHeader:header> + <csvDomain:contents> + <rdeCsv:csv name="domain" sep=","> + <rdeCsv:fields> + <csvDomain:fName/> + <rdeCsv:fRoid/> + <rdeCsv:fIdnTableId/> + <csvDomain:fOriginalName/> + <rdeCsv:fRegistrant/> + <rdeCsv:fClID/> + <rdeCsv:fCrRr/> + <rdeCsv:fCrID/> + <rdeCsv:fCrDate/> + <rdeCsv:fUpRr/> + <rdeCsv:fUpID/> + <rdeCsv:fUpDate/> + <rdeCsv:fExDate isRequired="true"/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="75E2D01F"> + domain-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="domainContacts" sep=","> + <rdeCsv:fields> + <csvDomain:fName parent="true"/> + <csvContact:fId/> + <csvDomain:fContactType/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="70A7C17B"> + domainContacts-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="domainStatuses" sep=","> + <rdeCsv:fields> + <csvDomain:fName parent="true"/> + <csvDomain:fStatus/> + <rdeCsv:fStatusDescription/> + <rdeCsv:fLang/> + <csvDomain:fRgpStatus/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="EB8C548E"> + domainStatuses-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="domainNameServers" sep=","> + <rdeCsv:fields> + <csvDomain:fName parent="true"/> + <csvHost:fName parent="true"/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="984C3097"> + domainNameServers-name-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="domainNameServers" sep=","> + <rdeCsv:fields> + <csvDomain:fName parent="true"/> + <rdeCsv:fRoid/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="569D4638"> + domainNameServers-roid-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="dnssec" sep=","> + <rdeCsv:fields> + <csvDomain:fName parent="true"/> + <csvDomain:fMaxSigLife/> + <csvDomain:fKeyTag/> + <csvDomain:fDsAlg/> + <csvDomain:fDigestType/> + <csvDomain:fDigest/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="AA15CB43"> + dnssec-ds-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="dnssec" sep=","> + <rdeCsv:fields> + <csvDomain:fName parent="true"/> + <csvDomain:fMaxSigLife/> + <csvDomain:fFlags/> + <csvDomain:fProtocol/> + <csvDomain:fKeyAlg/> + <csvDomain:fPubKey/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="1B16F334"> + dnssec-key-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="domainTransfer" sep=","> + <rdeCsv:fields> + <csvDomain:fName parent="true"/> + <rdeCsv:fTrStatus/> + <rdeCsv:fReRr/> + <rdeCsv:fReID/> + <rdeCsv:fReDate/> + <rdeCsv:fAcRr/> + <rdeCsv:fAcID/> + <rdeCsv:fAcDate/> + <rdeCsv:fExDate/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="71170194"> + domainTransfer-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + </csvDomain:contents> + <csvHost:contents> + <rdeCsv:csv name="host" sep=","> + <rdeCsv:fields> + <csvHost:fName/> + <rdeCsv:fRoid/> + <rdeCsv:fClID/> + <rdeCsv:fCrRr/> + <rdeCsv:fCrID/> + <rdeCsv:fCrDate/> + <rdeCsv:fUpRr/> + <rdeCsv:fUpID/> + <rdeCsv:fUpDate/> + <rdeCsv:fTrDate/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="120938E3"> + host-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="hostStatuses" sep=","> + <rdeCsv:fields> + <rdeCsv:fRoid parent="true"/> + <csvHost:fStatus/> + <rdeCsv:fStatusDescription/> + <rdeCsv:fLang/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="0BA504FC"> + hostStatuses-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="hostAddresses" sep=","> + <rdeCsv:fields> + <rdeCsv:fRoid parent="true"/> + <csvHost:fAddr isRequired="true"/> + <csvHost:fAddrVersion isRequired="true"/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="17888F02"> + hostAddresses-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + </csvHost:contents> + <csvContact:contents> + <rdeCsv:csv name="contact" sep=","> + <rdeCsv:fields> + <csvContact:fId/> + <rdeCsv:fRoid/> + <csvContact:fVoice/> + <csvContact:fVoiceExt/> + <csvContact:fFax/> + <csvContact:fFaxExt/> + <csvContact:fEmail/> + <rdeCsv:fClID/> + <rdeCsv:fCrRr/> + <rdeCsv:fCrID/> + <rdeCsv:fCrDate/> + <rdeCsv:fUpRr/> + <rdeCsv:fUpID/> + <rdeCsv:fUpDate/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="D7F106A5"> + contact-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="contactStatuses" sep=","> + <rdeCsv:fields> + <csvContact:fId parent="true"/> + <csvContact:fStatus/> + <rdeCsv:fStatusDescription/> + <rdeCsv:fLang/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="2AAF99D4"> + contactStatuses-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="contactPostal" sep=","> + <rdeCsv:fields> + <csvContact:fId parent="true"/> + <csvContact:fPostalType/> + <csvContact:fName/> + <csvContact:fOrg/> + <csvContact:fStreet index="0"/> + <csvContact:fStreet index="1"/> + <csvContact:fStreet index="2"/> + <csvContact:fCity/> + <csvContact:fSp/> + <csvContact:fPc/> + <csvContact:fCc/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="02CC2504"> + contactPostal-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="contactTransfer" sep=","> + <rdeCsv:fields> + <csvContact:fId parent="true"/> + <rdeCsv:fTrStatus/> + <rdeCsv:fReRr/> + <rdeCsv:fReID/> + <rdeCsv:fReDate/> + <rdeCsv:fAcRr/> + <rdeCsv:fAcID/> + <rdeCsv:fAcDate/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="D0929632"> + contactTransfer-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + <rdeCsv:csv name="contactDisclose" sep=","> + <rdeCsv:fields> + <csvContact:fId parent="true"/> + <csvContact:fDiscloseFlag/> + <csvContact:fDiscloseNameLoc/> + <csvContact:fDiscloseNameInt/> + <csvContact:fDiscloseOrgLoc/> + <csvContact:fDiscloseOrgInt/> + <csvContact:fDiscloseAddrLoc/> + <csvContact:fDiscloseAddrInt/> + <csvContact:fDiscloseVoice/> + <csvContact:fDiscloseFax/> + <csvContact:fDiscloseEmail/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="89043A90"> + contactDisclose-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + </csvContact:contents> + <csvRegistrar:contents> + <rdeCsv:csv name="registrar" sep=","> + <rdeCsv:fields> + <csvRegistrar:fId/> + <csvRegistrar:fName isLoc="false"/> + <csvRegistrar:fGurid/> + <csvRegistrar:fStatus/> + <csvContact:fStreet isLoc="false" index="0"/> + <csvContact:fStreet isLoc="false" index="1"/> + <csvContact:fStreet isLoc="false" index="2"/> + <csvContact:fCity isLoc="false" /> + <csvContact:fSp isLoc="false" /> + <csvContact:fPc isLoc="false" /> + <csvContact:fCc isLoc="false" /> + <csvContact:fVoice/> + <csvContact:fVoiceExt/> + <csvContact:fFax/> + <csvContact:fFaxExt/> + <csvContact:fEmail isRequired="false"/> + <rdeCsv:fUrl/> + <csvRegistrar:fWhoisUrl/> + <rdeCsv:fCrDate/> + <rdeCsv:fUpDate/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="306178BB"> + registrar-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + </csvRegistrar:contents> + <csvIDN:contents> + <rdeCsv:csv name="idnLanguage" sep=","> + <rdeCsv:fields> + <rdeCsv:fIdnTableId isRequired="true"/> + <rdeCsv:fUrl isRequired="true"/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="D462EAD0"> + idnLanguage-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + </csvIDN:contents> + <csvNNDN:contents> + <rdeCsv:csv name="NNDN" sep=","> + <rdeCsv:fields> + <csvNNDN:fAName/> + <rdeCsv:fIdnTableId/> + <csvNNDN:fOriginalName/> + <csvNNDN:fNameState/> + <csvNNDN:fMirroringNS/> + <rdeCsv:fCrDate/> + </rdeCsv:fields> + <rdeCsv:files> + <rdeCsv:file + cksum="11C80D60"> + NNDN-YYYYMMDD.csv + </rdeCsv:file> + </rdeCsv:files> + </rdeCsv:csv> + </csvNNDN:contents> + <rdeEppParams:eppParams> + <rdeEppParams:version>1.0</rdeEppParams:version> + <rdeEppParams:lang>en</rdeEppParams:lang> + <rdeEppParams:objURI>urn:ietf:params:xml:ns:domain-1.0 + </rdeEppParams:objURI> + <rdeEppParams:objURI>urn:ietf:params:xml:ns:host-1.0 + </rdeEppParams:objURI> + <rdeEppParams:objURI>urn:ietf:params:xml:ns:contact-1.0 + </rdeEppParams:objURI> + <rdeEppParams:svcExtension> + <epp:extURI>urn:ietf:params:xml:ns:secDNS-1.1 + </epp:extURI> + <epp:extURI>urn:ietf:params:xml:ns:rgp-1.0 + </epp:extURI> + </rdeEppParams:svcExtension> + <rdeEppParams:dcp> + <epp:access> + <epp:all/> + </epp:access> + <epp:statement> + <epp:purpose> + <epp:admin/> + <epp:other/> + <epp:prov/> + </epp:purpose> + <epp:recipient> + <epp:ours/> + <epp:public/> + <epp:unrelated/> + </epp:recipient> + <epp:retention> + <epp:indefinite/> + </epp:retention> + </epp:statement> + </rdeEppParams:dcp> + </rdeEppParams:eppParams> + </rde:contents> + </rde:deposit> + +18. References + +18.1. Normative References + + [BCP195] Sheffer, Y., Holz, R., and P. Saint-Andre, + "Recommendations for Secure Use of Transport Layer + Security (TLS) and Datagram Transport Layer Security + (DTLS)", BCP 195, RFC 7525, May 2015. + + <https://www.rfc-editor.org/info/bcp195> + + [ISO-3166-1] + International Organization for Standardization, "Codes for + the representation of names of countries and their + subdivisions -- Part 1: Country codes", ISO Standard 3166, + August 2020. + + [ITU-E164] International Telecommunication Union, "The international + public telecommunication numbering plan", ITU-T + Recommendation E.164, February 2005. + + [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, + DOI 10.17487/RFC0791, September 1981, + <https://www.rfc-editor.org/info/rfc791>. + + [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate + Requirement Levels", BCP 14, RFC 2119, + DOI 10.17487/RFC2119, March 1997, + <https://www.rfc-editor.org/info/rfc2119>. + + [RFC3339] Klyne, G. and C. Newman, "Date and Time on the Internet: + Timestamps", RFC 3339, DOI 10.17487/RFC3339, July 2002, + <https://www.rfc-editor.org/info/rfc3339>. + + [RFC3915] Hollenbeck, S., "Domain Registry Grace Period Mapping for + the Extensible Provisioning Protocol (EPP)", RFC 3915, + DOI 10.17487/RFC3915, September 2004, + <https://www.rfc-editor.org/info/rfc3915>. + + [RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", + STD 69, RFC 5730, DOI 10.17487/RFC5730, August 2009, + <https://www.rfc-editor.org/info/rfc5730>. + + [RFC5731] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) + Domain Name Mapping", STD 69, RFC 5731, + DOI 10.17487/RFC5731, August 2009, + <https://www.rfc-editor.org/info/rfc5731>. + + [RFC5732] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) + Host Mapping", STD 69, RFC 5732, DOI 10.17487/RFC5732, + August 2009, <https://www.rfc-editor.org/info/rfc5732>. + + [RFC5733] Hollenbeck, S., "Extensible Provisioning Protocol (EPP) + Contact Mapping", STD 69, RFC 5733, DOI 10.17487/RFC5733, + August 2009, <https://www.rfc-editor.org/info/rfc5733>. + + [RFC5891] Klensin, J., "Internationalized Domain Names in + Applications (IDNA): Protocol", RFC 5891, + DOI 10.17487/RFC5891, August 2010, + <https://www.rfc-editor.org/info/rfc5891>. + + [RFC5910] Gould, J. and S. Hollenbeck, "Domain Name System (DNS) + Security Extensions Mapping for the Extensible + Provisioning Protocol (EPP)", RFC 5910, + DOI 10.17487/RFC5910, May 2010, + <https://www.rfc-editor.org/info/rfc5910>. + + [RFC5952] Kawamura, S. and M. Kawashima, "A Recommendation for IPv6 + Address Text Representation", RFC 5952, + DOI 10.17487/RFC5952, August 2010, + <https://www.rfc-editor.org/info/rfc5952>. + + [RFC6234] Eastlake 3rd, D. and T. Hansen, "US Secure Hash Algorithms + (SHA and SHA-based HMAC and HKDF)", RFC 6234, + DOI 10.17487/RFC6234, May 2011, + <https://www.rfc-editor.org/info/rfc6234>. + + [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC + 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, + May 2017, <https://www.rfc-editor.org/info/rfc8174>. + + [RFC8499] Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS + Terminology", BCP 219, RFC 8499, DOI 10.17487/RFC8499, + January 2019, <https://www.rfc-editor.org/info/rfc8499>. + + [RFC8909] Lozano, G., "Registry Data Escrow Specification", + RFC 8909, DOI 10.17487/RFC8909, November 2020, + <https://www.rfc-editor.org/info/rfc8909>. + + [V42] International Telecommunication Union, "V.42 : Error- + correcting procedures for DCEs using asynchronous-to- + synchronous conversion", ITU-T Recommendation V.42, March + 2002, <https://www.itu.int/rec/T-REC-V.42/en>. + + [W3C.REC-xml-20081126] + Bray, T., Paoli, J., Sperberg-McQueen, C. M., Maler, E., + and F. Yergeau, "Extensible Markup Language (XML) 1.0 + (Fifth Edition) REC-xml-20081126", W3C Recommendation, + November 2008, + <https://www.w3.org/TR/2008/REC-xml-20081126/>. + + [W3C.REC-xmlschema-1-20041028] + Thompson, H. S., Beech, D., Maloney, M., and N. + Mendelsohn, "XML Schema Part 1: Structures Second Edition + REC-xmlschema-1-20041028", W3C Recommendation, October + 2004, + <https://www.w3.org/TR/2004/REC-xmlschema-1-20041028/>. + + [W3C.REC-xmlschema-2-20041028] + Biron, P. V. and A. Malhotra, "XML Schema Part 2: + Datatypes Second Edition REC-xmlschema-2-20041028", + W3C Recommendation, October 2004, + <https://www.w3.org/TR/2004/REC-xmlschema-2-20041028/>. + + [W3C.REC-xpath-31-20170321] + Robie, J., Dyck, M., and J. Spiegel, "XML Path Language + (XPath) 3.1", W3C Recommendation, March 2017, + <https://www.w3.org/TR/2017/REC-xpath-31-20170321/>. + +18.2. Informative References + + [ICANN-GTLD-AGB-20120604] + ICANN, "gTLD Applicant Guidebook Version 2012-06-04", 4 + June 2012, <http://newgtlds.icann.org/en/applicants/agb/ + guidebook-full-04jun12-en.pdf>. + + [ICANN-GTLD-RA-20170731] + ICANN, "Base Registry Agreement 2017-07-31", 31 July 2017, + <https://newgtlds.icann.org/sites/default/files/ + agreements/agreement-approved-31jul17-en.pdf>. + + [RFC1952] Deutsch, P., "GZIP file format specification version 4.3", + RFC 1952, DOI 10.17487/RFC1952, May 1996, + <https://www.rfc-editor.org/info/rfc1952>. + + [RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, + DOI 10.17487/RFC2818, May 2000, + <https://www.rfc-editor.org/info/rfc2818>. + + [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, + DOI 10.17487/RFC3688, January 2004, + <https://www.rfc-editor.org/info/rfc3688>. + + [RFC3912] Daigle, L., "WHOIS Protocol Specification", RFC 3912, + DOI 10.17487/RFC3912, September 2004, + <https://www.rfc-editor.org/info/rfc3912>. + + [RFC4180] Shafranovich, Y., "Common Format and MIME Type for Comma- + Separated Values (CSV) Files", RFC 4180, + DOI 10.17487/RFC4180, October 2005, + <https://www.rfc-editor.org/info/rfc4180>. + + [RFC6672] Rose, S. and W. Wijngaards, "DNAME Redirection in the + DNS", RFC 6672, DOI 10.17487/RFC6672, June 2012, + <https://www.rfc-editor.org/info/rfc6672>. + + [variantTLDsReport] + Internet Corporation for Assigned Names and Numbers + (ICANN), "A Study of Issues Related to the Management of + IDN Variant TLDs", 20 February 2012, + <https://www.icann.org/en/system/files/files/idn-vip- + integrated-issues-final-clean-20feb12-en.pdf>. + +Acknowledgments + + Parts of this document are based on EPP [RFC5730] and related RFCs by + Scott Hollenbeck. + + Special suggestions that have been incorporated into this document + were provided by Edward Lewis, Jaap Akkerhuis, Lawrence Conroy, Marc + Groeneweg, Michael Young, Chris Wright, Patrick Mevzek, Stephen + Morris, Scott Hollenbeck, Stephane Bortzmeyer, Warren Kumari, Paul + Hoffman, Vika Mpisane, Bernie Hoeneisen, Jim Galvin, Andrew Sullivan, + Hiro Hotta, Christopher Browne, Daniel Kalchev, David Conrad, James + Mitchell, Francisco Obispo, Bhadresh Modi, Alexander Mayrhofer, and + Benjamin Kaduk. + + Shoji Noguchi and Francisco Arias participated as coauthors through + version 05 of earlier drafts of this document and provided invaluable + support. + +Authors' Addresses + + Gustavo Lozano + Internet Corporation for Assigned Names and Numbers + Suite 300 + 12025 Waterfront Drive + Los Angeles, CA 90292 + United States of America + + Phone: +1.310.823.9358 + Email: gustavo.lozano@icann.org + + + James Gould + VeriSign, Inc. + 12061 Bluemont Way + Reston, VA 20190 + United States of America + + Email: jgould@verisign.com + + + Chethan Thippeswamy + VeriSign, Inc. + 12061 Bluemont Way + Reston, VA 20190 + United States of America + + Email: cthippeswamy@verisign.com |