-- XSD schema extracted from ITU-T E.115 (05/2010)

<?xml version="1.0" encoding="UTF-8"?> <!-- Version 2.10 --> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:simpleType name="E115String"> <xsd:restriction base="xsd:string"/> </xsd:simpleType> <xsd:simpleType name="E115StringUb256"> <xsd:restriction base="E115String"> <xsd:minLength value="1"/> <xsd:maxLength value="256"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="NumericString"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[0-9]*"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="CharacterSubSet"> <xsd:restriction base="xsd:NCName"> <xsd:enumeration value="basic"/> <xsd:enumeration value="latin1"/> <xsd:enumeration value="latin-ext"/> <xsd:enumeration value="cyrillic"/> <xsd:enumeration value="greek"/> <xsd:enumeration value="arabic"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="GeographicalType"> <xsd:restriction base="xsd:NCName"> <xsd:enumeration value="dms"/> <xsd:enumeration value="dd"/> <xsd:enumeration value="dec"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="GeodeticDatum"> <xsd:restriction base="E115StringUb256"/> </xsd:simpleType> <xsd:simpleType name="CountryCode"> <xsd:restriction base="xsd:token"> <xsd:length value="2"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="NationalDestinationCode"> <xsd:restriction base="NumericString"> <xsd:minLength value="1"/> <xsd:maxLength value="14"/> </xsd:restriction> </xsd:simpleType> <xsd:attributeGroup name="CoordinateTypeDescription"> <xsd:attribute name="geodeticDatum" type="GeodeticDatum" use="required"/> <xsd:attribute name="geographicalType" type="GeographicalType" use="required"/> </xsd:attributeGroup> <xsd:attributeGroup name="Coordinate"> <xsd:attribute name="latitude" type="E115StringUb256" use="required"/> <xsd:attribute name="longitude" type="E115StringUb256" use="required"/> </xsd:attributeGroup> <xsd:attributeGroup name="CommAddressService"> <xsd:attribute name="fax" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="pbx" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="txt" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="pub" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="vid" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="pag" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="voice" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="data" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="http" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="ftp" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="eml" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="sms" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="mms" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="emg" type="xsd:boolean" use="optional" default="false"/> </xsd:attributeGroup> <xsd:attributeGroup name="CommAddressServiceReq"> <xsd:attribute name="fax" type="xsd:boolean" use="required"/> <xsd:attribute name="pbx" type="xsd:boolean" use="required"/> <xsd:attribute name="txt" type="xsd:boolean" use="required"/> <xsd:attribute name="pub" type="xsd:boolean" use="required"/> <xsd:attribute name="vid" type="xsd:boolean" use="required"/> <xsd:attribute name="pag" type="xsd:boolean" use="required"/> <xsd:attribute name="voice" type="xsd:boolean" use="required"/> <xsd:attribute name="data" type="xsd:boolean" use="required"/> <xsd:attribute name="http" type="xsd:boolean" use="required"/> <xsd:attribute name="ftp" type="xsd:boolean" use="required"/> <xsd:attribute name="eml" type="xsd:boolean" use="required"/> <xsd:attribute name="sms" type="xsd:boolean" use="required"/> <xsd:attribute name="mms" type="xsd:boolean" use="required"/> <xsd:attribute name="emg" type="xsd:boolean" use="required"/> </xsd:attributeGroup> <xsd:attributeGroup name="CommAddressTypes"> <xsd:attribute name="phone" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="email" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="uri" type="xsd:boolean" use="optional" default="false"/> </xsd:attributeGroup> <xsd:attributeGroup name="PhoneService"> <xsd:attribute name="fax" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="pbx" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="txt" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="pub" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="vid" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="pag" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="voice" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="data" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="sms" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="mms" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="emg" type="xsd:boolean" use="optional" default="false"/> </xsd:attributeGroup> <xsd:attributeGroup name="InquiryPhoneChar"> <xsd:attribute name="ftn" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="mob" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="fixed" type="xsd:boolean" use="optional" default="false"/> </xsd:attributeGroup> <xsd:attributeGroup name="ReplyPhoneChar"> <xsd:attributeGroup ref="InquiryPhoneChar"/> <xsd:attribute name="prn" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="npn" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="upn" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="old" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="adv" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="nmk" type="xsd:boolean" use="optional" default="false"/> </xsd:attributeGroup> <xsd:attributeGroup name="GeneralChar"> <xsd:attribute name="restriction" use="optional" default="disclose"> <xsd:simpleType> <xsd:restriction base="xsd:NCName"> <xsd:enumeration value="disclose"/> <xsd:enumeration value="nonDisclose"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:attributeGroup> <xsd:attributeGroup name="CategoriesReq"> <xsd:attribute name="business" type="xsd:boolean" use="required"/> <xsd:attribute name="residential" type="xsd:boolean" use="required"/> <xsd:attribute name="government" type="xsd:boolean" use="required"/> </xsd:attributeGroup> <xsd:attributeGroup name="Categories"> <xsd:attribute name="business" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="residential" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="government" type="xsd:boolean" use="optional" default="false"/> </xsd:attributeGroup> <xsd:complexType name="E115Message"> <xsd:choice> <xsd:element name="directoryMessage" type="DirectoryMessage"/> </xsd:choice> </xsd:complexType> <xsd:complexType name="DirectoryMessage"> <xsd:choice> <xsd:element name="inquiry" type="Inquiry"/> <xsd:element name="reply" type="Reply"/> <xsd:element name="directoryInquiry" type="DirectoryInquiry"/> <xsd:element name="directoryReply" type="DirectoryReply"/> <xsd:element name="functionalityInquiry" type="FunctionalityInquiry"/> <xsd:element name="functionalityReply" type="FunctionalityReply"/> </xsd:choice> </xsd:complexType> <xsd:complexType name="Inquiry"> <xsd:sequence> <xsd:element name="inquiryHeader" type="InquiryHeader"/> <xsd:element name="inquiryData" type="InquiryData"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="InquiryHeader"> <xsd:all> <xsd:element name="acceptedReplyTypes" minOccurs="0"> <xsd:complexType> <xsd:attribute name="provinceList" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="localityList" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="streetList" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="businessCategoryList" type="xsd:boolean" use="optional" default="false"/> </xsd:complexType> </xsd:element> <xsd:element name="inquiryCoordinateType" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="CoordinateTypeDescription"/> </xsd:complexType> </xsd:element> <xsd:element name="replyCoordinateType" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="CoordinateTypeDescription"/> </xsd:complexType> </xsd:element> </xsd:all> <xsd:attribute name="originatingTerminalCode" use="required"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="8"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="dateAndTime" type="xsd:dateTime" use="optional"/> <xsd:attribute name="messageNumber" use="optional"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="4"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="directory" type="E115StringUb256" use="optional"/> <xsd:attribute name="inquiryCharacterSubset" type="CharacterSubSet" use="optional" default="basic"/> <xsd:attribute name="replyCharacterSubset" type="CharacterSubSet" use="optional" default="latin1"/> <xsd:attribute name="requestedReplyType" use="optional" default="subscriberList"> <xsd:simpleType> <xsd:restriction base="xsd:NCName"> <xsd:enumeration value="subscriberList"/> <xsd:enumeration value="provinceList"/> <xsd:enumeration value="localityList"/> <xsd:enumeration value="streetList"/> <xsd:enumeration value="businessCategoryList"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="inquiryLanguage" use="optional"> <xsd:simpleType> <xsd:restriction base="xsd:NCName"> <xsd:length value="3"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="replyLanguage" use="optional"> <xsd:simpleType> <xsd:restriction base="xsd:NCName"> <xsd:length value="3"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> <xsd:complexType name="InquiryData"> <xsd:all> <xsd:element name="subscriberName" type="E115StringUb256" minOccurs="0"/> <xsd:element name="forename" type="E115StringUb256" minOccurs="0"/> <xsd:element name="countryCode" type="CountryCode" minOccurs="0"/> <xsd:element name="countyStateOrProvince" type="E115StringUb256" minOccurs="0"/> <xsd:element name="localityName" type="E115StringUb256" minOccurs="0"/> <xsd:element name="postalCode" type="E115StringUb256" minOccurs="0"/> <xsd:element name="streetName" type="E115StringUb256" minOccurs="0"/> <xsd:element name="houseNumber" type="E115StringUb256" minOccurs="0"/> <xsd:element name="headingInTheGuide" type="E115StringUb256" minOccurs="0"/> <xsd:element name="additionalName" type="E115StringUb256" minOccurs="0"/> <xsd:element name="professionCode" type="E115StringUb256" minOccurs="0"/> <xsd:element name="category" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="Categories"/> </xsd:complexType> </xsd:element> <xsd:element name="nationalDestinationCode" type="NationalDestinationCode" minOccurs="0"/> <xsd:element name="commAddress" type="E115StringUb256" minOccurs="0"/> <xsd:element name="commAddressTypes" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="CommAddressTypes"/> </xsd:complexType> </xsd:element> <xsd:element name="commAddressService" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="CommAddressService"/> </xsd:complexType> </xsd:element> <xsd:element name="commAddressChar" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="InquiryPhoneChar"/> </xsd:complexType> </xsd:element> <xsd:element name="searchCoordinate" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="Coordinate"/> </xsd:complexType> </xsd:element> <xsd:element name="searchRadius" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:minLength value="1"/> <xsd:maxLength value="9"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="matchingRule" minOccurs="0"> <xsd:complexType> <xsd:attribute name="wordRotation" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="phonetic" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="alias" type="xsd:boolean" use="optional" default="false"/> </xsd:complexType> </xsd:element> </xsd:all> <xsd:attribute name="sequenceNumber" use="optional" default="0"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:minLength value="1"/> <xsd:maxLength value="2"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="geoExpansion" use="optional"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:minLength value="1"/> <xsd:maxLength value="3"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="maxIndentLevel" type="NumericString" use="optional" default="99"/> </xsd:complexType> <xsd:complexType name="Reply"> <xsd:sequence> <xsd:element name="replyHeader" type="ReplyHeader"/> <xsd:choice minOccurs="0"> <xsd:element name="subscriberList"> <xsd:complexType> <xsd:sequence> <xsd:element name="subscriber" type="Subscriber" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="localityList"> <xsd:complexType> <xsd:sequence> <xsd:element name="locality" type="Locality" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="businessCategoryList"> <xsd:complexType> <xsd:sequence> <xsd:element name="businessCategory" type="BusinessCategory" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="streetList"> <xsd:complexType> <xsd:sequence> <xsd:element name="street" type="Street" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="provinceList"> <xsd:complexType> <xsd:sequence> <xsd:element name="province" type="Province" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:choice> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ReplyHeader"> <xsd:all> <xsd:element name="message" type="E115StringUb256" minOccurs="0"/> <xsd:element name="replyCoordinateType" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="CoordinateTypeDescription"/> </xsd:complexType> </xsd:element> <xsd:element name="searchCenter" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="Coordinate"/> </xsd:complexType> </xsd:element> </xsd:all> <xsd:attribute name="originatingTerminalCode" use="required"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="8"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="dateAndTime" type="xsd:dateTime" use="optional"/> <xsd:attribute name="messageNumber" use="optional"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="4"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="messageCode" use="required"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="2"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="totalAvailableListings" use="optional"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:minLength value="1"/> <xsd:maxLength value="10"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="directory" type="E115StringUb256" use="optional"/> <xsd:attribute name="version" use="required"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:length value="4"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> <xsd:complexType name="Subscriber"> <xsd:all> <xsd:element name="commAddresses" type="CommAddresses" minOccurs="0"/> <xsd:element name="subscriberName" type="E115StringUb256" minOccurs="0"/> <xsd:element name="forename" type="E115StringUb256" minOccurs="0"/> <xsd:element name="countryCode" type="CountryCode" minOccurs="0"/> <xsd:element name="countyStateOrProvince" type="E115StringUb256" minOccurs="0"/> <xsd:element name="localityName" type="E115StringUb256" minOccurs="0"/> <xsd:element name="postalCode" type="E115StringUb256" minOccurs="0"/> <xsd:element name="streetName" type="E115StringUb256" minOccurs="0"/> <xsd:element name="houseNumber" type="E115StringUb256" minOccurs="0"/> <xsd:element name="headingInTheGuide" type="E115StringUb256" minOccurs="0"/> <xsd:element name="additionalName" type="E115StringUb256" minOccurs="0"/> <xsd:element name="professionCode" type="E115StringUb256" minOccurs="0"/> <xsd:element name="supplementaryData" type="E115StringUb256" minOccurs="0"/> <xsd:element name="subscriberMessage" type="E115StringUb256" minOccurs="0"/> <xsd:element name="subscriberDescription" type="E115StringUb256" minOccurs="0"/> <xsd:element name="category" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="Categories"/> </xsd:complexType> </xsd:element> <xsd:element name="distance" type="E115StringUb256" minOccurs="0"/> <xsd:element name="replyCoordinate" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="Coordinate"/> </xsd:complexType> </xsd:element> </xsd:all> <xsd:attribute name="indentLevel" use="optional" default="0"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:minLength value="1"/> <xsd:maxLength value="3"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="priority" use="optional"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:minLength value="1"/> <xsd:maxLength value="2"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> <xsd:complexType name="Locality"> <xsd:all> <xsd:element name="countryCode" type="CountryCode" minOccurs="0"/> <xsd:element name="countyStateOrProvince" type="E115StringUb256" minOccurs="0"/> <xsd:element name="localityName" type="E115StringUb256"/> <xsd:element name="postalCode" type="E115StringUb256" minOccurs="0"/> <xsd:element name="nationalDestinationCode" type="NationalDestinationCode" minOccurs="0"/> <xsd:element name="supplementaryData" type="E115StringUb256" minOccurs="0"/> <xsd:element name="distance" type="E115StringUb256" minOccurs="0"/> <xsd:element name="replyCoordinate" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="Coordinate"/> </xsd:complexType> </xsd:element> </xsd:all> </xsd:complexType> <xsd:complexType name="BusinessCategory"> <xsd:all> <xsd:element name="countryCode" type="CountryCode" minOccurs="0"/> <xsd:element name="countyStateOrProvince" type="E115StringUb256" minOccurs="0"/> <xsd:element name="localityName" type="E115StringUb256" minOccurs="0"/> <xsd:element name="postalCode" type="E115StringUb256" minOccurs="0"/> <xsd:element name="headingInTheGuide" type="E115StringUb256"/> <xsd:element name="supplementaryData" type="E115StringUb256" minOccurs="0"/> <xsd:element name="count" type="NumericString" minOccurs="0"/> </xsd:all> </xsd:complexType> <xsd:complexType name="Street"> <xsd:all> <xsd:element name="countryCode" type="CountryCode" minOccurs="0"/> <xsd:element name="countyStateOrProvince" type="E115StringUb256" minOccurs="0"/> <xsd:element name="localityName" type="E115StringUb256" minOccurs="0"/> <xsd:element name="postalCode" type="E115StringUb256" minOccurs="0"/> <xsd:element name="streetName" type="E115StringUb256"/> <xsd:element name="supplementaryData" type="E115StringUb256" minOccurs="0"/> <xsd:element name="replyCoordinate" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="Coordinate"/> </xsd:complexType> </xsd:element> </xsd:all> </xsd:complexType> <xsd:complexType name="Province"> <xsd:all> <xsd:element name="countryCode" type="CountryCode" minOccurs="0"/> <xsd:element name="countyStateOrProvince" type="E115StringUb256"/> <xsd:element name="postalCode" type="E115StringUb256" minOccurs="0"/> <xsd:element name="supplementaryData" type="E115StringUb256" minOccurs="0"/> <xsd:element name="replyCoordinate" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="Coordinate"/> </xsd:complexType> </xsd:element> </xsd:all> </xsd:complexType> <xsd:complexType name="CommAddresses"> <xsd:choice maxOccurs="unbounded"> <xsd:element name="phone"> <xsd:complexType> <xsd:all> <xsd:element name="countryCallingCode"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:minLength value="1"/> <xsd:maxLength value="3"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="nationalDestinationCode" type="NationalDestinationCode" minOccurs="0"/> <xsd:element name="number" type="E115StringUb256"/> <xsd:element name="phoneService" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="PhoneService"/> </xsd:complexType> </xsd:element> </xsd:all> <xsd:attributeGroup ref="ReplyPhoneChar"/> <xsd:attributeGroup ref="GeneralChar"/> </xsd:complexType> </xsd:element> <xsd:element name="email"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="E115StringUb256"> <xsd:attribute name="nmk" type="xsd:boolean" use="optional"/> <xsd:attributeGroup ref="GeneralChar"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <xsd:element name="uri"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="E115StringUb256"> <xsd:attributeGroup ref="GeneralChar"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> </xsd:choice> </xsd:complexType> <xsd:complexType name="DirectoryInquiry"> <xsd:sequence> <xsd:element name="directoryInquiryHeader" type="DirectoryInquiryHeader"/> <xsd:element name="directoryInquiryData" type="DirectoryInquiryData" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="DirectoryInquiryHeader"> <xsd:attribute name="originatingTerminalCode" use="required"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="8"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="dateAndTime" type="xsd:dateTime" use="optional"/> <xsd:attribute name="messageNumber" use="optional"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="4"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="directory" type="E115StringUb256" use="optional"/> </xsd:complexType> <xsd:complexType name="DirectoryInquiryData"> <xsd:all> <xsd:element name="countryCode" type="CountryCode" minOccurs="0"/> </xsd:all> </xsd:complexType> <xsd:complexType name="DirectoryReply"> <xsd:sequence> <xsd:element name="directoryReplyHeader" type="DirectoryReplyHeader"/> <xsd:element name="directoryReplyData" type="DirectoryReplyData" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="DirectoryReplyHeader"> <xsd:attribute name="originatingTerminalCode" use="required"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="8"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="dateAndTime" type="xsd:dateTime" use="optional"/> <xsd:attribute name="messageNumber" use="optional"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="4"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="messageCode" use="required"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="2"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="directory" type="E115StringUb256" use="optional"/> <xsd:attribute name="version" use="required"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:length value="4"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> <xsd:complexType name="DirectoryReplyData"> <xsd:sequence> <xsd:element name="directory" maxOccurs="unbounded"> <xsd:complexType> <xsd:sequence> <xsd:element name="countryCode" type="CountryCode" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="name" type="E115StringUb256" use="required"/> <xsd:attribute name="availability" use="optional"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:enumeration value="available"/> <xsd:enumeration value="unavailable"/> <xsd:enumeration value="unknown"/> <xsd:enumeration value="blocked"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="functionalityActiveSince" type="xsd:dateTime" use="optional"/> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="FunctionalityInquiry"> <xsd:sequence> <xsd:element name="functionalityInquiryHeader" type="FunctionalityInquiryHeader"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="FunctionalityInquiryHeader"> <xsd:attribute name="originatingTerminalCode" use="required"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="8"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="dateAndTime" type="xsd:dateTime" use="optional"/> <xsd:attribute name="messageNumber" use="optional"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="4"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="directory" type="E115StringUb256" use="optional"/> </xsd:complexType> <xsd:complexType name="FunctionalityReply"> <xsd:sequence> <xsd:element name="functionalityReplyHeader" type="FunctionalityReplyHeader"/> <xsd:element name="functionalityReplyData" type="FunctionalityReplyData" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="FunctionalityReplyHeader"> <xsd:attribute name="originatingTerminalCode" use="required"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="8"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="dateAndTime" type="xsd:dateTime" use="optional"/> <xsd:attribute name="messageNumber" use="optional"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="4"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="messageCode" use="required"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="2"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="directory" type="E115StringUb256" use="optional"/> <xsd:attribute name="version" use="required"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:length value="4"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> <xsd:complexType name="FunctionalityReplyData"> <xsd:sequence> <xsd:element name="functionality" maxOccurs="unbounded"> <xsd:complexType> <xsd:sequence> <xsd:element name="supportedList" type="SupportedList" maxOccurs="5"/> </xsd:sequence> <xsd:attribute name="directory" type="E115StringUb256" use="optional"/> <xsd:attribute name="version" use="required"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:length value="4"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="SupportedList"> <xsd:all> <xsd:element name="defaultCategoryCombination" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="CategoriesReq"/> </xsd:complexType> </xsd:element> <xsd:element name="defaultMatchingRuleCombinations" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="defaultMatchingRuleCombination" maxOccurs="8"> <xsd:complexType> <xsd:sequence> <xsd:element name="category" maxOccurs="6"> <xsd:complexType> <xsd:attributeGroup ref="CategoriesReq"/> </xsd:complexType> </xsd:element> </xsd:sequence> <xsd:attribute name="wordRotation" type="xsd:boolean" use="required"/> <xsd:attribute name="phonetic" type="xsd:boolean" use="required"/> <xsd:attribute name="alias" type="xsd:boolean" use="required"/> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="supportedMatchingRuleCombinations" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="supportedMatchingRuleCombination" maxOccurs="8"> <xsd:complexType> <xsd:sequence> <xsd:element name="category" maxOccurs="6"> <xsd:complexType> <xsd:attributeGroup ref="CategoriesReq"/> </xsd:complexType> </xsd:element> </xsd:sequence> <xsd:attribute name="wordRotation" type="xsd:boolean" use="required"/> <xsd:attribute name="phonetic" type="xsd:boolean" use="required"/> <xsd:attribute name="alias" type="xsd:boolean" use="required"/> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="defaultCharacterSubsetCombination" minOccurs="0"> <xsd:complexType> <xsd:attribute name="inquiryCharacterSubset" type="CharacterSubSet" use="required"/> <xsd:attribute name="replyCharacterSubset" type="CharacterSubSet" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="supportedCharacterSubsetCombinations" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="supportedCharacterSubsetCombination" maxOccurs="unbounded"> <xsd:complexType> <xsd:attribute name="inquiryCharacterSubset" type="CharacterSubSet" use="required"/> <xsd:attribute name="replyCharacterSubset" type="CharacterSubSet" use="required"/> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="defaultLanguageCombination" minOccurs="0"> <xsd:complexType> <xsd:attribute name="inquiryLanguage" use="required"> <xsd:simpleType> <xsd:restriction base="xsd:token"> <xsd:length value="3"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="replyLanguage" use="required"> <xsd:simpleType> <xsd:restriction base="xsd:token"> <xsd:length value="3"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> <xsd:element name="supportedLanguageCombinations" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="supportedLanguageCombination" maxOccurs="unbounded"> <xsd:complexType> <xsd:attribute name="inquiryLanguage" type="xsd:token" use="required"/> <xsd:attribute name="replyLanguage" type="xsd:token" use="required"/> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="defaultCoordinateTypeCombination" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="inquiryCoordinateType" minOccurs="0"> <xsd:complexType> <xsd:attribute name="geodaticDatum" type="GeodeticDatum" use="required"/> <xsd:attribute name="geographicalType" type="GeographicalType" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="replyCoordinateType" minOccurs="0"> <xsd:complexType> <xsd:attribute name="geodaticDatum" type="GeodeticDatum" use="required"/> <xsd:attribute name="geographicalType" type="GeographicalType" use="required"/> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="supportedCoordinateTypeCombinations" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="supportedCoordinateTypeCombination" maxOccurs="unbounded"> <xsd:complexType> <xsd:all> <xsd:element name="inquiryCoordinateType" minOccurs="0"> <xsd:complexType> <xsd:attribute name="geodaticDatum" type="GeodeticDatum" use="required"/> <xsd:attribute name="geographicalType" type="GeographicalType" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="replyCoordinateType" minOccurs="0"> <xsd:complexType> <xsd:attribute name="geodaticDatum" type="GeodeticDatum" use="required"/> <xsd:attribute name="geographicalType" type="GeographicalType" use="required"/> </xsd:complexType> </xsd:element> </xsd:all> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="supportedCombinations" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="supportedCombination" maxOccurs="unbounded"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="SupportedCombination"/> </xsd:complexContent> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:all> <xsd:attribute name="listType" use="required"> <xsd:simpleType> <xsd:restriction base="xsd:token"> <xsd:enumeration value="subscriberList"/> <xsd:enumeration value="localityList"/> <xsd:enumeration value="businessCategoryList"/> <xsd:enumeration value="streetList"/> <xsd:enumeration value="provinceList"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> <xsd:complexType name="SupportedCombination"> <xsd:all> <xsd:element name="applicableCategoryCombinations" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="applicableCategoryCombination" maxOccurs="8"> <xsd:complexType> <xsd:attributeGroup ref="CategoriesReq"/> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="inquiryCharacterSubsetField" minOccurs="0"> <xsd:complexType> <xsd:attribute name="mandatory" type="xsd:boolean" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="replyCharacterSubsetField" minOccurs="0"> <xsd:complexType> <xsd:attribute name="mandatory" type="xsd:boolean" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="inquiryCoordinateTypeField" minOccurs="0"> <xsd:complexType> <xsd:attribute name="mandatory" type="xsd:boolean" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="replyCoordinateTypeField" minOccurs="0"> <xsd:complexType> <xsd:attribute name="mandatory" type="xsd:boolean" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="inquiryLanguageField" minOccurs="0"> <xsd:complexType> <xsd:attribute name="mandatory" type="xsd:boolean" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="replyLanguageField" minOccurs="0"> <xsd:complexType> <xsd:attribute name="mandatory" type="xsd:boolean" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="subscriberNameField" minOccurs="0"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="StringCharacteristics"/> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:element name="countryCodeField" minOccurs="0"> <xsd:complexType> <xsd:attribute name="mandatory" type="xsd:boolean" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="countyStateOrProvinceField" type="StringCharacteristics" minOccurs="0"/> <xsd:element name="localityNameField" minOccurs="0"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="StringCharacteristics"/> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:element name="postalCodeField" type="StringCharacteristics" minOccurs="0"/> <xsd:element name="streetNameField" type="StringCharacteristics" minOccurs="0"/> <xsd:element name="houseNumberField" minOccurs="0"> <xsd:complexType> <xsd:attribute name="mandatory" type="xsd:boolean" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="forenameField" type="StringCharacteristics" minOccurs="0"/> <xsd:element name="headingInTheGuideField" type="StringCharacteristics" minOccurs="0"/> <xsd:element name="additionalNameField" type="StringCharacteristics" minOccurs="0"/> <xsd:element name="professionCodeField" type="StringCharacteristics" minOccurs="0"/> <xsd:element name="categoryField" minOccurs="0"> <xsd:complexType> <xsd:attribute name="mandatory" type="xsd:boolean" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="sequenceNumberField" type="StringCharacteristics" minOccurs="0"/> <xsd:element name="nationalDestinationCodeField" type="StringCharacteristics" minOccurs="0"/> <xsd:element name="commAddressField" type="StringCharacteristics" minOccurs="0"/> <xsd:element name="commAddressTypeField" minOccurs="0"> <xsd:complexType> <xsd:attribute name="mandatory" type="xsd:boolean" use="required"/> <xsd:attribute name="phone" type="xsd:boolean" use="required"/> <xsd:attribute name="email" type="xsd:boolean" use="required"/> <xsd:attribute name="uri" type="xsd:boolean" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="commAddressServiceField" minOccurs="0"> <xsd:complexType> <xsd:attribute name="mandatory" type="xsd:boolean" use="required"/> <xsd:attributeGroup ref="CommAddressServiceReq"/> </xsd:complexType> </xsd:element> <xsd:element name="commAddressCharField" minOccurs="0"> <xsd:complexType> <xsd:attribute name="mandatory" type="xsd:boolean" use="required"/> <xsd:attribute name="ftn" type="xsd:boolean" use="required"/> <xsd:attribute name="mob" type="xsd:boolean" use="required"/> <xsd:attribute name="fixed" type="xsd:boolean" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="geoExpansionField" minOccurs="0"> <xsd:complexType> <xsd:attribute name="mandatory" type="xsd:boolean" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="searchCoordinateField" minOccurs="0"> <xsd:complexType> <xsd:attribute name="mandatory" type="xsd:boolean" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="searchRadiusField" minOccurs="0"> <xsd:complexType> <xsd:attribute name="mandatory" type="xsd:boolean" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="matchingRuleField" minOccurs="0"> <xsd:complexType> <xsd:attribute name="mandatory" type="xsd:boolean" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="selectionField" minOccurs="0"/> </xsd:all> </xsd:complexType> <xsd:complexType name="StringCharacteristics"> <xsd:attribute name="mandatory" type="xsd:boolean" use="required"/> <xsd:attribute name="minLen" type="xsd:integer" use="optional"/> <xsd:attribute name="maxLen" type="xsd:integer" use="optional"/> </xsd:complexType> <xsd:element name="e115Message" type="E115Message"/> </xsd:schema>