Network Working Group | J.G. Gould |
Internet-Draft | C.T. Thippeswamy |
Intended status: Standards Track | Verisign |
Expires: May 09, 2013 | November 05, 2012 |
Domain Name Registration Data (DNRD) Comma-Separated Values (CSV) Objects Mapping
draft-gould-thippeswamy-dnrd-csv-mapping-00
This document specifies the format and contents of Data Escrow deposits for the standard set of Domain Name Registration Data (DNRD) objects including domain, host, contact, and registrar using XML for definition and Comma-Separated Values (CSV) Files for data.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http:/⁠/⁠datatracker.ietf.org/⁠drafts/⁠current/⁠.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
This Internet-Draft will expire on May 09, 2013.
Copyright (c) 2012 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 (http:/⁠/⁠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.
The Registry Data Escrow Specification can be extended to support any type of object that is included in a data escrow. This document defines the data escrow structure of the standard set of objects for Domain Name Registration Data (DNRD), using XML for definition and Comma-Seperated Values (CSV) files for data, which include:
Bulk data exports and imports from and to a database is a natural fit for the use of Comma-Seperated Values (CSV) files, but CSV files don't provide any formal description that is a natural fit for the use of XML. This document fully supports the full, incremental, and differential deposits defined in the Registry Data Escrow Specification with a flexible and extensible model for Domain Name Registration Data (DNRD) that leverages Comma-Seperated Values (CSV) files for creating and consuming the deposits in a cost effective manner.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].
Numerous fields indicate "dates", such as the creation and expiry dates for domains. These fields SHALL contain timestamps indicating the date and time in UTC as specified in [RFC3339], with no offset from the zero meridian.
Country identifiers SHALL be represented using two character identifiers as specified in [ISO-3166-1].
Telephone numbers (both voice and fax) 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 0x002B), followed by a country code defined in [ITU-E164], followed by a dot (".", ASCII value 0x002E), followed by a sequence of digits representing the telephone number.
Some elements MAY be provided in either internationalized form ("int") or provided in 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. Some of 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"> <rdeCsv:sep>,</rdeCsv: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/> <csvRegistrar:fUrl/> <csvRegistrar:fWhoisUrl/> <rdeCsv:fCrID/> <rdeCsv:fCrDate/> <rdeCsv:fUpID/> <rdeCsv:fUpDate/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="1924040625 268"> 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:sep>,</rdeCsv:sep> <rdeCsv:fields> <csvContact:fId/> <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="2670296305 91797970"> contactPostal-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csv> ... </csvContact:contents> ...
IP addresses syntax MUST conform either to, Internet Protocol [RFC0791], for IPv4 addresses, or IP Version 6 Addressing Architecture [RFC4291], for IPv6 addresses.
To support a CSV model with the Registry Data Escrow Specification, a <rdeCsv:csv> element is defined that substitutes for <rde:content> as a child element of a <rde:contents> substitute element like the <csvDomain:contents> element. A <rdeCsv:csvDelete> element substitutes for <rde:delete> as a child element of the <rde:deletes> element. The <rdeCsv:csv> and <rdeCsv:csvDelete> elements share the following child elements:
The <rdeCsv:csv> and <rdeCsv:csvDelete> elements 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 following is an example of the <rdeCsv:csv> element for domain name records.
<rdeCsv:csv name="domain"> <rdeCsv:sep>,</rdeCsv:sep> <rdeCsv:fields> <rdeCsv:fName/> <rdeCsv:fRoid/> <csvDomain:fIdn/> <rdeCsv:fLanguage/> <csvDomain:fVariant/> <csvDomain:fOriginalName/> <csvDomain:fReserved/> <rdeCsv:fStatuses/> <csvDomain:fRgpStatuses/> <rdeCsv:fRegistrant/> <rdeCsv:fAdminContacts/> <rdeCsv:fTechContacts/> <rdeCsv:fBillingContacts/> <csvDomain:fNsObjs/> <rdeCsv:fClID/> <rdeCsv:fCrID/> <rdeCsv:fCrDate/> <rdeCsv:fUpID/> <rdeCsv:fUpDate/> <rdeCsv:fExDate/> <rdeCsv:fPwAuthInfo/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="2670296305 91797970"> domain-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csv>
The following is example of the "domain-YYYYMMDD.csv" file with a single record matching the <rdeCsv:fields> definition.
domain1.test,domain1-TEST,0,,0,0,,0,"pendingDelete", "pendingDelete",registrantid,"adminid","techid","billingid", "ns1.example.com,ns1.example.net",clientX,clientY, 1999-04-03T22:00:00.0Z,clientX,2009-12-03T09:05:00.0Z, 2015-04-03T22:00:00.0Z,2fooBAR domain2.test,domain2-TEST,0,,0,0,,0,"ok",,registrantid, "adminid","techid","billingid","ns1.example.com,ns1.example.net", clientX,clientY,2009-04-03T22:00:00.0Z,clientX, 2009-12-03T09:05:00.0Z,2015-04-03T22:00:00.0Z,2fooBAR
The following is an example of the <rde:csvDelete> element for domain name records.
<rdeCsv:csvDelete name="domain"> <rdeCsv:fields> <rdeCsv:fName/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="2670296305 91797970"> domain-delete-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csvDelete>
The following is example of the "domain-delete-YYYYMMDD.csv" file with a single record and matching the single <rdeCsv:fName> field.
domain1.test domain2.test domainN.test
The <rdeCsv:fields> element defined in the <rdeCsv:csv> and <rdeCsv:csvDelete> elements [rdeCsv-csv-csvDelete] section has child elements that substitute for the abstract <rdeCsv:field> element. By convention <rdeCsv:field> elements incude an 'f' prefix to identify it as a field definition element. 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:
The following is a format for Data Escrow deposits for the standard set of objects for Domain Name Registration Data (DNRD). Format elements are reused from the EPP [RFC5730] and related RFCs.
The domain name object is based on the EPP domain name mapping in [RFC5731]. The elements used for the Domain Name Object is defined in this section. The <csvDomain:contents> child element of the <rde:contents> element is used to hold the domain name objects for the deposit. The <rdeCsv:csv> and the <rdeCsv:csvDelete> elements, defined in the "<rdeCsv:csv> and <rdeCsv:csvDelete> elements [rdeCsv-csv-csvDelete]" section, are used with the following supported "name" attribute values:
... <csvDomain:contents> ... <rdeCsv:csv name="domain"> <rdeCsv:sep>,</rdeCsv:sep> <rdeCsv:fields> <rdeCsv:fName/> <rdeCsv:fRoid/> <csvDomain:fIdn/> <rdeCsv:fLanguage/> <csvDomain:fVariant/> <csvDomain:fOriginalName/> <csvDomain:fReserved/> <rdeCsv:fStatuses/> <csvDomain:fRgpStatuses/> <rdeCsv:fRegistrant/> <rdeCsv:fAdminContacts/> <rdeCsv:fTechContacts/> <rdeCsv:fBillingContacts/> <csvDomain:fNsObjs/> <rdeCsv:fClID/> <rdeCsv:fCrID/> <rdeCsv:fCrDate/> <rdeCsv:fUpID/> <rdeCsv:fUpDate/> <rdeCsv:fExDate/> <rdeCsv:fPwAuthInfo/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="2670296305 91797970"> domain-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csv> ... </csvDomain:contents> ...
domain1.test,Ddomain2-TEST,0,,0,0,,0,"ok",,registrantid, "adminid","techid","billingid","ns1.example.com,ns1.example.net", clientX,clientY,2009-04-03T22:00:00.0Z,clientX, 2009-12-03T09:05:00.0Z,2015-04-03T22:00:00.0Z,2fooBAR domain2.test,Ddomain1-TEST,0,,0,0,,0,"pendingDelete","pendingDelete", registrantid,"adminid","techid","billingid", "ns1.example.com,ns1.example.net",clientX,clientY, 1999-04-03T22:00:00.0Z,clientX,2009-12-03T09:05:00.0Z, 2015-04-03T22:00:00.0Z,2fooBAR xn-abc123.test,Dxn-abc123-TEST,1,LANG1,0,1,,0,"ok",, registrantid,"adminid","techid","billingid", "ns1.example.com,ns1.example.net",clientX,clientY, 2009-04-03T22:00:00.0Z,clientX,2009-12-03T09:05:00.0Z, 2015-04-03T22:00:00.0Z,2fooBAR xn-abc321.test,Dxn-abc321-TEST,1,LANG1,1, 0,xn-abc123.test,0,"ok",,registrantid,"adminid", "techid","billingid","ns1.example.com,ns1.example.net", clientX,clientY,2009-04-03T22:00:00.0Z,clientX, 2009-12-03T09:05:00.0Z,2015-04-03T22:00:00.0Z,2fooBAR
... <rde:deletes> ... <rdeCsv:csvDelete name="domain"> <rdeCsv:fields> <rdeCsv:fName/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="2670296305 91797970"> domain-delete-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csvDelete> ... </rde:deletes> ...
domain1.test domain2.test domainN.test
<csvDomain:contents> ... <rdeCsv:csv name="dnssec"> <rdeCsv:sep>,</rdeCsv:sep> <rdeCsv:fields> <rdeCsv:fName/> <csvDomain:fMaxSigLife/> <csvDomain:fKeyTag/> <csvDomain:fDsAlg/> <csvDomain:fDigestType/> <csvDomain:fDigest/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="2670296305 91797970"> dnssec-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csv> ... </csvDomain:contents> ...
domain1.test,604800,12345,3,1,49FD46E6C4B45C55D4AC domain1.test,604800,12346,3,1,38EC35D5B3A34B44C39B
<csvDomain:contents> ... <rdeCsv:csv name="dnssec"> <rdeCsv:sep>,</rdeCsv:sep> <rdeCsv:fields> <rdeCsv:fName/> <csvDomain:fMaxSigLife/> <csvDomain:fFlags/> <csvDomain:fProtocol/> <csvDomain:fKeyAlg/> <csvDomain:fPubKey/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="2670296305 91797970"> dnssec-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csv> ... </csvDomain:contents> ...
domain1.test,604800,257,3,1,AQPJ////4Q== domain1.test,604800,257,3,1,AQPJ////4QQQ
... <rde:deletes> ... <rdeCsv:csvDelete name="dnssec"> <rdeCsv:fields> <rdeCsv:fName/> <csvDomain:fKeyTag/> <csvDomain:fDsAlg/> <csvDomain:fDigestType/> <csvDomain:fDigest/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="2670296305 91797970"> dnssec-delete-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csvDelete> ... </rde:deletes> ...
domain1.test,604800,12345,3,1,49FD46E6C4B45C55D4AC domain1.test,604800,12346,3,1,38EC35D5B3A34B44C39B
... <rde:deletes> ... <rdeCsv:csvDelete name="dnssec"> <rdeCsv:fields> <rdeCsv:fName/> <csvDomain:fFlags/> <csvDomain:fProtocol/> <csvDomain:fKeyAlg/> <csvDomain:fPubKey/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="2670296305 91797970"> dnssec-delete-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csvDelete> ... </rde:deletes> ...
domain1.test,257,3,1,AQPJ////4Q== domain1.test,257,3,1,AQPJ////4QQQ
... <csvDomain:contents> ... <rdeCsv:csv name="domainTransfer"> <rdeCsv:sep>,</rdeCsv:sep> <rdeCsv:fields> <rdeCsv:fName/> <rdeCsv:fTrStatus/> <rdeCsv:fReID/> <rdeCsv:fReDate/> <rdeCsv:fAcID/> <rdeCsv:fAcDate/> <rdeCsv:fExDate/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="2670296305 91797970"> domainTransfer-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csv> ... </csvDomain:contents> ...
domain1.test,pending,clientW,2011-03-08T19:38:00.0Z, clientX,2011-03-13T23:59:59.0Z,2016-04-03T22:00:00.0Z domain2.test,clientApproved,clientW,2012-03-08T19:38:00.0Z, clientX,2012-03-09T23:59:59.0Z,2016-05-04T23:00:00.0Z
... <rde:deletes> ... <rdeCsv:csvDelete name="domainTransfer"> <rdeCsv:fields> <rdeCsv:fName/> <rdeCsv:fReDate/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="2670296305 91797970"> domainTransfer-delete-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csvDelete> ... </rde:deletes> ...
domain1.test,2011-03-08T19:38:00.0Z domain2.test,2012-03-08T19:38:00.0Z
The host object is based on the EPP host mapping in [RFC5732]. The elements used for Host Object is defined in this section. The <csvHost:contents> child element of the <rde:contents> element is used to hold the host objects for the deposit. The <rdeCsv:csv> and the <rdeCsv:csvDelete> elements, defined in the "<rdeCsv:csv> and <rdeCsv:csvDelete> elements [rdeCsv-csv-csvDelete]" section, are used with the following supported "name" attribute values:
... <csvHost:contents> ... <rdeCsv:csv name="host"> <rdeCsv:sep>,</rdeCsv:sep> <rdeCsv:fields> <rdeCsv:fName/> <rdeCsv:fRoid/> <rdeCsv:fParentDomain/> <rdeCsv:fStatuses/> <csvHost:fV4Addrs/> <csvHost:fV6Addrs/> <rdeCsv:fClID/> <rdeCsv:fCrID/> <rdeCsv:fCrDate/> <rdeCsv:fUpID/> <rdeCsv:fUpDate/> <rdeCsv:fTrDate/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="1410255126 216"> host-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csv> ... </csvHost:contents> ...
ns1.example.test,Hns1_example_test-TEST,example.test, "linked,clientUpdateProhibited","192.0.2.2,192.0.2.29", "1080:0:0:0:8:800:200C:417A",clientY,clientX, 1999-05-08T12:10:00.0Z,clientX,2009-10-03T09:34:00.0Z, 2007-01-08T09:19:00.0Z ns1.example.test2,Hns1_example_test2-TEST,, "linked,clientUpdateProhibited",,,clientY,clientX, 2009-05-08T12:10:00.0Z,clientX,2010-10-03T09:34:00.0Z,
... <rde:deletes> ... <rdeCsv:csvDelete name="host"> <rdeCsv:fields> <rdeCsv:fName/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="2670296305 91797970"> host-delete-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csvDelete> ... </rde:deletes> ...
ns1.example.test ns1.example.test2
The contact object is based on the EPP contact mapping in [RFC5733]. The elements used for the Contact Object are defined in this sections The <csvContact:contents> child element of the <rde:contents> element to hold the contact objects for the deposit. The <rdeCsv:csv> and the <rdeCsv:csvDelete> elements, defined in the "<rdeCsv:csv> and <rdeCsv:csvDelete> elements [rdeCsv-csv-csvDelete]" section, are used with the following supported "name" attribute values:
... <csvContact:contents> ... <rdeCsv:csv name="contact"> <rdeCsv:sep>,</rdeCsv:sep> <rdeCsv:fields> <csvContact:fId/> <rdeCsv:fRoid/> <rdeCsv:fStatuses/> <csvContact:fVoice/> <csvContact:fVoiceExt/> <csvContact:fFax/> <csvContact:fFaxExt/> <csvContact:fEmail/> <rdeCsv:fClID/> <rdeCsv:fCrID/> <rdeCsv:fCrDate/> <rdeCsv:fUpID/> <rdeCsv:fUpDate/> <rdeCsv:fPwAuthInfo/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="1410255126 216"> contact-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csv> ... </csvContact:contents> ...
sh8013,Csh8013-TEST,"linked,clientDeleteProhibited", +1.7035555555,1234,+1.7035555556,,jdoe@example.test,clientY, clientX,2009-09-13T08:01:00.0Z,clientX, 2009-11-26T09:10:00.0Z,2fooBAR mycontactid,Cmycontactid-TEST,"ok",+1.7034444444,1234, +1.7033333333,,jsmith@example.test,clientY,clientX, 2010-09-13T08:01:00.0Z,clientX,2011-11-26T09:10:00.0Z,2fooBAR
... <rde:deletes> ... <rdeCsv:csvDelete name="contact"> <rdeCsv:fields> <csvContact:fId/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="1410255126 216"> contact-delete-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csvDelete> ... </rde:deletes> ...
sh8013 mycontactid
... <csvContact:contents> ... <rdeCsv:csv name="contactPostal"> <rdeCsv:sep>,</rdeCsv:sep> <rdeCsv:fields> <csvContact:fId/> <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="2670296305 91797970"> contactPostal-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csv> ... </csvContact:contents> ...
sh8013,int,"John Doe","Example Inc.", "123 Example Dr.","Suite 100",,Reston,VA,20190,US mycontactid,int,"John Smith","Acme Inc.", "123 Sample Dr.",,,Reston,VA,20190,US
... <rde:deletes> ... <rdeCsv:csvDelete name="contactPostal"> <rdeCsv:sep>,</rdeCsv:sep> <rdeCsv:fields> <csvContact:fId/> <csvContact:fPostalType/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="2670296305 91797970"> contactPostal-delete-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csvDelete> ... </rde:deletes> ...
sh8013,int mycontactid,int
... <rde:deletes> ... <rdeCsv:csv name="contactTransfer"> <rdeCsv:sep>,</rdeCsv:sep> <rdeCsv:fields> <csvContact:fId/> <rdeCsv:fTrStatus/> <rdeCsv:fReID/> <rdeCsv:fReDate/> <rdeCsv:fAcID/> <rdeCsv:fAcDate/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="2670296305 91797970"> contactTransfer-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csv> ... </csvContact:contents> ...
sh8013,pending,clientW,2011-03-08T19:38:00.0Z, clientX,2011-03-13T23:59:59.0Z mycontactid,clientApproved,clientW,2011-04-08T19:38:00.0Z, clientX,2011-04-09T20:38:00.0Z
... <csvContact:contents> ... <rdeCsv:csvDelete name="contactTransfer"> <rdeCsv:fields> <csvContact:fId/> <rdeCsv:fReDate/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="2670296305 91797970"> contactTransfer-delete-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csvDelete> ... </rde:deletes> ...
sh8013,2011-03-08T19:38:00.0Z mycontactid,2011-04-08T19:38:00.0Z
... <csvContact:contents> ... <rdeCsv:csv name="contactDisclose"> <rdeCsv:sep>,</rdeCsv:sep> <rdeCsv:fields> <csvContact:fId/> <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="2670296305 91797970"> contactDisclose-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csv> ... </csvContact:contents> ...
sh8013,0,0,0,0,0,0,0,1,1,1 mycontactid,1,1,1,0,0,0,0,0,0,0
... <csvContact:contents> ... <rdeCsv:csvDelete name="contactDisclose"> <rdeCsv:fields> <csvContact:fId/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="2670296305 91797970"> contactDisclose-delete-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csvDelete> ... </rde:deletes> ...
Example of the contactDisclose-delete-YYYYMMDD.csv file. The file contains two disclosure records.
sh8013 mycontactid
The registrar object represents the sponsoring client for other objects. The registrar object MAY be related to registrar contacts using Contact Object, as defined in Section 4.3, references or MAY contain registrar contacts. The elements used for the Registrar Object references are defined in this section. The <csvRegistrar:contents> child element of the <rde:contents> element holds the registrar objects for the deposit. The <rdeCsv:csv> and the <rdeCsv:csvDelete> elements, defined in the "<rdeCsv:csv> and <rdeCsv:csvDelete> elements [rdeCsv-csv-csvDelete]" section, are used with the following supported "name" attribute values:
... <csvRegistrar:contents> ... <rdeCsv:csv name="registrar"> <rdeCsv:sep>,</rdeCsv: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/> <csvRegistrar:fUrl/> <csvRegistrar:fWhoisUrl/> <rdeCsv:fCrID/> <rdeCsv:fCrDate/> <rdeCsv:fUpID/> <rdeCsv:fUpDate/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="1924040625 268"> registrar-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csv> ... </csvRegistrar:contents> ...
EXAMPLE,REGISTRAR123-TEST,"Example Inc.",1234,ok,"123 Example Dr.", "Suite 100",,Dulles,VA,20166-6503,US,+1.7035555555,1234, +1.7035555556,,jdoe@example.test,http://www.example.test, http://whois.example.test,clientX,2005-04-23T11:49:00.0Z, clientY,2009-02-17T17:51:00.0Z
... <csvRegistrar:contents> ... <rdeCsv:csv name="registrar"> <rdeCsv:sep>,</rdeCsv: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/> <csvRegistrar:fUrl/> <csvRegistrar:fWhoisUrl/> <rdeCsv:fAdminContacts> <rdeCsv:fTechContacts> <rdeCsv:fBillingContacts> <rdeCsv:fCrID/> <rdeCsv:fCrDate/> <rdeCsv:fUpID/> <rdeCsv:fUpDate/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="1924040625 268"> registrar-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csv> ... </csvRegistrar:contents> ...
EXAMPLE,REGISTRAR123-TEST,"Example Inc.",1234,ok,"123 Example Dr.", "Suite 100",,Dulles,VA,20166-6503,US,+1.7035555555,1234, +1.7035555556,,jdoe@example.test,http://www.example.test, http://whois.example.test,"sh8013,mycontactid","sh8013,mycontactid", "sh8013,mycontactid",clientX,2005-04-23T11:49:00.0Z, clientY,2009-02-17T17:51:00.0Z
... <rde:deletes> ... <rdeCsv:csvDelete name="registrar"> <rdeCsv:fields> <csvRegistrar:fId/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="1924040625 268"> registrar-delete-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csvDelete> ... </rde:deletes> ...
EXAMPLE EXAMPLE2
... <csvRegistrar:contents> ... <rdeCsv:csv name="registrarContact"> <rdeCsv:sep>,</rdeCsv:sep> <rdeCsv:fields> <csvRegistrar:fId/> <csvContact:fId/> <rdeCsv:fRoid/> <csvContact:fName isLoc="false"/> <csvContact:fVoice/> <csvContact:fVoiceExt/> <csvContact:fFax/> <csvContact:fFaxExt/> <csvContact:fEmail/> <rdeCsv:fCrID/> <rdeCsv:fCrDate/> <rdeCsv:fUpID/> <rdeCsv:fUpDate/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="2186160075 371"> registrarcontact-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csv> ... </csvRegistrar:contents> ...
EXAMPLE,rr0013,REGISTRARCONTACT12345-VRSN,"John Doe", "admin",+1.7035555555,1234,+1.7035555556,,johndoe@example.test, clientY,clientX,2009-09-13T08:01:00.0Z, clientX,2009-11-26T09:10:00.0Z EXAMPLE,rr0012,REGISTRARCONTACT12346-VRSN,"Jane Doe", "tech",+1.7035555555,1235,+1.7035555556,,janedoe@example.test, clientY,clientX,2009-09-13T08:01:00.0Z, clientX,2009-11-26T09:10:00.0Z
... <csvRegistrar:contents> ... <rdeCsv:csv name="registrarContact"> <rdeCsv:sep>,</rdeCsv:sep> <rdeCsv:fields> <csvRegistrar:fId/> <csvContact:fId/> <rdeCsv:fRoid/> <csvContact:fName isLoc="false"/> <csvRegistrar:fContactTypes/> <!-- "int" type of postal information --> <csvContact:fPostalType/> <csvContact:fStreet index="0"/> <csvContact:fStreet index="1"/> <csvContact:fStreet index="2"/> <csvContact:fCity/> <csvContact:fSp/> <csvContact:fPc/> <csvContact:fCc/> <!-- "loc" type of postal information --> <csvContact:fPostalType/> <csvContact:fStreet index="0"/> <csvContact:fStreet index="1"/> <csvContact:fStreet index="2"/> <csvContact:fCity/> <csvContact:fSp/> <csvContact:fPc/> <csvContact:fCc/> <csvContact:fVoice/> <csvContact:fVoiceExt/> <csvContact:fFax/> <csvContact:fFaxExt/> <csvContact:fEmail/> <rdeCsv:fCrID/> <rdeCsv:fCrDate/> <rdeCsv:fUpID/> <rdeCsv:fUpDate/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="2186160075 371"> registrarcontact-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csv> ... </csvRegistrar:contents> ...
EXAMPLE,rr0013,REGISTRARCONTACT12345-VRSN,"John Doe","admin", int,"123 Example Dr.","Suite 100",,Reston,VA,20190,US, loc,int,"123 Example Dr.","Suite 100",,Reston,VA,20190,US, +1.7035555555,1234,+1.7035555556,,johndoe@example.test, clientY,clientX,2009-09-13T08:01:00.0Z, clientX,2009-11-26T09:10:00.0Z
... <rde:deletes> ... <rdeCsv:csvDelete name="registrarContact"> <rdeCsv:sep>,</rdeCsv:sep> <rdeCsv:fields> <csvRegistrar:fId/> <csvContact:fId/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="2670296305 91797970"> registrarContact-delete-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csvDelete> ... </rde:deletes> ...
EXAMPLE,rr0013 EXAMPLE,rr0012
The IDN domain names, defined in Section 4.1, MAY have references to the IDN language using the <rdeCsv:fLanguage> field element. The IDN language object defines the mapping of a language to a language table URL. The language table URL defines the character code points that can be used for the language. The elements used for the IDN language object is defined in this section. The <csvIDN:contents> child element of the <rde:contents> element is used to hold the IDN language objects for the deposit. The <rdeCsv:csv> and the <rdeCsv:csvDelete> elements, defined in the "<rdeCsv:csv> and <rdeCsv:csvDelete> elements [rdeCsv-csv-csvDelete]" section, are used with the following supported "name" attribute values:
... <csvIDN:contents> ... <rdeCsv:csv name="idnLanguage"> <rdeCsv:sep>,</rdeCsv:sep> <rdeCsv:fields> <rdeCsv:fLanguage/> <rdeCsv:fUrl/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="1924040625 268"> idnLanguage-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csv> ... </csvIDN:contents> ...
LANG1,http://www.iana.org/domains/idn-tables/tables/test_tab1_1.1.txt LANG2,http://www.iana.org/domains/idn-tables/tables/test_tab2_1.1.txt
... <rde:deletes> ... <rdeCsv:csvDelete name="idnLanguage"> <rdeCsv:fields> <rdeCsv:fLanguage/> </rdeCsv:fields> <rdeCsv:files> <rdeCsv:file cksum="1924040625 268"> idnLanguage-YYYYMMDD.csv </rdeCsv:file> </rdeCsv:files> </rdeCsv:csvDelete> ... </rde:deletes> ...
LANG1 LANG2
Six schemas are presented here. The first schema is the base CSV schema. The second schema defines domain name CSV object for RDE. The third schema defines host CSV object for RDE. The fourth schema defines contact CSV object for RDE. The fifth schema defines registrar CSV object for RDE. The sixth schema defines the IDN language CSV object.
Copyright (c) 2012 IETF Trust and the persons identified as authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
BEGIN <?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" schemaLocation="eppcom-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:rde-1.0" schemaLocation="rde-1.0.xsd"/> <annotation> <documentation> Registry Data Escrow Comma-Seperated Values (CSV) </documentation> </annotation> <!-- csv content element --> <element name="csv" type="rdeCsv:csvType" substitutionGroup="rde:content"/> <!-- Definition of CSV file --> <complexType name="csvType"> <complexContent> <extension base="rde:contentType"> <sequence> <element name="sep" type="token" default="," minOccurs="0"/> <element name="fields" type="rdeCsv:fieldsType"/> <element name="files" type="rdeCsv:filesType"/> </sequence> <attribute name="name" type="token" use="required"/> </extension> </complexContent> </complexType> <element name="csvDelete" type="rdeCsv:csvDeleteType" substitutionGroup="rde:delete"/> <complexType name="csvDeleteType"> <complexContent> <extension base="rde:deleteType"> <sequence> <element name="sep" type="token" default="," minOccurs="0"/> <element name="fields" type="rdeCsv:fieldsType"/> <element name="files" type="rdeCsv:filesType"/> </sequence> <attribute name="name" type="token" use="required"/> </extension> </complexContent> </complexType> <!-- Abstract field type --> <element name="field" type="rdeCsv:fieldType" abstract="true"/> <complexType name="fieldType"> <sequence/> </complexType> <!-- Concrete field types --> <!-- Name field (e.g. domain name) --> <element name="fName" type="rdeCsv:fNameType" substitutionGroup="rdeCsv:field"/> <!-- UTF-8 Name field (e.g. domain name) --> <element name="fUName" type="rdeCsv:fNameType" substitutionGroup="rdeCsv:field"/> <complexType name="fNameType"> <complexContent> <extension base="rdeCsv:fieldType"> <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:fieldType"> <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:fieldType"> <sequence/> <attribute name="type" type="token" default="eppcom\:clIDType"/> </extension> </complexContent> </complexType> <!-- Contact fields (Admin, Tech, Billing) --> <element name="fAdminContacts" type="rdeCsv:fContactsType" substitutionGroup="rdeCsv:field"/> <element name="fTechContacts" type="rdeCsv:fContactsType" substitutionGroup="rdeCsv:field"/> <element name="fBillingContacts" type="rdeCsv:fContactsType" substitutionGroup="rdeCsv:field"/> <complexType name="fContactsType"> <complexContent> <extension base="rdeCsv:fieldType"> <sequence/> <attribute name="type" type="token" default="eppcom\:clIDType"/> <attribute name="list" type="boolean" default="true"/> <attribute name="sep" type="token" default=","/> </extension> </complexContent> </complexType> <!-- Statuses as a list of delimited statuses with ',' as delimeter --> <element name="fStatuses" type="rdeCsv:fStatusesType" substitutionGroup="rdeCsv:field"/> <complexType name="fStatusesType"> <complexContent> <extension base="rdeCsv:fieldType"> <sequence/> <attribute name="type" type="token" default="eppcom\:statusType"/> <attribute name="list" type="boolean" default="true"/> <attribute name="sep" type="token" default=","/> </extension> </complexContent> </complexType> <!-- clID fields (fClID, fCrID, fUpID) --> <!-- Identifier of client that sponsors the object --> <element name="fClID" type="rdeCsv:fClIDType" substitutionGroup="rdeCsv:field"/> <!-- Identifier of client that created the object --> <element name="fCrID" type="rdeCsv:fClIDType" substitutionGroup="rdeCsv:field"/> <!-- Identifier of client that updated the object --> <element name="fUpID" type="rdeCsv:fClIDType" substitutionGroup="rdeCsv:field"/> <!-- Identifier of client that requested the transfer --> <element name="fReID" type="rdeCsv:fClIDType" substitutionGroup="rdeCsv:field"/> <!-- Identifier of client that should take or took action --> <element name="fAcID" type="rdeCsv:fClIDType" substitutionGroup="rdeCsv:field"/> <complexType name="fClIDType"> <complexContent> <extension base="rdeCsv:fieldType"> <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:fDatetimeType" substitutionGroup="rdeCsv:field"/> <!-- Date and time of a required or completed response --> <element name="fAcDate" type="rdeCsv:fDatetimeType" substitutionGroup="rdeCsv:field"/> <element name="fTrDate" type="rdeCsv:fDatetimeType" substitutionGroup="rdeCsv:field"/> <complexType name="fDatetimeType"> <complexContent> <extension base="rdeCsv:fieldType"> <sequence/> <attribute name="type" type="token" default="datetime"/> </extension> </complexContent> </complexType> <!-- boolean type --> <complexType name="fBooleanType"> <complexContent> <extension base="rdeCsv:fieldType"> <sequence/> <attribute name="type" type="token" default="boolean"/> </extension> </complexContent> </complexType> <!-- unsignedbyte type --> <complexType name="fUnsignedByteType"> <complexContent> <extension base="rdeCsv:fieldType"> <sequence/> <attribute name="type" type="token" default="unsignedbyte"/> </extension> </complexContent> </complexType> <!-- unsignedShort type --> <complexType name="fUnsignedShortType"> <complexContent> <extension base="rdeCsv:fieldType"> <sequence/> <attribute name="type" type="token" default="unsignedShort"/> </extension> </complexContent> </complexType> <!-- hexBinary type --> <complexType name="fHexBinaryType"> <complexContent> <extension base="rdeCsv:fieldType"> <sequence/> <attribute name="type" type="token" default="hexBinary"/> </extension> </complexContent> </complexType> <!-- language type --> <element name="fLanguage" type="rdeCsv:fLanguageType" substitutionGroup="rdeCsv:field"/> <complexType name="fLanguageType"> <complexContent> <extension base="rdeCsv:fieldType"> <sequence/> <attribute name="type" type="token" default="language"/> </extension> </complexContent> </complexType> <!-- State of the most recent transfer request --> <element name="fTrStatus" type="rdeCsv:fTrStatusType" substitutionGroup="rdeCsv:field"/> <complexType name="fTrStatusType"> <complexContent> <extension base="rdeCsv:fieldType"> <sequence/> <attribute name="type" type="token" default="eppcom\:trStatusType"/> </extension> </complexContent> </complexType> <!-- General token type --> <complexType name="fTokenType"> <complexContent> <extension base="rdeCsv:fieldType"> <sequence/> <attribute name="type" type="token" default="token"/> </extension> </complexContent> </complexType> <!-- positive integer type --> <complexType name="fPositiveIntegerType"> <complexContent> <extension base="rdeCsv:fieldType"> <sequence/> <attribute name="type" type="token" default="positiveInteger"/> </extension> </complexContent> </complexType> <!-- Password authorization info --> <element name="fPwAuthInfo" type="rdeCsv:fPwAuthInfoType" substitutionGroup="rdeCsv:field"/> <complexType name="fPwAuthInfoType"> <complexContent> <extension base="rdeCsv:fieldType"> <sequence/> <attribute name="type" type="token" default="normalizedString"/> </extension> </complexContent> </complexType> <!-- Custom / extension field type --> <element name="fCustom" type="rdeCsv:fCustomType" substitutionGroup="rdeCsv:field"/> <complexType name="fCustomType"> <complexContent> <extension base="rdeCsv:fieldType"> <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"/> </extension> </simpleContent> </complexType> <!-- URL fields --> <element name="fUrl" type="rdeCsv:anyURIType" substitutionGroup="rdeCsv:field"/> <complexType name="anyURIType"> <complexContent> <extension base="rdeCsv:fieldType"> <sequence/> <attribute name="type" type="token" default="anyURI"/> </extension> </complexContent> </complexType> <!-- End of schema. --> </schema> END
Copyright (c) 2012 IETF Trust and the persons identified as authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
BEGIN <?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" schemaLocation="eppcom-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:domain-1.0" schemaLocation="domain-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:secDNS-1.1" schemaLocation="secDNS-1.1.xsd"/> <import namespace="urn:ietf:params:xml:ns:rgp-1.0" schemaLocation="rgp-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:rde-1.0" schemaLocation="rde-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:rdeCsv-1.0" schemaLocation="rdeCsv-1.0.xsd"/> <annotation> <documentation> Domain Name Comma-Separated Values (CSV) Object </documentation> </annotation> <!-- Child elements of the <rde:contents> object --> <element name="contents" type="csvDomain:contentsType" substitutionGroup="rde:contents"/> <complexType name="contentsType"> <complexContent> <extension base="rde:contentsType"/> </complexContent> </complexType> <!-- RGP statuses field --> <element name="fRgpStatuses" type="csvDomain:fRgpStatusesType" substitutionGroup="rdeCsv:field"/> <complexType name="fRgpStatusesType"> <complexContent> <extension base="rdeCsv:fieldType"> <sequence/> <attribute name="type" type="token" default="rgp\:statusType"/> <attribute name="list" type="boolean" default="true"/> <attribute name="sep" type="token" default=","/> </extension> </complexContent> </complexType> <!-- Name server object list field --> <element name="fNsObjs" type="csvDomain:fNsObjsType" substitutionGroup="rdeCsv:field"/> <complexType name="fNsObjsType"> <complexContent> <extension base="rdeCsv:fieldType"> <sequence/> <attribute name="type" type="token" default="eppcom\:labelType"/> <attribute name="list" type="boolean" default="true"/> <attribute name="sep" type="token" default=","/> </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:fieldType"> <sequence/> <attribute name="type" type="token" default="secDNS\:maxSigLifeType"/> </extension> </complexContent> </complexType> <!-- Key tag field --> <element name="fKeyTag" type="rdeCsv:fUnsignedShortType" substitutionGroup="rdeCsv:field"/> <!-- DS Algorithm field --> <element name="fDsAlg" type="rdeCsv:fUnsignedByteType" substitutionGroup="rdeCsv:field"/> <!-- Digest type field --> <element name="fDigestType" type="rdeCsv:fUnsignedByteType" substitutionGroup="rdeCsv:field"/> <!-- Digest field --> <element name="fDigest" type="rdeCsv:fHexBinaryType" substitutionGroup="rdeCsv:field"/> <!-- Flags field --> <element name="fFlags" type="rdeCsv:fUnsignedShortType" substitutionGroup="rdeCsv:field"/> <!-- Protocol field --> <element name="fProtocol" type="rdeCsv:fUnsignedByteType" substitutionGroup="rdeCsv:field"/> <!-- Key Algorithm field --> <element name="fKeyAlg" type="rdeCsv:fUnsignedByteType" substitutionGroup="rdeCsv:field"/> <!-- Public Key field --> <element name="fPubKey" type="csvDomain:fPubKeyType" substitutionGroup="rdeCsv:field"/> <complexType name="fPubKeyType"> <complexContent> <extension base="rdeCsv:fieldType"> <sequence/> <attribute name="type" type="token" default="secDNS\:keyType"/> </extension> </complexContent> </complexType> <!-- Boolean type fields --> <element name="fIdn" type="rdeCsv:fBooleanType" substitutionGroup="rdeCsv:field"/> <element name="fVariant" type="rdeCsv:fBooleanType" substitutionGroup="rdeCsv:field"/> <element name="fReserved" type="rdeCsv:fBooleanType" substitutionGroup="rdeCsv:field"/> <!-- Original Domain Name for Variant field --> <element name="fOriginalName" type="rdeCsv:fNameType" substitutionGroup="rdeCsv:field"/> <!-- End of schema. --> </schema> END
Copyright (c) 2012 IETF Trust and the persons identified as authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
BEGIN <?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" schemaLocation="eppcom-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:host-1.0" schemaLocation="host-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:rde-1.0" schemaLocation="rde-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:rdeCsv-1.0" schemaLocation="rdeCsv-1.0.xsd"/> <annotation> <documentation> Host Comma-Separated Values (CSV) Object </documentation> </annotation> <!-- Child elements of the <rde:contents> object --> <element name="contents" type="csvHost:contentsType" substitutionGroup="rde:contents"/> <complexType name="contentsType"> <complexContent> <extension base="rde:contentsType"/> </complexContent> </complexType> <!-- IP address fields (fV4Addrs, fV6Addrs) --> <element name="fV4Addrs" type="csvHost:fAddrsType" substitutionGroup="rdeCsv:field"/> <element name="fV6Addrs" type="csvHost:fAddrsType" substitutionGroup="rdeCsv:field"/> <complexType name="fAddrsType"> <complexContent> <extension base="rdeCsv:fieldType"> <sequence/> <attribute name="type" type="token" default="host\:addrStringType"/> <attribute name="list" type="boolean" default="true"/> <attribute name="sep" type="token" default=","/> </extension> </complexContent> </complexType> <!-- Boolean type fields --> <element name="fIdn" type="rdeCsv:fBooleanType" substitutionGroup="rdeCsv:field"/> <!-- Parent domain name for subordinate host field --> <element name="fParentDomain" type="rdeCsv:fNameType" substitutionGroup="rdeCsv:field"/> <!-- End of schema. --> </schema> END
Copyright (c) 2012 IETF Trust and the persons identified as authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
BEGIN <?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" schemaLocation="eppcom-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:contact-1.0" schemaLocation="contact-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:rde-1.0" schemaLocation="rde-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:rdeCsv-1.0" schemaLocation="rdeCsv-1.0.xsd"/> <annotation> <documentation> Contact Comma-Separated Values (CSV) Object </documentation> </annotation> <!-- Child elements of the <rde:contents> object --> <element name="contents" type="csvContact:contentsType" substitutionGroup="rde:contents"/> <complexType name="contentsType"> <complexContent> <extension base="rde:contentsType"/> </complexContent> </complexType> <!-- Server-unique contact identifier field --> <element name="fId" type="csvContact:fIdType" substitutionGroup="rdeCsv:field"/> <complexType name="fIdType"> <complexContent> <extension base="rdeCsv:fieldType"> <sequence/> <attribute name="type" type="token" default="eppcom\:clIDType"/> </extension> </complexContent> </complexType> <!-- 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:fieldType"> <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:fieldType"> <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:fieldType"> <sequence/> <attribute name="type" type="token" default="contact\:postalInfoEnumType"/> </extension> </complexContent> </complexType> <!-- Standard postal line field --> <complexType name="fPostalLineType"> <complexContent> <extension base="rdeCsv:fieldType"> <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:fieldType"> <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:fPostalLineType"> <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:fieldType"> <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:fieldType"> <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:fieldType"> <sequence/> <attribute name="type" type="token" default="boolean"/> </extension> </complexContent> </complexType> <!-- End of schema. --> </schema> END
Copyright (c) 2012 IETF Trust and the persons identified as authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
BEGIN <?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" schemaLocation="eppcom-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:domain-1.0" schemaLocation="domain-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:contact-1.0" schemaLocation="contact-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:rde-1.0" schemaLocation="rde-1.0.xsd"/> <import namespace="urn:ietf:params:xml:ns:rdeCsv-1.0" schemaLocation="rdeCsv-1.0.xsd"/> <annotation> <documentation> Registar Comma-Separated Values (CSV) Object </documentation> </annotation> <!-- Child elements of the <rde:contents> object --> <element name="contents" type="csvRegistrar:contentsType" substitutionGroup="rde:contents"/> <complexType name="contentsType"> <complexContent> <extension base="rde:contentsType"/> </complexContent> </complexType> <!-- Supported form / type of postal information --> <simpleType name="postalInfoEnumType"> <restriction base="token"> <enumeration value="loc"/> <enumeration value="int"/> </restriction> </simpleType> <!-- Registrar unique identifier (short name / id) --> <element name="fId" type="rdeCsv:fClIDType" 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:fieldType"> <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:fieldType"> <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="hold"/> <enumeration value="terminated"/> <enumeration value="custom"/> </restriction> </simpleType> <!-- URL fields --> <element name="fWhoisUrl" type="rdeCsv:anyURIType" substitutionGroup="rdeCsv:field"/> <!-- Registrar contact types field --> <element name="fContactTypes" type="csvRegistrar:contactTypesType" substitutionGroup="rdeCsv:field"/> <complexType name="contactTypesType"> <complexContent> <extension base="rdeCsv:fieldType"> <sequence/> <attribute name="type" type="token" default="csvRegistrar\:contactTypeType"/> <attribute name="list" type="boolean" default="true"/> <attribute name="sep" type="token" default=","/> </extension> </complexContent> </complexType> <!-- Contact type enumerated values --> <simpleType name="contactTypeType"> <restriction base="token"> <enumeration value="admin"/> <enumeration value="billing"/> <enumeration value="tech"/> <enumeration value="custom"/> </restriction> </simpleType> <!-- End of schema. --> </schema> END
Copyright (c) 2012 IETF Trust and the persons identified as authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
BEGIN <?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="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <!-- Import common element types --> <import namespace="urn:ietf:params:xml:ns:rde-1.0" schemaLocation="rde-1.0.xsd"/> <annotation> <documentation> IDN Language Comma-Separated Values (CSV) Object </documentation> </annotation> <!-- Child elements of the <rde:contents> object --> <element name="contents" type="csvIDN:contentsType" substitutionGroup="rde:contents"/> <complexType name="contentsType"> <complexContent> <extension base="rde:contentsType"/> </complexContent> </complexType> <!-- End of schema. --> </schema> END
TBD
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, use of UTF-8 is RECOMMENDED.
This document uses URNs to describe XML namespaces and XML schemas conforming to a registry mechanism described in [RFC3688]. Fourteen URI assignments have been registered by the IANA.
Registration request for the RDE CSV namespace:
Registration request for the RDE CSV XML schema:
Registration request for the RDE CSV domain namespace:
Registration request for the RDE CSV domain XML schema:
Registration request for the RDE CSV host namespace:
Registration request for the RDE CSV host XML schema:
Registration request for the RDE CSV contact namespace:
Registration request for the RDE CSV contact XML schema:
Registration request for the RDE CSV registrar namespace:
Registration request for the RDE CSV registrar XML schema:
Registration request for the RDE CSV IDN namespace:
Registration request for the RDE CSV IDN XML schema:
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 Registry transmitting the data to the Escrow Agent SHOULD take all the necessary precautions like encrypting the data itself and/or the transport channel to avoid inadvertent disclosure of private data.
It is also of the utmost importance the authentication of the parties passing data escrow deposit files. The Escrow Agent SHOULD properly authenticate the identity of the Registry before accepting data escrow deposits. In a similar manner, the Registry SHOULD authenticate the identity of the Escrow Agent before submitting any data.
Additionally, the Registry and the Escrow Agent SHOULD use integrity checking mechanisms to ensure the data transmitted is what the source intended. Validation of the contents by the Escrow Agent is RECOMMENDED to ensure not only the file was transmitted correctly from the Registry, but also the contents are also "meaningful".
Parts of this document are based on EPP [RFC5730] and related RFCs by Scott Hollenbeck. The structure and some of the sample data and content of this document is based on the Domain Name Registration Data (DNRD) Objects Mapping by Francisco Arias and Shoji Noguchi.
TBD
[[RFC Editor: Please remove this section.]]
[RFC0791] | Postel, J., "Internet Protocol", STD 5, RFC 791, September 1981. |
[RFC3688] | Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, January 2004. |
[RFC4291] | Hinden, R. and S. Deering, "IP Version 6 Addressing Architecture", RFC 4291, February 2006. |