Network Working Group A. Newton
Internet-Draft VeriSign, Inc.
Expires: February 12, 2003 August 14, 2002
IRIS Domain Registry Schema
draft-ietf-crisp-iris-dreg
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as
Internet-Drafts.
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."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on February 12, 2003.
Copyright Notice
Copyright (C) The Internet Society (2002). All Rights Reserved.
Abstract
This document describes an IRIS (draft-ietf-crisp-iris-core-00.txt )
registry schema for registered DNS information. The schema extends
the necessary query and result operations of IRIS to provide the
functional information service needs for syntaxes and results used
by domain registries and registrars.
Newton Expires February 12, 2003 [Page 1]
Internet-Draft iris-dreg August 2002
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Document Terminology . . . . . . . . . . . . . . . . . . . . 4
3. Schema Description . . . . . . . . . . . . . . . . . . . . . 5
3.1 Query Derivatives . . . . . . . . . . . . . . . . . . . . . 5
3.1.1 <listRegistrars> Query . . . . . . . . . . . . . . . . . . . 5
3.1.2 <findDomainByHolder> Query . . . . . . . . . . . . . . . . . 5
3.1.3 <findDomainByName> Query . . . . . . . . . . . . . . . . . . 5
3.1.4 <findContacts> Query . . . . . . . . . . . . . . . . . . . . 5
3.1.5 <findHostsByDomain> Query . . . . . . . . . . . . . . . . . 5
3.2 Result Derivatives . . . . . . . . . . . . . . . . . . . . . 6
3.2.1 <domain> Result . . . . . . . . . . . . . . . . . . . . . . 6
3.2.2 <host> Result . . . . . . . . . . . . . . . . . . . . . . . 7
3.2.3 <contact> Result . . . . . . . . . . . . . . . . . . . . . . 8
3.3 Global Types . . . . . . . . . . . . . . . . . . . . . . . . 9
3.4 Support for <iris:lookupEntity> . . . . . . . . . . . . . . 9
4. Domain Registry Width . . . . . . . . . . . . . . . . . . . 11
4.1 "Thick" . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2 "Thin" . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5. Formal XML Syntax . . . . . . . . . . . . . . . . . . . . . 13
6. Internationalization Considerations . . . . . . . . . . . . 22
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . 23
8. Security Considerations . . . . . . . . . . . . . . . . . . 24
References . . . . . . . . . . . . . . . . . . . . . . . . . 25
Author's Address . . . . . . . . . . . . . . . . . . . . . . 25
A. An Example Request and Response . . . . . . . . . . . . . . 26
Full Copyright Statement . . . . . . . . . . . . . . . . . . 28
Newton Expires February 12, 2003 [Page 2]
Internet-Draft iris-dreg August 2002
1. Introduction
This document describes an IRIS registry schema for Internet domain
registries using an XML Schema[4] derived from and using the IRIS[5]
schema. The query and result types outlined in this document are
based on the functional requirements described in CRISP[8].
The schema given is this document is specified using the Extensible
Markup Language (XML) 1.0 as described in XML[1], XML Schema
notation as described in XML_SD[3] and XML_SS[4], and XML Namespaces
as described in XML_NS[2].
It is important to note that XML is case sensitive. XML
specifications and examples provided in this document MUST be
interpreted in the exact character case presented to develop a
conforming implementation.
Newton Expires February 12, 2003 [Page 3]
Internet-Draft iris-dreg August 2002
2. Document Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC2119[9].
Newton Expires February 12, 2003 [Page 4]
Internet-Draft iris-dreg August 2002
3. Schema Description
IRIS requires the derivation of both query and result elements by a
registry schemas. These descriptions follow.
References to XML elements with no namespace qualifier are from the
schema defined in Section 5. References to elements with the "iris"
XML namespace qualifier are from the schema defined in IRIS[5].
3.1 Query Derivatives
3.1.1 <listRegistrars> Query
This query returns a result set of entity references and search
continuations of the registrars of a registry. A search constraint
of <baseDomain> MAY restrict the list to registrars only of a
particular domain.
3.1.2 <findDomainByHolder> Query
<findDomainByHolder> finds a domain entity by the common name of the
domain's holder. A search constraint of <baseDomain> MAY restrict
the results to domains only underneath the domain specified by its
content. The <beginsWith> element MUST be present and specifies the
beginning of the common name of the holder. The <endsWith> element
is OPTIONAL and MUST contain the end of the common name of the
holder.
3.1.3 <findDomainByName> Query
Similar to <findDomainByHolder>, <findDomainByName> finds a domain
entity by the name of the domain as it is known in DNS. A search
constraint of <baseDomain> MAY restrict the results to domains only
underneath the domain specified by its content. The <beginsWith>
element MUST be present and specifies the beginning of the domain
name. The <endsWith> element is OPTIONAL and MUST contain the end of
the domain name.
3.1.4 <findContacts> Query
<findContacts> searches for contacts given search constraints. The
<beginsWith> element MUST be present and specifies the beginning of
the common name of the contact. The <endsWith> element is OPTIONAL
and MUST contain the end of the common name of the contact.
3.1.5 <findHostsByDomain> Query
This query does a simple search for the name servers hosting a
domain. The search constraint <domainName> MUST be present.
Newton Expires February 12, 2003 [Page 5]
Internet-Draft iris-dreg August 2002
3.2 Result Derivatives
3.2.1 <domain> Result
This is the expected result of a domain lookup. This element has one
attribute: "thisEntityURI" MUST be an IRIS URI representing this
domain. The children of the <domain> element are as follows:
o <domainName> - the full name of the domain as it is in DNS. This
element MUST be present.
o <domainHandle> - a registry unique assigned identifier to a
domain. This element is OPTIONAL.
o <nameServers> - an element containing multiple children. Each
child can either be an <iris:entityURI> element as described by
IRIS[5] or a <host> (Section 3.2.2) element.
o <holder> - an element representing the holder of the domain. The
children of this element contain the contact information of the
holder and MUST be identical in specification as the children of
<contact> (Section 3.2.3). This element is OPTIONAL.
o <domainContact> - an element representing contacts associated
with the domain. This element is OPTIONAL. It contains children
of either <contact> (Section 3.2.3) or <iris:entityURI> coupled
with a <role> element and an OPTIONAL <description> element. The
<role> element MAY contain one of the following tokens:
* billing
* technical
* administrative
* other
o <lastContactModificationDateTime> - an OPTIONAL element
specifying the last time a contact for the domain was added or
removed.
o <lastContactModificationBy> - an OPTIONAL element with a child of
either <contact> (Section 3.2.3) or <iris:entityURI>. Either
child element specifies the entity responsible for the last
addition or removal of a contact for this domain.
o <activationStatus> - an OPTIONAL element specifying the status of
the domain. This element MAY contain one of the following tokens:
Newton Expires February 12, 2003 [Page 6]
Internet-Draft iris-dreg August 2002
* reservedDelegation - permanently inactive
* assignedAndActive - normal state
* assignedAndInactive - new delegation
* assignedAndOnHold - dispute
* revoked - database purge pending
* unspecified
o <registry> - contains a child of either <contact> (Section 3.2.3)
or <iris:entityURI> specifying the domain registry operator for
this domain. This element MUST be present.
o <registrar> - contains a child of either <contact> (Section
3.2.3) or <iris:entityURI> specifying the domain registrar
operator for this domain. This element is OPTIONAL.
o <initialDelegationDateTime> - an OPTIONAL element containing the
date and time of the initial delegation of this domain.
o <lastRenewalDateTime> - an OPTIONAL element containing the date
and time of last renewal of this domain.
o <expirationDateTime> - an OPTIONAL element containing the date
and time of the expiration of this domain.
o <lastDelegationModificationDateTime> - an OPTIONAL element
containing the date and time of the last time one of the
nameservers was added or removed for the delegation of this
domain.
o <lastDelegationModificationBy> - an OPTIONAL element with a child
of either <contact> (Section 3.2.3) or <iris:entityURI>. Either
child element specifies the entity responsible for the last
addition or removal of a nameserver for this domain.
o <iris:seeAlso> - an OPTIONAL element containing <iris:entityURI>
elements specifying entities that are indirectly associated with
this domain.
3.2.2 <host> Result
The <host> element is the expected result of a nameserver lookup. It
has an "thisEntityURI" attribute which MUST be an IRIS URI
representing this host. The children of the <host> element are as
follows:
Newton Expires February 12, 2003 [Page 7]
Internet-Draft iris-dreg August 2002
<handle> - a registry unique assigned identifier for the host.
This element is OPTIONAL.
<hostName> - the fully qualified domain name of the host. This
element MUST be present.
a list of <ipv4Address> and <ipv6Address> elements specifying the
IP addresses of this host.
a list of either <contact> (Section 3.2.3) or <iris:entityURI>
elements specifying contacts associated with this host.
<createdDateTime> - an OPTIONAL element containing the date and
time this host was created.
<lastModificationDateTime> - an OPTIONAL element containing the
date and time this host was last modified.
<iris:seeAlso> - an OPTIONAL element containing <iris:entityURI>
elements specifying entities that are indirectly associated with
this host.
3.2.3 <contact> Result
The <contact> element is the expected result of a contact lookup or
query. This element has one attribute, "thisEntityURI" which MUST be
an IRIS URI representing this contact. The children of the <contact>
element are as follows:
<handle> - a registry unique assigned identifier for this
contact. This element MUST be present.
<commonName> - the name of the contact. This element MUST be
present.
<organization> - an OPTIONAL element containing the organization
name of the contact.
<e-mail> - an OPTIONAL element containing the e-mail address for
this contact.
<address> - an OPTIONAL element containing the street address for
this contact.
<city> - an OPTIONAL element containing the city for this contact.
<region> - an OPTIONAL element containing the national region for
this contact.
Newton Expires February 12, 2003 [Page 8]
Internet-Draft iris-dreg August 2002
<postalCode> - an OPTIONAL element containing the postal code for
this contact.
<country> - an OPTIONAL element containing the country for this
contact.
<phone> - an OPTIONAL element containing the voice phone number
for this contact.
<fax> - an OPTIONAL element containing the facsimile phone number
for this contact.
<createdDateTime> - an OPTIONAL element containing the date and
time this contact was created.
<lastModificationDateTime> - an OPTIONAL element containing the
date and time this contact was last modified.
<tranlatedContact> - an OPTIONAL element containing
<iris:entityURI> elements. This element has an attribute of
"language" and a datatype of "language" as specified by
XML_SD[3]. This element references an entity which is assumed to
be identical but for which the information in the above elements
has been translated into the language given.
<iris:seeAlso> - an OPTIONAL element containing <iris:entityURI>
elements specifying entities that are indirectly associated with
this contact.
3.3 Global Types
Some of the global types defined by the schema specified in this
document are expressed using regular expressions. The regular
expressions used for these definitions do not fully represent every
allowable syntax for the intended type, but meet a standard of
reasonableness for the expression of the types.
3.4 Support for <iris:lookupEntity>
The following types of named entities are recognized by the
<lookupEntity> query of IRIS via derivation of the <entityClass>
element:
o hostName - the fully qualified domain name of a nameserver.
Yields a <host> (Section 3.2.2) in the response.
o hostHandle - the registry unique identifier given a nameserver.
Yields a <host> (Section 3.2.2) in the response.
Newton Expires February 12, 2003 [Page 9]
Internet-Draft iris-dreg August 2002
o domainName - the fully qualified name of a domain. Yields a
<domain> (Section 3.2.1) in the response.
o domainHandle - the registry unique identifier given a domain.
Yields a <domain> (Section 3.2.1) in the response.
o contactHandle - the registry unique identifier given a contact.
Yields a <contact> (Section 3.2.3) in the response.
o ipv4Address - the IPv4 address of a nameserver. Yields a <host>
(Section 3.2.2) in the response.
o ipv6Address - the IPv6 address of a nameserver. Yields a <host>
(Section 3.2.2) in the response.
Newton Expires February 12, 2003 [Page 10]
Internet-Draft iris-dreg August 2002
4. Domain Registry Width
As described in CRISP[8], domain registries have differing widths.
Some are "thick" and some are "thin." Regardless of the domain
registry width, it is important for all levels of the hierarchy of
the domain delegation tree to have the same appearance from a schema
perspective. This allows clients to traverse this tree with only the
need to know the fingerprint of a "domain registry" and without the
need to know separate fingerprints for what is a domain registry, a
domain registrar, or even a domain registrant. Therefore, the schema
defined in this document MUST be used at all levels despite the
width of the domain registry model.
However, implementers will need to take into consideration the
instances where search continuations and entity references either
defined in this document or defined as part of the base result, as
layed out in IRIS[5], will need to be employed to support the
appropriate registry width. The following sections are only
guidelines and the language specified in Section 2 does not apply
and is not used. Implementers should determine the appropriate
results for their particular implementation as the two following
sections are generalized and may not be appropriate to all models of
registries. All guidelines noted in the following sections are
subject to policy settings of the operators involved.
4.1 "Thick"
For thick registries, searches for and lookups of domains should
result in a <domain> element. This element should contain most of
the contact information if privileges allow for it. To reference the
equivalent domain entity in a registrants service instance, an
entity URI should be returned following the <domain> element.
Searches for contacts or holders should not yield search
continuations.
4.2 "Thin"
When <domain> elements are returned in a result, thin registries
should also return an entity URI to the equivalent domain entity in
the registrars service instance. Likewise, when a registrar's
service instance returns a <domain> instance, it should be followed
by an entity URI to the domain entity in the registrant's service
instance, if one is available.
Because thin registries do not contain contact information, certain
searches will yield nothing but search continuations. These are
listed here:
Newton Expires February 12, 2003 [Page 11]
Internet-Draft iris-dreg August 2002
o <findDomainByHolder>
o <findContacts>
o entity lookups in the "contactHandle" class
Because handles for hosts and domains can be assigned by both
registries and registrars, entity lookups in the registry in the
"hostHandle" and "domainHandle" classes can yield both a <result>
derivative, in this case <host> and <domain> respectively, and
search continuations.
Newton Expires February 12, 2003 [Page 12]
Internet-Draft iris-dreg August 2002
5. Formal XML Syntax
This registry schema is specified in the XML Schema notation. The
formal syntax presented here is a complete schema representation
suitable for automated validation of an XML instance when combined
with the formal schema syntax of IRIS. Due to document formatting
restrictions, readers should note that the regular expressions
expressed in this schema DO NOT contain whitespace within the quotes
containing the regular expression.
<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:dreg="urn:ietf:params:xml:ns:dreg1"
xmlns:iris="urn:ietf:params:xml:ns:iris1"
targetNamespace="urn:ietf:params:xml:ns:dreg1"
elementFormDefault="qualified" >
<import namespace="urn:ietf:params:xml:ns:iris1" />
<annotation>
<documentation>
Domain registry schema
derived from IRIS schema
</documentation>
</annotation>
<!-- -->
<!-- Query types -->
<!-- -->
<complexType name="listRegistrarsType">
<complexContent>
<extension base="iris:queryType">
<sequence>
<element name="baseDomain"
type="dreg:domainNameType"
minOccurs="0" maxOccurs="1" />
</sequence>
</extension>
</complexContent>
</complexType>
<element name="listRegistrars"
type="dreg:listRegistrarsType"
substitutionGroup="iris:query" />
<complexType name="findDomainByHolderType">
<complexContent>
Newton Expires February 12, 2003 [Page 13]
Internet-Draft iris-dreg August 2002
<extension base="iris:queryType">
<sequence>
<element name="baseDomain"
type="dreg:domainNameType"
minOccurs="0" maxOccurs="1" />
<element name="beginsWith"
minOccurs="1" maxOccurs="1">
<simpleType>
<restriction base="token">
<minLength value="3"/>
</restriction>
</simpleType>
</element>
<element name="endsWith"
minOccurs="0" maxOccurs="1">
<simpleType>
<restriction base="token">
<minLength value="2"/>
</restriction>
</simpleType>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="findDomainByHolder"
type="dreg:findDomainByHolderType"
substitutionGroup="iris:query" />
<complexType name="findDomainByNameType">
<complexContent>
<extension base="iris:queryType">
<sequence>
<element name="baseDomain"
type="dreg:domainNameType"
minOccurs="0" maxOccurs="1" />
<element name="beginsWith"
minOccurs="1" maxOccurs="1" >
<simpleType>
<restriction base="token">
<minLength value="3"/>
</restriction>
</simpleType>
</element>
<element name="endsWith"
minOccurs="0" maxOccurs="1" >
<simpleType>
<restriction base="token">
Newton Expires February 12, 2003 [Page 14]
Internet-Draft iris-dreg August 2002
<minLength value="2"/>
</restriction>
</simpleType>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="findDomainByName"
type="dreg:findDomainByNameType"
substitutionGroup="iris:query" />
<complexType name="findContactsType">
<complexContent>
<extension base="iris:queryType">
<sequence>
<element name="beginsWith"
minOccurs="1" maxOccurs="1" >
<simpleType>
<restriction base="token">
<minLength value="3"/>
</restriction>
</simpleType>
</element>
<element name="endsWith"
minOccurs="0" maxOccurs="1" >
<simpleType>
<restriction base="token">
<minLength value="2"/>
</restriction>
</simpleType>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="findContacts"
type="dreg:findContactsType"
substitutionGroup="iris:query" />
<complexType name="findHostsByDomainType">
<complexContent>
<extension base="iris:queryType">
<sequence>
<element name="domainName"
type="dreg:domainNameType" />
</sequence>
Newton Expires February 12, 2003 [Page 15]
Internet-Draft iris-dreg August 2002
</extension>
</complexContent>
</complexType>
<element name="findHostsByDomain"
type="dreg:findHostsByDomainType"
substitutionGroup="iris:query" />
<!-- -->
<!-- Result types -->
<!-- -->
<complexType name="domainType">
<complexContent>
<extension base="iris:resultType">
<sequence>
<element name="domainName"
type="dreg:domainNameType" />
<element name="domainHandle"
type="normalizedString"
minOccurs="0" maxOccurs="1" />
<element name="nameServers"
minOccurs="1" maxOccurs="1" >
<complexType>
<choice
minOccurs="0" maxOccurs="unbounded" >
<element ref="iris:entityURI" />
<element ref="dreg:host" />
</choice>
</complexType>
</element>
<element name="holder"
type="dreg:contactType"
minOccurs="0" maxOccurs="1" />
<element name="domainContact"
minOccurs="0" maxOccurs="unbounded">
<complexType>
<sequence>
<choice>
<element ref="iris:entityURI" />
<element ref="dreg:contact" />
</choice>
<element name="role">
<simpleType>
<restriction base="token">
<enumeration value="billing" />
<enumeration value="technical" />
<enumeration value="administrative" />
<enumeration value="other" />
Newton Expires February 12, 2003 [Page 16]
Internet-Draft iris-dreg August 2002
</restriction>
</simpleType>
</element>
<element name="description"
minOccurs="0" maxOccurs="1"
type="string" />
</sequence>
</complexType>
</element>
<element name="lastContactModificationDateTime"
type="dateTime"
minOccurs="0" maxOccurs="1" />
<element name="lastContactModificationBy"
minOccurs="0" maxOccurs="1">
<complexType>
<choice>
<element ref="iris:entityURI" />
<element ref="dreg:contact" />
</choice>
</complexType>
</element>
<element name="activationStatus"
minOccurs="0" maxOccurs="1">
<simpleType>
<restriction base="token">
<enumeration value="reservedDelegation" />
<enumeration value="assignedAndActive" />
<enumeration value="assignedAndInactive" />
<enumeration value="assignedAndOnHold" />
<enumeration value="revoked" />
<enumeration value="unspecified" />
</restriction>
</simpleType>
</element>
<element name="registry"
minOccurs="1" maxOccurs="1">
<complexType>
<choice>
<element ref="iris:entityURI" />
<element ref="dreg:contact" />
</choice>
</complexType>
</element>
<element name="registrar"
minOccurs="0" maxOccurs="1">
<complexType>
<choice>
<element ref="iris:entityURI" />
<element ref="dreg:contact" />
Newton Expires February 12, 2003 [Page 17]
Internet-Draft iris-dreg August 2002
</choice>
</complexType>
</element>
<element name="initialDelegationDateTime"
type="dateTime"
minOccurs="0" maxOccurs="1" />
<element name="lastRenewalDateTime"
type="dateTime"
minOccurs="0" maxOccurs="1" />
<element name="expirationDateTime"
type="dateTime"
minOccurs="0" maxOccurs="1" />
<element name="lastDelegationModificationDateTime"
type="dateTime"
minOccurs="0" maxOccurs="1" />
<element name="lastDelegationModificationBy"
minOccurs="0" maxOccurs="1">
<complexType>
<choice>
<element ref="iris:entityURI" />
<element ref="dreg:contact" />
</choice>
</complexType>
</element>
<element ref="iris:seeAlso"
minOccurs="0" maxOccurs="1" />
</sequence>
<attribute name="thisEntityURI"
type="iris:entityURIType" />
</extension>
</complexContent>
</complexType>
<element name="domain"
type="dreg:domainType"
substitutionGroup="iris:result" />
<complexType name="hostType">
<complexContent>
<extension base="iris:resultType">
<sequence>
<element name="hostHandle"
type="normalizedString"
minOccurs="0" maxOccurs="1" />
<element name="hostName"
type="dreg:domainNameType" />
<element name="ipV4Address"
type="dreg:dotQuadIPv4Type"
minOccurs="0" maxOccurs="unbounded" />
Newton Expires February 12, 2003 [Page 18]
Internet-Draft iris-dreg August 2002
<element name="ipV6Address"
type="dreg:textIPv6AddressType"
minOccurs="0" maxOccurs="unbounded" />
<choice
minOccurs="0" maxOccurs="unbounded" >
<element ref="iris:entityURI" />
<element ref="dreg:contact" />
</choice>
<element name="createdDateTime"
type="dateTime"
minOccurs="0" maxOccurs="1" />
<element name="lastModifiedDateTime"
type="dateTime"
minOccurs="0" maxOccurs="1" />
<element ref="iris:seeAlso"
minOccurs="0" maxOccurs="1" />
</sequence>
<attribute name="thisEntityURI"
type="iris:entityURIType" />
</extension>
</complexContent>
</complexType>
<element name="host"
type="dreg:hostType"
substitutionGroup="iris:result" />
<complexType name="translatedContactType">
<complexContent>
<extension base="iris:seeAlsoType">
<attribute name="language" type="language" />
</extension>
</complexContent>
</complexType>
<element name="translatedContact"
type="dreg:translatedContactType"
substitutionGroup="iris:seeAlso" />
<complexType name="contactType">
<complexContent>
<extension base="iris:resultType">
<sequence>
<element name="contactHandle"
type="normalizedString" />
<element name="commonName"
type="normalizedString" />
<element name="organization"
type="normalizedString"
Newton Expires February 12, 2003 [Page 19]
Internet-Draft iris-dreg August 2002
minOccurs="0" maxOccurs="1" />
<element name="e-mail"
type="string"
minOccurs="0" maxOccurs="1" />
<element name="address"
type="string"
minOccurs="0" maxOccurs="1" />
<element name="city"
type="string"
minOccurs="0" maxOccurs="1" />
<element name="region"
type="string"
minOccurs="0" maxOccurs="1" />
<element name="postalCode"
type="normalizedString"
minOccurs="0" maxOccurs="1" />
<element name="country"
type="token"
minOccurs="0" maxOccurs="1" />
<element name="phone"
type="normalizedString"
minOccurs="0" maxOccurs="1" />
<element name="fax"
type="normalizedString"
minOccurs="0" maxOccurs="1" />
<element name="createdDateTime"
type="dateTime"
minOccurs="0" maxOccurs="1" />
<element name="lastModifiedDateTime"
type="dateTime"
minOccurs="0" maxOccurs="1" />
<element ref="iris:translatedContact"
minOccurs="0" maxOccurs="unbounded" />
<element ref="iris:seeAlso"
minOccurs="0" maxOccurs="1" />
</sequence>
<attribute name="thisEntityURI"
type="iris:entityURIType" />
</extension>
</complexContent>
</complexType>
<element name="contact"
type="dreg:contactType"
substitutionGroup="iris:result" />
<!-- -->
<!-- Global types -->
<!-- -->
Newton Expires February 12, 2003 [Page 20]
Internet-Draft iris-dreg August 2002
<simpleType name="domainNameType">
<restriction base="token">
<pattern
value="([a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]\.)*([a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])?" />
<maxLength value="255" />
</restriction>
</simpleType>
<simpleType name="entityClassType">
<restriction base="iris:entityClassType">
<enumeration value="domainName" />
<enumeration value="domainHandle" />
<enumeration value="hostName" />
<enumeration value="hostHandle" />
<enumeration value="contactHandle" />
<enumeration value="ipv4Address" />
<enumeration value="ipv6Address" />
</restriction>
</simpleType>
<element name="entityClass"
type="dreg:entityClassType"
substitutionGroup="iris:entityClass" />
<simpleType name="dotQuadIPv4Type">
<restriction base="string">
<pattern value="([\d]{1,3}.){3}[\d]{1,3}" />
<minLength value="7" />
<maxLength value="15" />
</restriction>
</simpleType>
<!-- does not support '::' -->
<simpleType name="textIPv6AddressType">
<restriction base="string">
<pattern value="(([\dA-Fa-f]{1,4}:){7}[\dA-Fa-f]{1,4})(:([\d]{1,3}.){3}[\d]{1,3})?"/>
<minLength value="16"/>
<maxLength value="39"/>
</restriction>
</simpleType>
</schema>
Newton Expires February 12, 2003 [Page 21]
Internet-Draft iris-dreg August 2002
6. Internationalization Considerations
Implementers should be aware of considerations for
internationalization in IRIS[5].
In addition, this document specifies the lookup of domain names.
Current efforts are under way to provide "internationalized" domain
names. This document does not yet strive to make distinctions
between the two. However, because XML may be specified in UTF-8, it
is possible to support internationalization efforts for domain names.
Newton Expires February 12, 2003 [Page 22]
Internet-Draft iris-dreg August 2002
7. IANA Considerations
The following URN will need to be registered with IANA according to
the IANA considerations defined in IRIS[5]:
urn:ietf:params:xml:ns:dreg1
Newton Expires February 12, 2003 [Page 23]
Internet-Draft iris-dreg August 2002
8. Security Considerations
This document lays out no new considerations for security
precautions beyond that specified in IRIS[5].
Newton Expires February 12, 2003 [Page 24]
Internet-Draft iris-dreg August 2002
References
[1] World Wide Web Consortium, "Extensible Markup Language (XML)
1.0", W3C XML, February 1998,
<http://www.w3.org/TR/1998/REC-xml-19980210>.
[2] World Wide Web Consortium, "Namespaces in XML", W3C XML
Namespaces, January 1999,
<http://www.w3.org/TR/1999/REC-xml-names-19990114>.
[3] World Wide Web Consortium, "XML Schema Part 2: Datatypes", W3C
XML Schema, October 2000,
<http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/>.
[4] World Wide Web Consortium, "XML Schema Part 1: Structures", W3C
XML Schema, October 2000,
<http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/>.
[5] Newton, A, "Internet Registry Information Service",
draft-ietf-crisp-iris-core-00 (work in progress), February 2002.
[6] Reynolds, J. and J. Postel, "ASSIGNED NUMBERS", RFC 1700, STD
2, October 1994.
[7] Narten, T. and H.T. Alvestrand, "Guidelines for Writing an IANA
Considerations Section in RFCs", RFC 2434, BCP 26, October 1998.
[8] Newton, A, "Cross Registry Internet Service Protocol (CRISP)
Requirements", draft-ietf-crisp-requirements-00 (work in
progress), August 2002.
[9] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", RFC 2119, BCP 14, March 1997.
Author's Address
Andrew L. Newton
VeriSign, Inc.
21345 Ridgetop Circle
Sterling, VA 20166
USA
Phone: +1 703 948 3382
EMail: anewton@verisignlabs.com
URI: http://www.verisignlabs.com/
Newton Expires February 12, 2003 [Page 25]
Internet-Draft iris-dreg August 2002
Appendix A. An Example Request and Response
The following is an example of an IRIS request and response using
this registry schema.
This XML instance is a request to search for domains by the
holder's name.
<?xml version="1.0"?>
<iris xmlns="urn:ietf:params:xml:ns:iris1"
xmlns:iris="urn:ietf:params:xml:ns:iris1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:ietf:params:xml:ns:iris1 iris.xsd" >
<request>
<registrySearch>
<dreg:findDomainByHolder
xmlns:dreg="urn:ietf:params:xml:ns:dreg1"
xsi:schemaLocation="urn:ietf:params:xml:ns:dreg1 dreg.xsd" >
<dreg:baseDomain>com</dreg:baseDomain>
<dreg:beginsWith>
The Cobbler Shoppe
</dreg:beginsWith>
</dreg:findDomainByHolder>
</registrySearch>
</request>
</iris>
This XML instance is a response from Figure 2.
<?xml version="1.0"?>
<iris xmlns="urn:ietf:params:xml:ns:iris1"
xmlns:iris="urn:ietf:params:xml:ns:iris1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:ietf:params:xml:ns:iris1 iris.xsd" >
<response>
<registryResult>
<dreg:domain
xmlns="urn:ietf:params:xml:ns:dreg1"
xmlns:dreg="urn:ietf:params:xml:ns:dreg1"
xsi:schemaLocation="urn:ietf:params:xml:ns:dreg1 dreg.xsd"
thisEntityURI="iris://com/dreg1/domainHandle/tcs-com-1">
<domainName>thecobblershoppe.com</domainName>
<nameServers>
<iris:entityURI>
iris://com/dreg1/hostHandle/research7
</iris:entityURI>
Newton Expires February 12, 2003 [Page 26]
Internet-Draft iris-dreg August 2002
<iris:entityURI>
iris://com/dreg1/hostHandle/nso1184
</iris:entityURI>
</nameServers>
<holder>
<contactHandle>beb140</contactHandle>
<commonName>
Bill Eckels
</commonName>
<organization>
The Cobbler Shoppe
</organization>
<e-mail>
bille@bjmk.com
</e-mail>
<address>
21 North Main Street
</address>
<city>
Britt
</city>
<region>
IA
</region>
<postalCode>
50423
</postalCode>
<country>
US
</country>
<phone>
515-843-3521
</phone>
</holder>
<registry>
<iris:entityURI>
iris://com/dreg1/contactHandle/VGRS
</iris:entityURI>
</registry>
</dreg:domain>
</registryResult>
</response>
</iris>
Newton Expires February 12, 2003 [Page 27]
Internet-Draft iris-dreg August 2002
Full Copyright Statement
Copyright (C) The Internet Society (2002). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph
are included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC editor function is currently provided by the
Internet Society.
Newton Expires February 12, 2003 [Page 28]