<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by IT Department (Vodafone Global Products & Services Ltd.) -->
<xs:schema xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:pers="http://purl.org/vcml/personalization#" xmlns:er="http://purl.org/vcml/sdp/er/1.0/"
  xmlns:rating="http://purl.org/vcml/rating/1.0/" xmlns:filter="http://purl.org/vcml/filter/1.0/"
  xmlns:vddr="http://namespaces.vodafone.com/applications/CRE#DDR"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns="http://namespaces.vodafone.com/applications/search#"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  targetNamespace="http://namespaces.vodafone.com/applications/search#"
  elementFormDefault="qualified">
  <xs:import namespace="http://purl.org/dc/elements/1.1/" schemaLocation="dublinCore.xsd"/>
  <xs:import namespace="http://namespaces.vodafone.com/applications/CRE#DDR"
    schemaLocation="PublishedDDR_search.xsd"/>
  <xs:import namespace="http://www.w3.org/2000/01/rdf-schema#" schemaLocation="rdf-schema.xsd"/>
  <xs:import namespace="http://purl.org/vcml/filter/1.0/" schemaLocation="vcml-filter.xsd"/>
  <xs:import namespace="http://purl.org/vcml/rating/1.0/" schemaLocation="vcml-rating.xsd"/>
  <xs:import namespace="http://purl.org/vcml/sdp/er/1.0/" schemaLocation="vcml-er.xsd"/>
  <xs:import namespace="http://purl.org/vcml/personalization#"
    schemaLocation="vcml-personalization.xsd"/>
  <xs:import namespace="http://purl.org/vcml/search#" schemaLocation="vcml-search.xsd"/>
  <!-- 
	Globals
	-->
  <xs:element name="channel" type="channelType">
    <xs:annotation>
      <xs:documentation>Indicates the target Vodafone live channel of the resource. More than one
        channel may be provided, for example a sports article that is also considered important
        enough to appear in the main news as well. </xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="provider" type="xs:string">
    <xs:annotation>
      <xs:documentation>the name of the content provider</xs:documentation>
    </xs:annotation>
  </xs:element>
  <!--
		Definitions for the downloads
	-->
  <xs:element name="ringtone" type="RINGTONEType">
    <xs:annotation>
      <xs:documentation>IF THE RINGTONE IS CHARGEABLE YOU MUST INCLUDE THE SERVICE ID ATTRIBUTE. Its
        value will be the same as you would use in PartnerML</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="game" type="GAMEType">
    <xs:annotation>
      <xs:documentation>IF THE GAME IS CHARGEABLE YOU MUST INCLUDE THE SERVICE ID ATTRIBUTE. Its
        value will be the same as you would use in PartnerML</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="picture" type="PICTUREType">
    <xs:annotation>
      <xs:documentation>IF THE PICTURE IS CHARGEABLE YOU MUST INCLUDE THE SERVICE ID ATTRIBUTE. Its
        value will be the same as you would use in PartnerML</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="audio" type="AUDIOType">
    <xs:annotation>
      <xs:documentation>IF THE AUDIO IS CHARGEABLE YOU MUST INCLUDE THE SERVICE ID ATTRIBUTE. Its
        value will be the same as you would use in PartnerML</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="video" type="VIDEOType">
    <xs:annotation>
      <xs:documentation>IF THE VIDEO IS CHARGEABLE YOU MUST INCLUDE THE SERVICE ID ATTRIBUTE. Its
        value will be the same as you would use in PartnerML</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="MMS" type="MMSType">
    <xs:annotation>
      <xs:documentation>IF THE MMS IS CHARGEABLE YOU MUST INCLUDE THE SERVICE ID ATTRIBUTE. Its
        value will be the same as you would use in PartnerML</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="browseable" type="BROWSEABLEType">
    <xs:annotation>
      <xs:documentation>This block is used to describe any pages of browseable content, e.g. news
        articles. It should be used if the described page is device specific, e.g. a games promotion
        article for the Sharp GX10. IF THE PAGE BEING DESCRIBED IS CHARGEABLE VIA THE LINK POINTING
        TO IT YOU MUST INCLUDE THE SERVICE ID ATTRIBUTE. Its value will be the same as you would use
        in PartnerML</xs:documentation>
    </xs:annotation>
  </xs:element>
  <!-- RINGTONES-->
  <xs:complexType name="RINGTONEType">
    <xs:sequence>
      <xs:element ref="provider"/>
      <xs:element ref="dc:title"/>
      <xs:element name="artist" type="xs:string">
        <xs:annotation>
          <xs:documentation>MANDATORY:The musician/band/composer/singer of the
          ringtone.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="title" type="xs:string">
        <xs:annotation>
          <xs:documentation>MANDATORY: The title of the song/piece of music. This will not be
            displayed in the search results, rather it will enable the serach engine to match
            exactly on a song title</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element ref="dc:description"/>
      <xs:element ref="rdfs:seeAlso" minOccurs="0"/>
      <xs:element name="genre" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>OPTIONAL: The style of music this ringtone best matches. You may include
            multiple genre elements if you wish. Please see teh PartnerML authoring guide for the
            most popular genres, in addition you may use your own if they do not fall into one of
            our predefined genres.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="format" type="ringtoneFormatType" minOccurs="1" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>MANDATORY: the filetype of the ringtone. Currently constrained
            to:SMAF,SPMIDI,MIDI,RealMusic,Monophonic</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element ref="dc:subject" minOccurs="0" maxOccurs="unbounded"/>
      <xs:group ref="vddr:device-filters" minOccurs="0"/>
      <xs:group ref="filter:filterGroup" minOccurs="0"/>
      <xs:element ref="rating:rating" minOccurs="0"/>
    </xs:sequence>
    <xs:attributeGroup ref="billing"/>
    <xs:attributeGroup ref="pers:personalizationAttrs"/>
    <xs:attributeGroup ref="pers:personalizationRefAttrs"/>
  </xs:complexType>
  <!-- GAMES-->
  <xs:complexType name="GAMEType">
    <xs:sequence>
      <xs:element ref="provider"/>
      <xs:element ref="dc:title"/>
      <xs:element ref="dc:description"/>
      <xs:element ref="rdfs:seeAlso" minOccurs="0"/>
      <xs:element name="genre" type="xs:string" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>OPTIONAL: The game-style of the game. You may include multiple genre
            elements if you wish. Please see the PartnerML authoring guide for the most popular
            genres, in addition you may use your own if they do not fall into one of our predefined
            genres.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element ref="dc:subject" minOccurs="0" maxOccurs="unbounded"/>
      <xs:group ref="vddr:device-filters" minOccurs="0"/>
      <xs:group ref="filter:filterGroup" minOccurs="0"/>
      <xs:element ref="rating:rating" minOccurs="0"/>
    </xs:sequence>
    <xs:attributeGroup ref="billing"/>
    <xs:attributeGroup ref="pers:personalizationRefAttrs"/>
    <xs:attributeGroup ref="pers:personalizationAttrs"/>
  </xs:complexType>
  <!-- PICTURES -->
  <xs:complexType name="PICTUREType">
    <xs:sequence>
      <xs:element name="provider" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>OPTIONAL the name of the content provider</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element ref="dc:title"/>
      <xs:element ref="dc:description"/>
      <xs:element ref="rdfs:seeAlso" minOccurs="0"/>
      <xs:element name="type" type="pictureType">
        <xs:annotation>
          <xs:documentation>MANDATORY: currently constrained to logo, screensaver, picture, and
            wallpaper</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element ref="dc:subject" minOccurs="0" maxOccurs="unbounded"/>
      <xs:group ref="vddr:device-filters" minOccurs="0"/>
      <xs:group ref="filter:filterGroup" minOccurs="0"/>
      <xs:element ref="rating:rating" minOccurs="0"/>
    </xs:sequence>
    <xs:attributeGroup ref="billing"/>
    <xs:attributeGroup ref="pers:personalizationRefAttrs"/>
    <xs:attributeGroup ref="pers:personalizationAttrs"/>
  </xs:complexType>
  <!-- AUDIO-->
  <xs:complexType name="AUDIOType">
    <xs:sequence>
      <xs:element ref="channel" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element ref="provider" minOccurs="0"/>
      <xs:element ref="dc:title"/>
      <xs:element name="artist" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>OPTIONAL:The musician/band/composer/singer of the
          ringtone.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="title" minOccurs="0">
        <xs:annotation>
          <xs:documentation>OPTIONAL: If the title of the song/piece of music, add the artist
            element to boost search visibility. This will not be displayed in the search results,
            rather it will enable the search engine to match exactly on a song
          title</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element ref="dc:description"/>
      <xs:element name="format" minOccurs="0">
        <xs:annotation>
          <xs:documentation>OPTIONAL: the sound format of the audio file, e.g.
          WAV</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element ref="rdfs:seeAlso" minOccurs="0"/>
      <xs:element ref="dc:subject" minOccurs="0" maxOccurs="unbounded"/>
      <xs:group ref="vddr:device-filters" minOccurs="0"/>
      <xs:group ref="filter:filterGroup" minOccurs="0"/>
      <xs:element ref="rating:rating" minOccurs="0"/>
      <xs:group ref="publishing-rights" minOccurs="0"/>
    </xs:sequence>
    <xs:attributeGroup ref="billing"/>
    <xs:attributeGroup ref="pers:personalizationRefAttrs"/>
    <xs:attributeGroup ref="pers:personalizationAttrs"/>
  </xs:complexType>
  <!-- VIDEO-->
  <xs:complexType name="VIDEOType">
    <xs:sequence>
      <xs:element ref="channel" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element ref="provider" minOccurs="0"/>
      <xs:element ref="dc:title"/>
      <xs:element ref="dc:description"/>
      <xs:element ref="rdfs:seeAlso" minOccurs="0"/>
      <xs:element ref="dc:subject" minOccurs="0" maxOccurs="unbounded"/>
      <xs:group ref="vddr:device-filters" minOccurs="0"/>
      <xs:group ref="filter:filterGroup" minOccurs="0"/>
      <xs:element ref="rating:rating" minOccurs="0"/>
    </xs:sequence>
    <xs:attributeGroup ref="billing"/>
    <xs:attributeGroup ref="pers:personalizationRefAttrs"/>
    <xs:attributeGroup ref="pers:personalizationAttrs"/>
  </xs:complexType>
  <!-- MMS -->
  <xs:complexType name="MMSType">
    <xs:sequence>
      <xs:element ref="channel" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element ref="provider" minOccurs="0"/>
      <xs:element ref="dc:title"/>
      <xs:element ref="dc:description"/>
      <xs:element ref="dc:subject" minOccurs="0" maxOccurs="unbounded"/>
      <xs:group ref="vddr:device-filters" minOccurs="0"/>
      <xs:group ref="filter:filterGroup" minOccurs="0"/>
      <xs:element ref="rating:rating" minOccurs="0"/>
    </xs:sequence>
    <xs:attributeGroup ref="billing"/>
    <xs:attributeGroup ref="pers:personalizationRefAttrs"/>
    <xs:attributeGroup ref="pers:personalizationAttrs"/>
  </xs:complexType>
  <!-- BROWSEABLE -->
  <xs:complexType name="BROWSEABLEType">
    <xs:sequence>
      <xs:element ref="channel" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element ref="provider" minOccurs="0"/>
      <xs:element ref="dc:title"/>
      <xs:element ref="dc:description"/>
      <xs:element ref="dc:subject" minOccurs="0" maxOccurs="unbounded"/>
      <xs:group ref="vddr:device-filters" minOccurs="0"/>
      <xs:group ref="filter:filterGroup" minOccurs="0"/>
      <xs:element ref="rating:rating" minOccurs="0"/>
    </xs:sequence>
    <xs:attributeGroup ref="billing"/>
    <xs:attributeGroup ref="pers:personalizationRefAttrs"/>
    <xs:attributeGroup ref="pers:personalizationAttrs"/>
  </xs:complexType>
  <!-- 
		Simple Types to constrain values
	-->
  <xs:simpleType name="channelType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="news"/>
      <xs:enumeration value="sports"/>
      <xs:enumeration value="music"/>
      <xs:enumeration value="entertainment"/>
      <xs:enumeration value="directory"/>
      <xs:enumeration value="erotic"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ringtoneFormatType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="SMAF"/>
      <xs:enumeration value="SPMIDI"/>
      <xs:enumeration value="MIDI"/>
      <xs:enumeration value="RealMusic"/>
      <xs:enumeration value="Monophonic"/>
      <xs:enumeration value="WAV"/>
      <xs:enumeration value="Polyphonic"/>
      <!-- new 12-Oct-04-->
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="pictureType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="logo"/>
      <xs:enumeration value="screensaver"/>
      <xs:enumeration value="picture"/>
      <xs:enumeration value="wallpaper"/>
      <xs:enumeration value="MMS"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="authUsageTypeValue">
    <xs:restriction base="xs:string">
      <xs:pattern value=".+"/>
    </xs:restriction>
  </xs:simpleType>
  <!-- groups-->
  <xs:attributeGroup name="billing">
    <xs:attribute name="serviceid" type="authUsageTypeValue" use="optional"/>
    <xs:attribute ref="er:content-name" use="optional"/>
    <xs:attribute ref="er:asset-ID" use="optional"/>
  </xs:attributeGroup>
  <xs:group name="device-filters">
    <xs:sequence>
      <xs:element ref="vddr:device" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element ref="vddr:ignore-device" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:group>
  <xs:group name="publishing-rights">
    <xs:sequence>
      <xs:element ref="dc:rights"/>
    </xs:sequence>
  </xs:group>
</xs:schema>
