<?xml version="1.0" encoding="UTF-8"?> <!-- edited with XMLSpy v2007 (http://www.altova.com) by Rob Moran (Opportunity Links) --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:apd="http://www.govtalk.gov.uk/people/AddressAndPersonalDetails" xmlns="http://www.opp-links.org.uk/XMLSchema/ServiceDirectory" xmlns:rxr="http://ilrt.org/discovery/2004/03/rxr/" xmlns:bs7666="http://www.govtalk.gov.uk/people/bs7666" xmlns:esd="http://www.esd.org.uk/standards" targetNamespace="http://www.opp-links.org.uk/XMLSchema/ServiceDirectory" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:annotation> <xs:documentation>Service data schema developed by Opportunity Links for passing structured service information</xs:documentation> </xs:annotation> <xs:annotation> <xs:appinfo> <Metadata xmlns="http://www.govtalk.gov.uk/metadata/egms"> <DC.Creator Href="mailto:enquiries@opp-links.org.uk">Opportunity Links</DC.Creator> <DC.Date.Created Scheme="DCTERMS.W3CDTF">2006-07-06</DC.Date.Created> <DC.Date.Modified Scheme="DCTERMS.W3CDTF">2006-06-14</DC.Date.Modified> <DC.Description>Service and service provider types</DC.Description> <DC.Format Scheme="http://www.iana.org/assignments/media-types/">text/xml</DC.Format> <DC.Identifier Scheme="DCTERMS.URI">http://www.opp-links.org.uk/XMLSchema/ServicesDirectory/ServiceTypes-v1-1.xsd</DC.Identifier> <DC.Language Scheme="DCTERMS.ISO639-2">eng</DC.Language> <DC.Publisher Href="mailto:enquiries@opp-links.org.uk">Opportunity Links</DC.Publisher> <DC.Relation.ConformsTo>http://www.w3.org/2001/XMLSchema</DC.Relation.ConformsTo> <DC.Subject Scheme="eGMS.IPSV">Information and communication, Information management; Service Information</DC.Subject> <DC.Title>Service Types 1.1</DC.Title> <DC.Type scheme="eGMS.TES">XML Schema</DC.Type> <eGMS.Copyright>Opportunity Links 2007</eGMS.Copyright> <eGMS.Project>Service Directory Webservice</eGMS.Project> <eGMS.Status>Draft Version 1.1</eGMS.Status> </Metadata> </xs:appinfo> <xs:documentation>The following external schemas are referenced (imported) by this schema</xs:documentation> </xs:annotation> <xs:import namespace="http://www.govtalk.gov.uk/people/AddressAndPersonalDetails" schemaLocation="AddressTypes-v2-0.xsd"/> <xs:import namespace="http://www.govtalk.gov.uk/people/bs7666" schemaLocation="bs7666-v2-0.xsd"/> <xs:import namespace="http://www.govtalk.gov.uk/people/AddressAndPersonalDetails" schemaLocation="ContactTypes-v1-3.xsd"/> <xs:import namespace="http://ilrt.org/discovery/2004/03/rxr/" schemaLocation="rxr-v1-0.xsd"/> <xs:annotation> <xs:documentation>Main service structures</xs:documentation> </xs:annotation> <xs:complexType name="ServiceStructure"> <xs:annotation> <xs:documentation>Data structure for the service details</xs:documentation> </xs:annotation> <xs:sequence> <xs:group ref="eGMSGroup"/> <xs:group ref="RefinedeGMSGroup"/> <xs:group ref="SharedGroup"/> <xs:element name="WaitingList" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Details of any waiting list for the service</xs:documentation> </xs:annotation> </xs:element> <xs:element name="CostDetails" type="CostStructure" minOccurs="0"> <xs:annotation> <xs:documentation>Details of the cost of the service</xs:documentation> </xs:annotation> </xs:element> <xs:choice> <xs:annotation> <xs:documentation>Choice between an ID for the service provider or the complete record</xs:documentation> </xs:annotation> <xs:element name="ServiceProviderIdentifier" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Unique identifier of the service provider</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ServiceProvider" type="ServiceProviderStructure" minOccurs="0"> <xs:annotation> <xs:documentation>Details about the provider of the service</xs:documentation> </xs:annotation> </xs:element> </xs:choice> </xs:sequence> <xs:attribute name="CRBPolicy" type="xs:boolean"> <xs:annotation> <xs:documentation>Whether the service has a CRB policy</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="ServiceProviderStructure"> <xs:annotation> <xs:documentation>Data structure for the service provider information</xs:documentation> </xs:annotation> <xs:sequence> <xs:group ref="eGMSGroup"/> <xs:group ref="RefinedeGMSGroup"/> <xs:group ref="SharedGroup"/> <xs:element name="Services" minOccurs="0"> <xs:annotation> <xs:documentation>Optional element outlining the services offered by the provider</xs:documentation> </xs:annotation> <xs:complexType> <xs:choice> <xs:annotation> <xs:documentation>Choice between IDs for the services of the provider or the complete records</xs:documentation> </xs:annotation> <xs:element name="ServiceIdentifier" type="xs:string" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>List of unique identifiers of services offered by the provider</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Service" type="ServiceStructure" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>List of services offered by the provider</xs:documentation> </xs:annotation> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="CRBPolicy" type="xs:boolean"> <xs:annotation> <xs:documentation>Whether the service provider has a CRB policy</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:annotation> <xs:documentation>Types and groups</xs:documentation> </xs:annotation> <xs:simpleType name="FormatType"> <xs:annotation> <xs:documentation>Type for restricting string formats</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="plain"/> <xs:enumeration value="html"/> <xs:enumeration value="xhtml"/> <xs:enumeration value="bbcode"/> <xs:enumeration value="structuredtext"/> <xs:enumeration value="rest"/> <xs:enumeration value="wiki"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="NumberType"> <xs:annotation> <xs:documentation>Contact number types</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="telephone"/> <xs:enumeration value="fax"/> <xs:enumeration value="mobile"/> <xs:enumeration value="minicom"/> <xs:enumeration value="freephone"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="DayOfWeek"> <xs:annotation> <xs:documentation>Days of the week</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="Monday"/> <xs:enumeration value="Tuesday"/> <xs:enumeration value="Wednesday"/> <xs:enumeration value="Thursday"/> <xs:enumeration value="Friday"/> <xs:enumeration value="Saturday"/> <xs:enumeration value="Sunday"/> </xs:restriction> </xs:simpleType> <xs:group name="eGMSGroup"> <xs:annotation> <xs:documentation>Group for eGMS metadata</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="DC.Contributor" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>An entity responsible for making contributions to the content of the resource</xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="Href" type="xs:anyURI"/> <xs:attribute name="Role" type="xs:token"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="DC.Creator"> <xs:annotation> <xs:documentation>An entity primarily responsible for making the content of the resource</xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="Href" type="xs:anyURI"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="DC.Date.Created" type="xs:dateTime"> <xs:annotation> <xs:documentation>Date of creation of the resource</xs:documentation> </xs:annotation> </xs:element> <xs:element name="DC.Date.Issued" type="xs:dateTime" minOccurs="0"> <xs:annotation> <xs:documentation>Date of publication of the resource</xs:documentation> </xs:annotation> </xs:element> <xs:element name="DC.Date.Modified" type="xs:dateTime" minOccurs="0"> <xs:annotation> <xs:documentation>Date on which the resource was changed</xs:documentation> </xs:annotation> </xs:element> <xs:element name="DC.Date.Valid" minOccurs="0"> <xs:annotation> <xs:documentation>Dates between which the resource is valid</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="StartDate" type="xs:dateTime" minOccurs="0"/> <xs:element name="EndDate" type="xs:dateTime" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="DC.Description" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Description of the resource. Multiple formats of the description can be input to support existing presentation markup</xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="Format" type="FormatType" use="required"> <xs:annotation> <xs:documentation>Markup format of the description.</xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="DC.Identifier"> <xs:annotation> <xs:documentation>An unambiguous reference to the resource within a given context</xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="Href" type="xs:anyURI"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="DC.Language" type="ControlledListStructure" minOccurs="0"> <xs:annotation> <xs:documentation>Language of the resource</xs:documentation> </xs:annotation> </xs:element> <xs:element name="DC.Publisher"> <xs:annotation> <xs:documentation>An entity responsible for making the resource available</xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="Href" type="xs:anyURI"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="DC.Subject" type="ControlledListStructure" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Categories of the resource</xs:documentation> </xs:annotation> </xs:element> <xs:element name="DC.Title" type="xs:string"> <xs:annotation> <xs:documentation>Title of the resource</xs:documentation> </xs:annotation> </xs:element> <xs:element name="DC.Type" type="ControlledListStructure" minOccurs="0"> <xs:annotation> <xs:documentation>Type of the resource</xs:documentation> </xs:annotation> </xs:element> <xs:element name="eGMS.Copyright" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Statement and identifier indicating the legal ownership and rights regarding use and re-use of all or part of the resource</xs:documentation> </xs:annotation> </xs:element> <xs:element name="eGMS.Keyword" type="xs:string" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Keywords for the resource</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:group> <xs:group name="RefinedeGMSGroup"> <xs:annotation> <xs:documentation>Group for eGMS metadata which refine existing elements</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="AccessChannel" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Access channels the resource is available through</xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="ControlledListStructure"> <xs:attribute name="Refines" type="xs:NMTOKEN" fixed="DC.Coverage"> <xs:annotation> <xs:documentation>Refines DC.Coverage</xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="AreaCovered" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>The areas covered by the resource</xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="ControlledListStructure"> <xs:attribute name="Refines" type="xs:NMTOKEN" fixed="DC.Coverage"> <xs:annotation> <xs:documentation>Refines DC.Coverage</xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="Availability" type="AvailabilityStructure" minOccurs="0"> <xs:annotation> <xs:documentation>Availability of the resource</xs:documentation> </xs:annotation> </xs:element> <xs:element name="SuitableAgeRange" type="AgeRangeStructure" minOccurs="0"> <xs:annotation> <xs:documentation>Details of the age ranges the resource is suitable for</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:group> <xs:group name="SharedGroup"> <xs:annotation> <xs:documentation>Group for elements shared between structures</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="Accreditation" type="ControlledListStructure" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Accreditations or quality standards of the resource</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Contact" type="ContactStructure" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Contacts for the resource</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ContactDetails" type="ContactDetailsStructure" minOccurs="0"> <xs:annotation> <xs:documentation>Contact details of the resource</xs:documentation> </xs:annotation> </xs:element> <xs:element name="DeliveryChannel" type="ControlledListStructure" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>The delivery channels this resource can be delivered through</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Directions" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Directions to the location of the resource</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Facility" type="ControlledListStructure" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Facilities offered by the resource</xs:documentation> </xs:annotation> </xs:element> <xs:element name="LanguageSpoken" type="ControlledListStructure" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Languages spoken by operators of the resource</xs:documentation> </xs:annotation> </xs:element> <xs:element name="EligibilityCriteria" type="CriteriaStructure" minOccurs="0"> <xs:annotation> <xs:documentation>Eligibility criteria of the resource</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ReferralCriteria" type="CriteriaStructure" minOccurs="0"> <xs:annotation> <xs:documentation>Referral criteria of the resource</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ReferralProcedures" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Referral procedures of the resource</xs:documentation> </xs:annotation> </xs:element> <xs:element name="SpecialProvisions" type="ProvisionStructure" minOccurs="0"> <xs:annotation> <xs:documentation>Special provisions offered by the resource</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Notes" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Additional information about the resource</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Metadata" type="MetadataStructure" minOccurs="0"> <xs:annotation> <xs:documentation>Data structure for extensible metadata which conforms to RDF format</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:group> <xs:annotation> <xs:documentation>Supporting structures</xs:documentation> </xs:annotation> <xs:complexType name="AddressStructure"> <xs:annotation> <xs:documentation>Data structure for address information</xs:documentation> </xs:annotation> <xs:complexContent> <xs:extension base="apd:UKAddressStructure"> <xs:sequence> <xs:element name="GridReference" type="bs7666:CoordinateStructure" minOccurs="0"> <xs:annotation> <xs:documentation>Grid reference of the postal address</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="AgeRangeStructure"> <xs:annotation> <xs:documentation>Data structure for ages</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="From" type="AgeStructure" minOccurs="0"> <xs:annotation> <xs:documentation>Age from</xs:documentation> </xs:annotation> </xs:element> <xs:element name="To" type="AgeStructure" minOccurs="0"> <xs:annotation> <xs:documentation>Age to</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Details" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Textual information about age ranges</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="Refines" type="xs:NMTOKEN" fixed="DCTERMS.Audience"> <xs:annotation> <xs:documentation>Refines DCTERMS.Audience</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="AgeStructure"> <xs:annotation> <xs:documentation>Data structure for age ranges</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="Years" type="xs:int" minOccurs="0"> <xs:annotation> <xs:documentation>Age (in Years)</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Months" type="xs:int" minOccurs="0"> <xs:annotation> <xs:documentation>Age (in Months)</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="AvailabilityStructure"> <xs:annotation> <xs:documentation>Data structure for availability information</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="StartDateTime" type="xs:dateTime" minOccurs="0"> <xs:annotation> <xs:documentation>Date and/or time service starts</xs:documentation> </xs:annotation> </xs:element> <xs:element name="EndDateTime" type="xs:dateTime" minOccurs="0"> <xs:annotation> <xs:documentation>Date and/or time service ends</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Period" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Normal opening times</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="StartTime" type="xs:time" minOccurs="0"> <xs:annotation> <xs:documentation>Time period starts</xs:documentation> </xs:annotation> </xs:element> <xs:element name="EndTime" type="xs:time" minOccurs="0"> <xs:annotation> <xs:documentation>Time period ends</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="Day" type="DayOfWeek" use="required"> <xs:annotation> <xs:documentation>Day of the week (add duplicates for multiple periods in a single day)</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="Details" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Textual information about availability (for example, term-time or bank holidays)</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="Refines" type="xs:NMTOKEN" fixed="DC.Coverage"> <xs:annotation> <xs:documentation>Refines DC.Coverage</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="ContactDetailsStructure"> <xs:annotation> <xs:documentation>Data structure for contact details information</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="Address" type="AddressStructure" minOccurs="0"> <xs:annotation> <xs:documentation>Postal address of the contact</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ContactNumber" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Contact numbers of the contact</xs:documentation> </xs:annotation> <xs:complexType> <xs:complexContent> <xs:extension base="apd:TelephoneStructure"> <xs:attribute name="Type" type="NumberType" use="required"> <xs:annotation> <xs:documentation>Type of the contact number</xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> <xs:element name="EmailAddress" type="apd:EmailStructure" minOccurs="0"> <xs:annotation> <xs:documentation>Email address of the contact</xs:documentation> </xs:annotation> </xs:element> <xs:element name="WebsiteAddress" type="xs:anyURI" minOccurs="0"> <xs:annotation> <xs:documentation>Website address of the contact</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="ContactStructure"> <xs:annotation> <xs:documentation>Data structure for contact information</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="Name" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Name of the contact</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Roles" type="RoleStructure" minOccurs="0"> <xs:annotation> <xs:documentation>Roles of the contact</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ContactDetails" type="ContactDetailsStructure"> <xs:annotation> <xs:documentation>Contact details of the contact</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="MainContact" type="xs:boolean"> <xs:annotation> <xs:documentation>Whether the contact is the main contact</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="ControlledListStructure"> <xs:annotation> <xs:documentation>Data structure for controlled lists and taxonomies</xs:documentation> </xs:annotation> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="Id" type="xs:integer" use="required"/> <xs:attribute name="ConceptId" type="xs:integer" use="optional"/> <xs:attribute name="ItemName" type="xs:string" use="required"> <xs:annotation> <xs:documentation>Code of the controlled list</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="ListName" type="xs:string" use="required"> <xs:annotation> <xs:documentation>Name of the controlled list</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="HomeLocation" type="xs:anyURI" use="optional"> <xs:annotation> <xs:documentation>URI of the controlled list</xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="CostStructure"> <xs:annotation> <xs:documentation>Data structure for costs</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="Costs" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Main cost details</xs:documentation> </xs:annotation> </xs:element> <xs:element name="OtherCosts" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Additional cost details such as discounts</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="ContactForCosts" type="xs:boolean" use="optional"> <xs:annotation> <xs:documentation>Whether to contact for cost information</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="CriteriaStructure"> <xs:annotation> <xs:documentation>Data structure for criteria</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="Criteria" type="ControlledListStructure" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Criteria entries from a defined list</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Details" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Criteria details</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="MetadataStructure"> <xs:annotation> <xs:documentation>Data structure for extensible metadata which conforms to RDF format</xs:documentation> </xs:annotation> <xs:sequence> <xs:element ref="rxr:triple" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attributeGroup ref="rxr:i18n"/> </xs:complexType> <xs:complexType name="ProvisionStructure"> <xs:annotation> <xs:documentation>Data structure for provisions</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="WheelchairAccess" minOccurs="0"> <xs:annotation> <xs:documentation>Whether wheelchair access is available</xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="HasProvision" type="xs:boolean" use="required"> <xs:annotation> <xs:documentation>Whether the service offers this provision</xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="CulturalProvision" minOccurs="0"> <xs:annotation> <xs:documentation>Whether cultural provision is offered</xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="HasProvision" type="xs:boolean" use="required"> <xs:annotation> <xs:documentation>Whether the service offers this provision</xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="SpecialDiet" minOccurs="0"> <xs:annotation> <xs:documentation>Whether special diets are catered for</xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="HasProvision" type="xs:boolean" use="required"> <xs:annotation> <xs:documentation>Whether the service offers this provision</xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="SpecialNeeds" minOccurs="0"> <xs:annotation> <xs:documentation>Whether special needs are catered for</xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="HasProvision" type="xs:boolean" use="required"> <xs:annotation> <xs:documentation>Whether the service offers this provision</xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="Details" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Textual information about provisions</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="RoleStructure"> <xs:annotation> <xs:documentation>Data structure for roles</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="Role" type="ControlledListStructure" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Role entries from a defined list</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Details" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Role details</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:schema>