123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445 |
- <?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 -->
- <!-- -->
- <complexType name="domainType">
- <complexContent>
- <extension base="iris:resultType">
- <sequence>
- <element name="domainName" type="token"/>
- <element name="idn" type="token" minOccurs="0" maxOccurs="1"/>
- <element name="domainHandle" type="dreg:normalizedStringPrivacyType" nillable="true" minOccurs="0" maxOccurs="1"/>
- <element name="nameServer" type="iris:entityType" minOccurs="0" maxOccurs="unbounded"/>
- <element name="registrant" type="iris:entityType" minOccurs="0" maxOccurs="1"/>
- <element name="billingContact" type="iris:entityType" minOccurs="0" maxOccurs="unbounded"/>
- <element name="technicalContact" type="iris:entityType" minOccurs="0" maxOccurs="unbounded"/>
- <element name="administrativeContact" type="iris:entityType" minOccurs="0" maxOccurs="unbounded"/>
- <element name="legalContact" type="iris:entityType" minOccurs="0" maxOccurs="unbounded"/>
- <element name="zoneContact" type="iris:entityType" minOccurs="0" maxOccurs="unbounded"/>
- <element name="abuseContact" type="iris:entityType" minOccurs="0" maxOccurs="unbounded"/>
- <element name="securityContact" type="iris:entityType" minOccurs="0" maxOccurs="unbounded"/>
- <element name="otherContact" type="iris:entityType" minOccurs="0" maxOccurs="unbounded"/>
- <element name="lastContactModificationDateTime" type="dreg:dateTimePrivacyType" nillable="true" minOccurs="0" maxOccurs="1"/>
- <element name="lastContactModificationBy" type="iris:entityType" minOccurs="0" maxOccurs="1"/>
- <element name="status" minOccurs="0" maxOccurs="1">
- <complexType>
- <all>
- <element name="reservedDelegation" minOccurs="0" maxOccurs="1" type="dreg:domainStatusType"/>
- <element name="assignedAndActive" minOccurs="0" maxOccurs="1" type="dreg:domainStatusType"/>
- <element name="assignedAndInactive" minOccurs="0" maxOccurs="1" type="dreg:domainStatusType"/>
- <element name="assignedAndOnHold" minOccurs="0" maxOccurs="1" type="dreg:domainStatusType"/>
- <element name="revoked" minOccurs="0" maxOccurs="1" type="dreg:domainStatusType"/>
- <element name="transferPending" minOccurs="0" maxOccurs="1" type="dreg:domainStatusType"/>
- <element name="registryLock" minOccurs="0" maxOccurs="1" type="dreg:domainStatusType"/>
- <element name="registrarLock" minOccurs="0" maxOccurs="1" type="dreg:domainStatusType"/>
- <element name="other" minOccurs="0" maxOccurs="1" type="dreg:domainStatusType"/>
- </all>
- </complexType>
- </element>
- <element name="domainVariant" type="iris:entityType" minOccurs="0" maxOccurs="unbounded"/>
- <element name="registrationReference" type="iris:entityType" minOccurs="0" maxOccurs="1"/>
- <element name="registry" minOccurs="0" maxOccurs="1">
- <complexType>
- <complexContent>
- <extension base="iris:entityType">
- <attribute name="hosting" type="boolean"/>
- </extension>
- </complexContent>
- </complexType>
- </element>
- <element name="registrar" minOccurs="0" maxOccurs="1">
- <complexType>
- <complexContent>
- <extension base="iris:entityType">
- <attribute name="hosting" type="boolean"/>
- </extension>
- </complexContent>
- </complexType>
- </element>
- <element name="initialDelegationDateTime" type="dreg:dateTimePrivacyType" nillable="true" minOccurs="0" maxOccurs="1"/>
- <element name="lastRenewalDateTime" type="dreg:dateTimePrivacyType" nillable="true" minOccurs="0" maxOccurs="1"/>
- <element name="expirationDateTime" type="dreg:dateTimePrivacyType" nillable="true" minOccurs="0" maxOccurs="1"/>
- <element name="lastDelegationModificationDateTime" type="dreg:dateTimePrivacyType" nillable="true" minOccurs="0" maxOccurs="1"/>
- <element name="lastDelegationModificationBy" type="iris:entityType" minOccurs="0" maxOccurs="1"/>
- <element name="lastVerificationDateTime" type="dreg:dateTimePrivacyType" nillable="true" minOccurs="0" maxOccurs="1"/>
- <element ref="iris:seeAlso" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="domain" type="dreg:domainType" substitutionGroup="iris:result"/>
- <!-- -->
- <!-- Host -->
- <!-- -->
- <complexType name="hostType">
- <complexContent>
- <extension base="iris:resultType">
- <sequence>
- <element name="hostHandle" type="dreg:normalizedStringPrivacyType" nillable="true" minOccurs="0" maxOccurs="1"/>
- <element name="hostName" type="normalizedString"/>
- <element name="ipV4Address" type="token" minOccurs="0" maxOccurs="unbounded"/>
- <element name="ipV6Address" type="token" minOccurs="0" maxOccurs="unbounded"/>
- <element name="hostContact" type="iris:entityType" minOccurs="0" maxOccurs="unbounded"/>
- <element name="createdDateTime" type="dreg:dateTimePrivacyType" nillable="true" minOccurs="0" maxOccurs="1"/>
- <element name="lastModificationDateTime" type="dreg:dateTimePrivacyType" nillable="true" minOccurs="0" maxOccurs="1"/>
- <element name="lastVerificationDateTime" type="dreg:dateTimePrivacyType" nillable="true" minOccurs="0" maxOccurs="1"/>
- <element ref="iris:seeAlso" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="host" type="dreg:hostType" substitutionGroup="iris:result"/>
- <!-- -->
- <!-- Contact -->
- <!-- -->
- <complexType name="contactType">
- <complexContent>
- <extension base="iris:resultType">
- <sequence>
- <element name="contactHandle" type="dreg:normalizedStringPrivacyType" nillable="true" minOccurs="0" maxOccurs="1"/>
- <element name="commonName" type="dreg:normalizedStringPrivacyType" nillable="true" minOccurs="0" maxOccurs="1"/>
- <element name="language" type="language" minOccurs="0" maxOccurs="1"/>
- <element name="type" minOccurs="0" maxOccurs="1">
- <complexType>
- <choice>
- <element name="person" type="dreg:contactTypeType"/>
- <element name="organization" type="dreg:contactTypeType"/>
- <element name="role" type="dreg:contactTypeType"/>
- <element name="other" type="dreg:contactTypeType"/>
- </choice>
- </complexType>
- </element>
- <element name="organization" type="dreg:normalizedStringPrivacyType" nillable="true" minOccurs="0" maxOccurs="1"/>
- <element name="eMail" type="dreg:stringPrivacyType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
- <element name="IDNeMail" type="dreg:stringPrivacyType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
- <element name="sip" type="dreg:stringPrivacyType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
- <element name="postalAddress" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <sequence>
- <element name="address" type="dreg:stringPrivacyType" nillable="true" minOccurs="0" maxOccurs="1"/>
- <element name="city" type="dreg:stringPrivacyType" nillable="true" minOccurs="0" maxOccurs="1"/>
- <element name="region" type="dreg:stringPrivacyType" nillable="true" minOccurs="0" maxOccurs="1"/>
- <element name="postalCode" type="dreg:normalizedStringPrivacyType" nillable="true" minOccurs="0" maxOccurs="1"/>
- <element name="country" type="dreg:tokenPrivacyType" nillable="true" minOccurs="0" maxOccurs="1"/>
- </sequence>
- </complexType>
- </element>
- <element name="phone" type="dreg:normalizedStringPrivacyType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
- <element name="fax" type="dreg:normalizedStringPrivacyType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
- <element name="createdDateTime" type="dreg:dateTimePrivacyType" nillable="true" minOccurs="0" maxOccurs="1"/>
- <element name="lastModificationDateTime" type="dreg:dateTimePrivacyType" nillable="true" minOccurs="0" maxOccurs="1"/>
- <element name="lastVerificationDateTime" type="dreg:dateTimePrivacyType" nillable="true" minOccurs="0" maxOccurs="1"/>
- <element name="translatedContact" type="iris:entityType" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="iris:seeAlso" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="contact" type="dreg:contactType" substitutionGroup="iris:result"/>
- <!-- -->
- <!-- Registration Authority -->
- <!-- -->
- <complexType name="registrationAuthorityType">
- <complexContent>
- <extension base="iris:resultType">
- <sequence>
- <element name="serviceInstance" type="iris:entityType"/>
- <element name="organizationName" type="string" minOccurs="0" maxOccurs="1"/>
- <choice minOccurs="0" maxOccurs="3">
- <element name="registry">
- <complexType/>
- </element>
- <element name="registrar">
- <complexType/>
- </element>
- <element name="other">
- <complexType/>
- </element>
- </choice>
- <element name="domain" type="token" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="registrationAuthority" type="dreg:registrationAuthorityType" substitutionGroup="iris:result"/>
- <!-- -->
- <!-- Privacy Label Types -->
- <!-- -->
- <attributeGroup name="privacyLabelAttributeGroup">
- <attribute name="private" type="boolean"/>
- <attribute name="denied" type="boolean"/>
- <attribute name="doNotRedistribute" type="boolean"/>
- <attribute name="specialAccess" type="boolean"/>
- </attributeGroup>
- <complexType name="dateTimePrivacyType">
- <simpleContent>
- <extension base="dateTime">
- <attributeGroup ref="dreg:privacyLabelAttributeGroup"/>
- </extension>
- </simpleContent>
- </complexType>
- <complexType name="stringPrivacyType">
- <simpleContent>
- <extension base="string">
- <attributeGroup ref="dreg:privacyLabelAttributeGroup"/>
- </extension>
- </simpleContent>
- </complexType>
- <complexType name="normalizedStringPrivacyType">
- <simpleContent>
- <extension base="normalizedString">
- <attributeGroup ref="dreg:privacyLabelAttributeGroup"/>
- </extension>
- </simpleContent>
- </complexType>
- <complexType name="tokenPrivacyType">
- <simpleContent>
- <extension base="token">
- <attributeGroup ref="dreg:privacyLabelAttributeGroup"/>
- </extension>
- </simpleContent>
- </complexType>
- <complexType name="domainStatusType">
- <sequence>
- <element name="appliedDate" type="dateTime" minOccurs="0" maxOccurs="1"/>
- <element name="description" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <simpleContent>
- <extension base="string">
- <attribute name="language" type="language" use="required"/>
- </extension>
- </simpleContent>
- </complexType>
- </element>
- </sequence>
- <attributeGroup ref="dreg:privacyLabelAttributeGroup"/>
- <attribute name="scope" type="string"/>
- </complexType>
- <complexType name="contactTypeType">
- <sequence>
- <element name="description" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <simpleContent>
- <extension base="string">
- <attribute name="language" type="language" use="required"/>
- </extension>
- </simpleContent>
- </complexType>
- </element>
- </sequence>
- <attributeGroup ref="dreg:privacyLabelAttributeGroup"/>
- </complexType>
- <!-- ========================================= -->
- <!-- -->
- <!-- Error Codes -->
- <!-- -->
- <!-- ========================================= -->
- <!-- -->
- <!-- Search Too Wide -->
- <!-- -->
- <element name="searchTooWide" type="iris:codeType" substitutionGroup="iris:genericCode"/>
- <!-- -->
- <!-- Language Not Supported -->
- <!-- -->
- <complexType name="languageNotSupportedType">
- <complexContent>
- <extension base="iris:codeType">
- <sequence>
- <element name="unsupportedLanguage" type="language" minOccurs="1" maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="languageNotSupported" type="dreg:languageNotSupportedType" substitutionGroup="iris:genericCode"/>
- </schema>
|