entityClass="contact-handle" entityName="dbarton" >
<contactHandle>dbarton</contactHandle>
<commonName>IANA Manager</commonName>
<organization>Internet Assigned Numbers Authority</organization>
<eMail>res-dom@iana.org</eMail>
<postalAddress>
<address>4676 Admiralty Way, Suite 330</address>
<city>Marina del Rey</city>
<region>CA</region>
<postalCode>92092</postalCode>
<country>US</country>
</postalAddress>
<phone>+1.3108239358</phone>
</contact>
The <contact> element represents an instance of a contact
registration. The children of the <contact> element are as follows:
o <contactHandle> -- a registry unique assigned identifier for this
contact.
o <commonName> -- the name of the contact.
o <language> -- a specification of the language code to use to
localize the data in this result.
o <type> -- contains one of the following child elements: <person>,
<organization>, <role>, or <other>. Each of these elements is a
"contactTypeType" as defined in Section 3.2.1.
o <organization> -- contains the organization name of the contact.
o <eMail> -- contains an e-mail address for this contact.
o <IDNeMail> -- contains an e-mail address within an
internationalized domain name [14].
o <sip> -- contains a SIP URI for this contact.
o <postalAddress> -- contains children representing a postal
address. <postalAddress> has the following children:
* <address> -- contains the street address for this contact.
* <city> -- contains the city for this contact.
* <region> -- contains the national region for this contact.
* <postalCode> -- contains the postal code for this contact.
* <country> -- contains the country for this contact. This
SHOULD be a two-letter country code compliant with ISO 3166
[11].
o <phone> -- contains a voice phone number for this contact. If it
begins with a ’+’ (plus) character, it MUST be a number defined by
E164 [13]. The format number defined in E164 [13] is RECOMMENDED.
o <fax> -- contains a facsimile phone number for this contact. If
it begins with a ’+’ (plus) character, it MUST be a number defined
by E164 [13]. The format number defined in E164 [13] is
RECOMMENDED.
o <createdDateTime> -- contains the date and time when this contact
was created.
o <lastModificationDateTime> -- contains the date and time when this
contact was last modified.
o <lastVerificationDateTime> -- contains the date and time when this
data for this contact was last verified to be correct by the
appropriate registration authority.
o <translatedContacts> -- contains an entity reference specifying
equivalents of this contact that have been translated into other
languages. The referent MUST be <contact> results (Section
3.2.4).
o <iris:seeAlso> -- contains an entity reference specifying a
referent indirectly associated with this contact.
3.2.5. <registrationAuthority>
An example of a <registrationAuthority> result:
<registrationAuthority
authority="iana.org" registryType="dreg1"
entityClass="registration-authority" entityName="iana" >
<serviceInstance
iris:referentType="iris:serviceIdentification"
authority="iana.org" registryType="dreg1"
entityClass="iris" entityName="id" />
<organizationName>
Internet Assigned Numbers Authority
</organizationName>
<registrar />
</registrationAuthority>
The <registrationAuthority> result represents an entity capable of
registering domains.
The <serviceInstance> child element of <registrationAuthority>
contains an entity reference pointing to the entity "id" in the
entity class "iris". The authority areas found in the referent MUST
be domains for which a given registration authority has control.
The <organizationName> child element contains the name of the
registration authority.
The registration authority type child elements <registry>,
<registrar>, and <other> determine the role this registration
authority plays in the process of registering domains. This element
is intended to explain the various roles a registration authority may
have in the authority areas pointed to by the <serviceInstance>
element. A client MAY understand the relationship of a registration
authority with respect to a domain by the placement of the reference
in the domain (e.g., <registry> or <registrar>).
The <domain> child elements each contain one domain name signifying
the domains for which this registration authority may register sub-
domains.
3.3. Generic Code Derivatives
3.3.1. <searchTooWide>
Servers MAY use the <searchTooWide> error code when a query must be
narrowed to yield a result set acceptable under the policies of the
server operator.
3.3.2. <languageNotSupported>
The queries <findDomainsByRegistrant>, <findDomainsByIDNName>, and
<findContacts> support optional language tags that allow a client to
suggest to a server the languages in which to scope the queries. If
a client passes to the server a language that the server does not
support, the server MAY use this error code to indicate that one of
the languages is not supported.
This element contains child elements named <unsupportedLanguage>.
Each of these child elements specifies a language not supported by
the server. When a server returns this error, it MUST give the
languages from the query which are not supported.
3.4. Support for <iris:lookupEntity>
The following types of entity classes are recognized by the
<lookupEntity> query of IRIS for this registry:
o host-name -- The fully qualified domain name of a nameserver. It
yields a <host> (Section 3.2.3) in the response.
o host-handle -- The registry unique identifier given a nameserver.
It yields a <host> (Section 3.2.3) in the response.
o domain-name -- The fully qualified name of a domain. This a
domain name as specified by RFC 1035 [9]. It yields a <domain>
(Section 3.2.2) in the response.
o idn -- The fully qualified name of a domain in nameprep form (see
RFC 3491 [15]). It yields a <domain> (Section 3.2.2) in the
response.
o domain-handle -- The registry unique identifier given a domain.
It yields a <domain> (Section 3.2.2) in the response.
o contact-handle -- The registry unique identifier given a contact.
It yields a <contact> (Section 3.2.4) in the response.
o ipv4-address -- The IPv4 address of a nameserver. It yields a
<host> (Section 3.2.3) in the response.
o ipv6-address -- The IPv6 address of a nameserver. It yields a
<host> (Section 3.2.3) in the response.
o registration-authority -- The name of a registration authority.
It yields a <registrationAuthority> (Section 3.2.5) in the
response.
All names in these entity classes are case insensitive.
4. 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.
<?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 -->
<!-- -->
<!-- ========================================= -->
<!-- -->
<!-- Find Registrars By Name -->
<!-- -->
<complexType
name="findRegistrarsByNameType">
<complexContent>
<extension
base="iris:queryType">
<sequence>
<element
ref="dreg:baseDomain"
minOccurs="0"
maxOccurs="1" />
<element
name="namePart"
type="dreg:exactOrPartialMatchParameter"
minOccurs="0"
maxOccurs="1" />
</sequence>
</extension>
</complexContent>
</complexType>
<element
name="findRegistrarsByName"
type="dreg:findRegistrarsByNameType"
substitutionGroup="iris:query" />
<!-- -->
<!-- Find Domains By Contact -->
<!-- -->
<complexType
name="findDomainsByContactType">
<complexContent>
<extension
base="iris:queryType">
<sequence>
<element
ref="dreg:baseDomain"
minOccurs="0"
maxOccurs="1" />
<choice>
<group
ref="dreg:contactSearchGroup" />
<element
name="contactHandle"
type="dreg:exactMatchParameter" />
</choice>
<element
name="role"
minOccurs="0"
maxOccurs="1" >
<simpleType>
<restriction
base="string" >
<enumeration
value="registrant" />
<enumeration
value="billingContact" />
<enumeration
value="technicalContact" />
<enumeration
value="administrativeContact" />
<enumeration
value="legalContact" />
<enumeration
value="zoneContact" />
<enumeration
value="abuseContact" />
<enumeration
value="securityContact" />
<enumeration
value="otherContact" />
</restriction>
</simpleType>
</element>
<element
name="language"
type="language"
minOccurs="0"
maxOccurs="unbounded"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element
name="findDomainsByContact"
type="dreg:findDomainsByContactType"
substitutionGroup="iris:query" />
<!-- -->
<!-- Find Domains By Name -->
<!-- -->
<complexType
name="findDomainsByNameType">
<complexContent>
<extension
base="iris:queryType">
<sequence>
<element
name="namePart"
type="dreg:partialMatchParameter" />
</sequence>
</extension>
</complexContent>
</complexType>
<element
name="findDomainsByName"
type="dreg:findDomainsByNameType"
substitutionGroup="iris:query" />
<!-- -->
<!-- Find Domains By Internationalized Name -->
<!-- -->
<complexType
name="findDomainsByIDNType">
<complexContent>
<extension
base="iris:queryType">
<sequence>
<element
name="namePart"
type="dreg:exactMatchParameter" />
<element
name="language"
type="language"
minOccurs="0"
maxOccurs="unbounded"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element
name="findDomainsByIDN"
type="dreg:findDomainsByIDNType"
substitutionGroup="iris:query" />
<!-- -->
<!-- Find Contacts -->
<!-- -->
<complexType
name="findContactsType">
<complexContent>
<extension
base="iris:queryType">
<sequence>
<group
ref="dreg:contactSearchGroup" />
<element
name="language"
type="language"
minOccurs="0"
maxOccurs="unbounded"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element
name="findContacts"
type="dreg:findContactsType"
substitutionGroup="iris:query" />
<!-- -->
<!-- Find Domains By Host -->
<!-- -->
<complexType
name="findDomainsByHostType">
<complexContent>
<extension
base="iris:queryType">
<sequence>
<element
ref="dreg:baseDomain"
minOccurs="0"
maxOccurs="1" />
<choice>
<element
name="hostName"
type="dreg:exactMatchParameter" />
<element
name="hostHandle"
type="dreg:exactMatchParameter" />
<element
name="ipV4Address"
type="dreg:exactMatchParameter" />
<element
name="ipV6Address"
type="dreg:exactMatchParameter" />
</choice>
</sequence>
</extension>
</complexContent>
</complexType>
<element
name="findDomainsByHost"
type="dreg:findDomainsByHostType"
substitutionGroup="iris:query" />
<!-- -->
<!-- Contact Search Group -->
<!-- -->
<group
name="contactSearchGroup">
<choice>
<element
name="commonName"
type="dreg:exactOrPartialMatchParameter" />
<element
name="organization"
type="dreg:exactOrPartialMatchParameter" />
<element
name="eMail"
type="dreg:domainResourceParameter" />
<element
name="city"
type="dreg:exactMatchParameter" />
<element
name="region"
type="dreg:exactMatchParameter" />
<element
name="postalCode"
type="dreg:exactMatchParameter" />
</choice>
</group>
<complexType
name="exactOrPartialMatchParameter">
<choice>
<group
ref="dreg:partialMatchGroup" />
<group
ref="dreg:exactMatchGroup" />
</choice>
</complexType>
<complexType
name="exactMatchParameter">
<group
ref="dreg:exactMatchGroup" />
</complexType>
<complexType
name="partialMatchParameter">
<sequence>
<group
ref="dreg:partialMatchGroup" />
</sequence>
</complexType>
<complexType
name="domainResourceParameter" >
<choice>
<group
ref="dreg:exactMatchGroup" />
<element
name="inDomain"
type="token" />
</choice>
</complexType>
<element
name="baseDomain"
type="normalizedString" />
<group
name="partialMatchGroup">
<choice>
<sequence>
<element
name="beginsWith">
<simpleType>
<restriction
base="token">
<minLength
value="1"/>
</restriction>
</simpleType>
</element>
<element
minOccurs="0"
name="endsWith">
<simpleType>
<restriction
base="token">
<minLength
value="1"/>
</restriction>
</simpleType>
</element>
</sequence>
<element
name="endsWith">
<simpleType>
<restriction
base="token">
<minLength
value="1"/>
</restriction>
</simpleType>
</element>
</choice>
</group>
<group
name="exactMatchGroup">
<sequence>
<element
name="exactMatch"
type="normalizedString" />
</sequence>
</group>
<!-- ========================================= -->
<!-- -->
<!-- Result Types -->
<!-- -->
<!-- ========================================= -->
<!-- -->
<!-- Domain -->
<!-- -->