RFC 3982 - IRIS: A Domain Registry (dreg) Type for the Inter(2)

时间:2006-10-31 来源: 作者: 点击:
entityClass="contact-handle"entityName="dbarton" contactHandledbarton/contactHandle commonNameIANAManager/commonName organizationInternetAssignedNumbersAuthority/organization eMailres-dom@iana.org/eM
  
     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                                    -->
     <!--                                           -->
------分隔线----------------------------
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容