<?xml version="1.0" encoding="UTF-8"?>
<!--
	FILE INFORMATION

	Description
		BCAST enabler - Service Guide Fragments

	Version: 1.2
	Date:    14 Jan 2014

	OMA Permanent Document
		File: OMA-SUP-XSD_bcast_sg_fragments-V1_2-20140114-C
		Type: Text - XML Schema Definition

	Public Reachable Information
		Path: http://www.openmobilealliance.org/tech/profiles
		Name: bcast_sg_fragments-v1_2.xsd

	NORMATIVE INFORMATION

	Information about this file can be found in the latest revision of
	the specification OMA-TS-BCAST_ServiceGuide-V1_2 available at
		http://www.openmobilealliance.org/

	Send comments to technical-comments@mail.openmobilealliance.org

	LEGAL DISCLAIMER

	Use of this document is subject to all of the terms and conditions
	of the Use Agreement located at
		http://www.openmobilealliance.org/UseAgreement.html

	You may use this document or any part of the document for internal
	or educational purposes only, provided you do not modify, edit or
	take out of context the information in this document in any manner.
	Information contained in this document may be used, at your sole
	risk, for any purposes.

	You may not use this document in any other manner without the prior
	written permission of the Open Mobile Alliance.  The Open Mobile
	Alliance authorizes you to copy this document, provided that you
	retain all copyright and other proprietary notices contained in the
	original materials on any copies of the materials and that you
	comply strictly with these terms.  This copyright permission does
	not constitute an endorsement of the products or services.  The
	Open Mobile Alliance assumes no responsibility for errors or
	omissions in this document.

	Each Open Mobile Alliance member has agreed to use reasonable
	endeavors to inform the Open Mobile Alliance in a timely manner of
	Essential IPR as it becomes aware that the Essential IPR is related
	to the prepared or published specification.  However, the members
	do not have an obligation to conduct IPR searches.  The declared
	Essential IPR is publicly available to members and non-members of
	the Open Mobile Alliance and may be found on the "OMA IPR
	Declarations" list at http://www.openmobilealliance.org/ipr.html.
	The Open Mobile Alliance has not conducted an independent IPR review
	of this document and the information contained herein, and makes no
	representations or warranties regarding third party IPR, including
	without limitation patents, copyrights or trade secret rights.  This
	document may contain inventions for which you must obtain licenses
	from third parties before making, using or selling the inventions.
	Defined terms above are set forth in the schedule to the Open Mobile
	Alliance Application Form.

	NO REPRESENTATIONS OR WARRANTIES (WHETHER EXPRESS OR IMPLIED) ARE
	MADE BY THE OPEN MOBILE ALLIANCE OR ANY OPEN MOBILE ALLIANCE MEMBER
	OR ITS AFFILIATES REGARDING ANY OF THE IPR'S REPRESENTED ON THE "OMA
	IPR DECLARATIONS" LIST, INCLUDING, BUT NOT LIMITED TO THE ACCURACY,
	COMPLETENESS, VALIDITY OR RELEVANCE OF THE INFORMATION OR WHETHER OR
	NOT SUCH RIGHTS ARE ESSENTIAL OR NON-ESSENTIAL.

	THE OPEN MOBILE ALLIANCE IS NOT LIABLE FOR AND HEREBY DISCLAIMS ANY
	DIRECT, INDIRECT, PUNITIVE, SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR
	EXEMPLARY DAMAGES ARISING OUT OF OR IN CONNECTION WITH THE USE OF
	DOCUMENTS AND THE INFORMATION CONTAINED IN THE DOCUMENTS.

	Copyright 2014 Open Mobile Alliance Ltd.  All Rights Reserved.
	Used with the permission of the Open Mobile Alliance Ltd. under the
	terms set forth above.
-->
<!--
	CHANGE HISTORY

	13112012	* File created from OMA-SUP-XSD_bcast_sg_fragments-V1_1-20100914-C.xsd:
				  - embedded file information header aligned with
				    http://member.openmobilealliance.org/ftp/rel/gen_info/Procs/SupportFiles_XSD-v1_0.shtml
				  - minor version of target namespace increased to 1.2
				* Alignment with OMA-TS-BCAST_ServiceGuide-V1_2_0-20120709-D,
				  - add in service fragment the cellTargetArea Types for DVB-NGH and DVB-T2
				  - add the BDSType Types for DVB-NGH and DVB-T2
				  - Implement the CR OMA-BCAST-v1_1-2011-0009-CR_Inconsistency_in_BDSType that was not incorporated in OMA-SUP-XSD_bcast_sg_fragments-V1_1-20100914-C.xsd
				  - implement the CR OMA-BCAST-2012-0069-CR_Purchase_Channel_Fragment concerning the change in purchase channel fragment to add the BCAST release 1.2
	14012014 Status changed to Candidate by TP, TP Ref # OMA-TP-2014-0002-INP_BCAST_NGH_V1_2_ERP_and_ETR_for_Candidate_approval			  


-->
<xs:schema
	targetNamespace="urn:oma:xml:bcast:sg:fragments:1.2"
	xmlns="urn:oma:xml:bcast:sg:fragments:1.2"
	xmlns:xs="http://www.w3.org/2001/XMLSchema"
	elementFormDefault="qualified"
	attributeFormDefault="unqualified">
	<!-- Importing xml default declarations (like xml:lang and xml:space) -->
	<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
	<!--
		==================================================
		Service
		==================================================
	-->
	<xs:element name="Service" type="ServiceType"/>
	<xs:complexType name="LanguageString">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute ref="xml:lang" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="ParentalRatingType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="ratingSystem" type="xs:unsignedByte" use="optional"/>
				<xs:attribute name="ratingValueName" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!-- Service fragment -->
	<xs:complexType name="ServiceType">
		<xs:sequence>
			<xs:element name="ProtectionKeyID" type="ProtectionKeyIDType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="ServiceType" type="ServiceTypeRangeType" minOccurs="0" maxOccurs="unbounded"/>
			<!-- Start of program guide information -->
			<xs:element name="Name" type="LanguageString" maxOccurs="unbounded"/>
			<xs:element name="Description" type="LanguageString" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="AudioLanguage" type="AudioOrTextLanguageType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="TextLanguage" type="AudioOrTextLanguageType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="ParentalRating" type="ParentalRatingType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="TargetUserProfile" type="TargetUserProfileType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Genre" type="GenreType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Extension" type="ExtensionType" minOccurs="0" maxOccurs="unbounded"/>
			<!-- End of program guide information -->
			<xs:element name="PreviewDataReference" type="PreviewDataReferenceType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="BroadcastArea" type="BroadcastAreaType" minOccurs="0"/>
			<xs:element name="Popularity" type="PopularityType" minOccurs="0"/>
			<xs:element name="TermsOfUse" type="TermsOfUseType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="PrivateExt" type="PrivateExtType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:anyURI" use="required"/>
		<xs:attribute name="version" type="xs:unsignedInt" use="required"/>
		<xs:attribute name="validFrom" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="validTo" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="globalServiceID" type="xs:anyURI" use="optional"/>
		<xs:attribute name="weight" type="xs:unsignedShort" use="optional" default="65535"/>
		<xs:attribute name="hidden" type="xs:boolean" use="optional" default="false"/>
		<xs:attribute name="baseCID" type="xs:string" use="optional"/>
		<xs:attribute name="emergency" type="xs:boolean" use="optional" default="false"/>
		<xs:attribute name="UDBAllowed" type="xs:boolean" use="optional"/>
		<xs:attribute name="amAllowed" type="xs:boolean" use="optional" default="true"/>
	</xs:complexType>
	<!-- Genre -->
	<xs:simpleType name="GenreTypeType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="main"/>
			<xs:enumeration value="secondary"/>
			<xs:enumeration value="other"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="GenreType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute ref="xml:lang" use="optional"/>
				<xs:attribute name="type" type="GenreTypeType" use="optional"/>
				<xs:attribute name="href" type="xs:anyURI" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!--
		Type of ProtectionKeyID:
		0 - 5-byte long concatenation of Key Domain ID and Key group part of the SEK/PEK ID, as defined in the Smartcard Profile [BCAST10-ServContProt].
		1-127 Reserved for future use
		128-255 Reserved for proprietary use
	-->
	<xs:simpleType name="ReservedProprietaryExtByteRangeType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="128"/>
			<xs:maxInclusive value="255"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ProtectionKeyIDRangeType">
		<xs:union memberTypes="ProtectionKeyIDLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="ProtectionKeyIDLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="ProtectionKeyIDType">
		<xs:simpleContent>
			<xs:extension base="xs:base64Binary">
				<xs:attribute name="type" type="ProtectionKeyIDRangeType" use="required"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!-- Variant of ProtectionKeyID specifically for PPV -->
	<xs:complexType name="ProtectionKeyIDMinMaxType">
		<xs:simpleContent>
			<xs:extension base="xs:base64Binary">
				<xs:attribute name="type" type="ProtectionKeyIDRangeType" use="required"/>
				<xs:attribute name="min" type="xs:nonNegativeInteger" use="optional"/>
				<xs:attribute name="max" type="xs:nonNegativeInteger" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!--
		Allowed values are:
		0 - unspecified
		1 - Basic TV
		2 - Basic Radio
		3 - Rights Issuer Service
		4 - Cachecast
		5 - File download services
		6 - Software management services
		7 – Notification
		8 – Service Guide
		9 - Terminal Provisioning services
		10 - Auxiliary Data
		11 – Streaming on demand
		12 – File download on demand
		13 - Smartcard Provisioning services
		14 - 127 reserved for future use
		128- 223 reserved for other OMA enablers
		224- 255 reserved for proprietary use
	-->
	<xs:simpleType name="ServiceTypeRangeType">
		<xs:union memberTypes="ServiceTypeLRType ServiceTypeOtherEnablersRangeType ServiceTypeProprietaryRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="ServiceTypeLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="13"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ServiceTypeOtherEnablersRangeType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="128"/>
			<xs:maxInclusive value="223"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ServiceTypeProprietaryRangeType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="224"/>
			<xs:maxInclusive value="255"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="TargetUserProfileType">
		<xs:attribute name="attributeName" type="xs:string" use="required"/>
		<xs:attribute name="attributeValue" type="xs:string" use="required"/>
	</xs:complexType>
	<xs:complexType name="ExtensionType">
		<xs:sequence>
			<xs:element name="Description" type="LanguageString" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="url" type="xs:anyURI" use="required"/>
	</xs:complexType>
	<!--
		Possible values:
		0. unspecified
		1.	Service-by-Service switching
		2.	Service Guide Browsing
		3.	Service preview
		4.	Barker
		5. Alternative to blackout
		6-127. reserved for future use
		128-255. reserved for proprietary use
	-->
	<xs:simpleType name="PreviewDataUsageRangeType">
		<xs:union memberTypes="PreviewDataUsageLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="PreviewDataUsageLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="5"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="PreviewDataReferenceType">
		<xs:attribute name="idRef" type="xs:anyURI" use="required"/>
		<xs:attribute name="usage" type="PreviewDataUsageRangeType" use="required"/>
	</xs:complexType>
	<xs:complexType name="BroadcastAreaType">
		<xs:sequence>
			<xs:element name="TargetArea" type="TargetAreaType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="lev_conf" type="LevConfType" minOccurs="0">
				<xs:annotation>
					<xs:documentation> See [OMA MLP]</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="LocationFilter" type="LocationFilterType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="polarity" type="xs:boolean" use="optional" default="true"/>
		<xs:attribute name="filteringTime" type="FilteringTimeType" use="optional"/>
	</xs:complexType>
	<!--
		Type of CellTargetArea.
		Allowed values are:
		 0 –  Unspecified
		 1 - 3GPP Cell Global Identifier as defined in [3GPP TS 23.003]
		 2 – 3GPP Routing Area Identifier (RAI) as defined in [3GPP TS 23.003]
		 3 – 3GPP Location Area Identifier (LAI) as defined in [3GPP TS 23.003]
		 4 – 3GPP Service Area Identifier (SAI) as defined in [3GPP TS 23.003]
		 5 – 3GPP MBMS Service Area Identity (MBMS SAI) as defined in [3GPP TS 23.003]
		 6 – 3GPP2 Subnet ID as defined in [3GPP2 X.S0022-A]
		 7 – 3GPP2 SID as defined in [3GPP2 C.S0005-E]
		 8 – 3GPP2 SID+NID as defined in [3GPP2 C.S0005-E]
		 9 – 3GPP2 SID+NID+PZID as defined in [3GPP2 C.S0005-E]
		10 – 3GPP2 SID+PZID as defined in [3GPP2 C.S0005-E]
		11 – DVB-H Cell ID  (specified in section 6.3.4.1 of [BCAST11-DVBH-IPDC-Adaptation] )
		12 – DVB-SH Cell ID (specified in section 6.3.4.1.1 of [BCAST11-DVBSH-IPDC-Adaptation])
		13 –  WiMAX Base Station Identifier (BSID) as defined in [IEEE 802.16-2004] and [IEEE 802.16e-2005]
		14 – WiMAX Operator ID (NAP ID) as defined in in [IEEE 802.16-2004] and [IEEE 802.16e-2005]
		15 – Forward Link Only Cell ID (specified in section 6.3 of [BCAST11-FLO-Adaptation])
		16 – DVB-SH DVB service ID (specified in section 6.3.4.1.2 of [BCAST11-DVBSH-IPDC-Adaptation]).
		17 – DVB-NGH Cell ID (specified in section 6.3.4.1. of [BCAST12-DVBNGH-Adaptation]
		18 – DVB-T2 Cell ID (specified in section 6.3.4.1. of [BCAST12-DVBNGH-Adaptation]
		19 - 127  reserved for future use
		128 -255 reserved for proprietary use
	-->
	<xs:simpleType name="CellTargetAreaRangeType">
		<xs:union memberTypes="CellTargetAreaLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="CellTargetAreaLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="18"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="CellTargetAreaType">
		<xs:sequence>
			<xs:element name="CellArea" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="PP2CellID" type="xs:positiveInteger" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
					<xs:attribute name="value" type="xs:string" use="required"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="type" type="CellTargetAreaRangeType" use="required"/>
	</xs:complexType>
	<!--
		Type of filteringTime.
		Allowed values are:
		 0 – download time specified by DistributionWindow in corresponding Schedule fragment.
		 1 – rendering time specified by PresentationWindow in corresponding Schedule fragment.
		 2 – location-based filter applied as soon as this fragment received by terminal.
		 3-255 – reserved for future use.
	-->
	<xs:simpleType name="FilteringTimeType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="2"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- Terms of Use -->
	<!--
		Allowed values for type of Terms of Use
		0 - Display before purchasing or subscribing.
		1 - Display before playout.
		2 - 127  reserved for future use
		128 -255 reserved for proprietary use
	-->
	<xs:simpleType name="TermsOfUseRangeType">
		<xs:union memberTypes="TermsOfUseLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="TermsOfUseLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="TermsOfUseType">
		<xs:sequence>
			<xs:element name="Country" minOccurs="0" maxOccurs="unbounded" type="MCCType"/>
			<xs:element name="Language" type="xs:string"/>
			<xs:choice>
				<xs:element name="PreviewDataIDRef" type="xs:anyURI" />
				<xs:element name="TermsOfUseText" type="xs:string"/>
			</xs:choice>
		</xs:sequence>
		<xs:attribute name="type" type="TermsOfUseRangeType" use="required"/>
		<xs:attribute name="id" type="xs:anyURI" use="required"/>
		<xs:attribute name="userConsentRequired" type="xs:boolean" use="required"/>
	</xs:complexType>
	<!-- Popularity -->
	<xs:complexType name="PopularityType">
		<xs:attribute name="rating" type="xs:decimal" use="optional"/>
		<xs:attribute name="noOfViews" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="noOfDiscussions" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="samplingDate" type="xs:dateTime" use="optional"/>
	</xs:complexType>
	<!-- Target Area -->
	<xs:complexType name="TargetAreaType">
		<xs:choice>
			<xs:element name="shape">
				<xs:annotation>
					<xs:documentation> See [OMA MLP]</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="skip"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="cc" type="xs:unsignedShort">
				<xs:annotation>
					<xs:documentation> See [OMA MLP]</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="mcc" type="MCCType"/>
			<xs:element name="name_area" type="LanguageString" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation> See [OMA MLP]. The instances of this element only differ in language.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="ZipCode" type="xs:string"/>
			<xs:element name="CellTargetArea" type="CellTargetAreaType"/>
		</xs:choice>
	</xs:complexType>
	<!-- Location Filter -->
	<xs:complexType name="LocationFilterType">
		<xs:sequence>
			<xs:element name="LocationFilter1" type="LocationFilterType" minOccurs="0"/>
			<xs:element name="LogicalOperation" type="LogicalOperationType" minOccurs="0"/>
			<xs:choice>
				<xs:element name="LocationRequirement2" type="LocationRequirementType" minOccurs="0"/>
				<xs:element name="LocationFilter2" type="LocationFilterType" minOccurs="0"/>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<!-- Logical Operation -->
	<!--
		Allowed values for type of Logical Operation
		0 – unspecified
		1 – Binary operator "AND"
		2 – Binary operator "OR"
		3 – Unary operator "NOT"
		4-127 – reserved for future use
		128-255 – reserved for proprietary use
	-->
	<xs:simpleType name="LogicalOperationType">
		<xs:union memberTypes="LogicalOperationLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="LogicalOperationLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="3"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- Location Requirement -->
	<xs:complexType name="LocationRequirementType">
		<xs:sequence>
			<xs:element name="TargetArea" type="TargetAreaType" maxOccurs="unbounded"/>
			<xs:element name="StartTime" type="xs:unsignedInt" minOccurs="0"/>
			<xs:element name="EndTime" type="xs:unsignedInt" minOccurs="0"/>
			<xs:element name="Duration" type="xs:unsignedInt" minOccurs="0"/>
			<xs:element name="Lev_Conf_Present" type="xs:decimal" minOccurs="0"/>
			<xs:element name="Lev_Conf_Absent" type="xs:decimal" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<!--
		==================================================
		Schedule
		==================================================
	-->
	<xs:element name="Schedule" type="ScheduleType"/>
	<xs:complexType name="ScheduleType">
		<xs:sequence>
			<xs:element name="ServiceReference">
				<xs:complexType>
					<xs:attribute name="idRef" type="xs:anyURI" use="required"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="InteractivityDataReference" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="AutoStart" type="xs:unsignedInt" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="DistributionWindow" type="DistributionWindowType" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
					<xs:attribute name="idRef" type="xs:anyURI" use="required"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="ContentReference" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="AutoStart" type="xs:unsignedInt" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="DistributionWindow" type="DistributionWindowType" minOccurs="0" maxOccurs="unbounded"/>
						<xs:element name="PresentationWindow" type="PresentationWindowType" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
					<xs:attribute name="idRef" type="xs:anyURI" use="required"/>
					<xs:attribute name="contentLocation" type="xs:anyURI" use="optional"/>
					<xs:attribute name="repeatPlayback" type="xs:boolean" use="optional" default="false"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="PreviewDataReference" type="PreviewDataReferenceType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="TermsOfUse" type="TermsOfUseType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="PrivateExt" type="PrivateExtType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:anyURI" use="required"/>
		<xs:attribute name="version" type="xs:unsignedInt" use="required"/>
		<xs:attribute name="defaultSchedule" type="xs:boolean" use="optional" fixed="true"/>
		<xs:attribute name="onDemand" type="xs:boolean" use="optional" default="false"/>
		<xs:attribute name="validFrom" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="validTo" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="UDBAllowed" type="xs:boolean" use="optional"/>
	</xs:complexType>
	<xs:complexType name="DistributionWindowType">
		<xs:attribute name="startTime" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="endTime" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="duration" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="id" type="xs:unsignedInt" use="optional"/>
	</xs:complexType>
	<xs:complexType name="PresentationWindowType">
		<xs:attribute name="startTime" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="endTime" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="duration" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="id" type="xs:unsignedInt" use="optional"/>
	</xs:complexType>
	<!--
		==================================================
		Content
		==================================================
	-->
	<xs:element name="Content" type="ContentType"/>
	<xs:complexType name="ContentType">
		<xs:sequence>
			<xs:element name="ServiceReference" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:attribute name="idRef" type="xs:anyURI" use="required"/>
					<xs:attribute name="weight" type="xs:unsignedShort" use="optional" default="65535"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="ProtectionKeyID" type="ProtectionKeyIDMinMaxType" minOccurs="0" maxOccurs="unbounded"/>
			<!-- Start of program guide information -->
			<xs:element name="Name" type="LanguageString" maxOccurs="unbounded"/>
			<xs:element name="Description" type="LanguageString" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="StartTime" type="xs:dateTime" minOccurs="0"/>
			<xs:element name="EndTime" type="xs:dateTime" minOccurs="0"/>
			<xs:element name="AudioLanguage" type="AudioOrTextLanguageType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="TextLanguage" type="AudioOrTextLanguageType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Length" type="xs:duration" minOccurs="0"/>
			<xs:element name="ParentalRating" type="ParentalRatingType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="TargetUserProfile" type="TargetUserProfileType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Genre" type="GenreType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="TermsOfUse" type="TermsOfUseType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Extension" type="ExtensionType" minOccurs="0" maxOccurs="unbounded"/>
			<!-- End of program guide information -->
			<xs:element name="PreviewDataReference" type="PreviewDataReferenceType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="BroadcastArea" type="BroadcastAreaType" minOccurs="0"/>
			<xs:element name="Popularity" type="PopularityType" minOccurs="0"/>
			<xs:element name="Freshness" type="FreshnessType" minOccurs="0"/>
			<xs:element name="PrivateExt" type="PrivateExtType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:anyURI" use="required"/>
		<xs:attribute name="version" type="xs:unsignedInt" use="required"/>
		<xs:attribute name="validFrom" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="validTo" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="globalContentID" type="xs:anyURI" use="optional"/>
		<xs:attribute name="emergency" type="xs:boolean" use="optional" default="false"/>
		<xs:attribute name="baseCID" type="xs:string" use="optional"/>
		<xs:attribute name="UDBAllowed" type="xs:boolean" use="optional"/>
		<xs:attribute name="amAllowed" type="xs:boolean" use="optional" default="true"/>
	</xs:complexType>
	<xs:complexType name="AudioOrTextLanguageType">
		<xs:simpleContent>
			<xs:extension base="LanguageString">
				<xs:attribute name="languageSDPTag" type="xs:string" use="required"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!-- Freshness -->
	<xs:complexType name="FreshnessType">
		<xs:attribute name="releaseDate" type="xs:dateTime" use="optional"/>
		<xs:attribute name="broadcastDate" type="xs:dateTime" use="optional"/>
	</xs:complexType>
	<!--
		==================================================
		Access
		==================================================
	-->
	<xs:element name="Access" type="AccessType">
		<xs:annotation>
			<xs:documentation>
			Access fragment describes how the terminal can access a service during the lifespan of the access fragment					</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="AccessType">
		<xs:sequence>
			<xs:element name="AccessType">
				<xs:complexType>
					<xs:choice>
						<xs:element name="BroadcastServiceDelivery" type="BroadcastServiceDeliveryType" minOccurs="1"/>
						<xs:element name="UnicastServiceDelivery" type="UnicastServiceDeliveryType" minOccurs="1" maxOccurs="unbounded"/>
					</xs:choice>
				</xs:complexType>
			</xs:element>
			<xs:element name="KeyManagementSystem" type="KeyManagementSystemType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="EncryptionType" type="EncryptionTypeType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:choice>
				<xs:element name="ServiceReference" type="IDRefType" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="ScheduleReference" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="DistributionWindowID" type="xs:unsignedInt" minOccurs="0" maxOccurs="unbounded"/>
						</xs:sequence>
						<xs:attribute name="idRef" type="xs:anyURI" use="required"/>
					</xs:complexType>
				</xs:element>
			</xs:choice>
			<xs:element name="TerminalCapabilityRequirement" type="TerminalCapabilityRequirementType" minOccurs="0"/>
			<xs:element name="BandwidthRequirement" type="xs:unsignedInt" minOccurs="0"/>
			<xs:element name="ServiceClass" type="xs:string"/>
			<xs:element name="ReferredSGInfo" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="BSMSelector" minOccurs="0" maxOccurs="unbounded">
							<xs:complexType>
								<xs:attribute name="idRef" type="xs:anyURI" use="required"/>
							</xs:complexType>
						</xs:element>
						<xs:element name="Service" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="PreviewDataReference" type="PreviewDataReferenceType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="NotificationReception" type="NotificationReceptionType" minOccurs="0"/>
			<xs:element name="SmartcardProvisioningReception" type="SmartcardProvisioningReceptionType" minOccurs="0"/>
			<xs:element name="PrivateExt" type="PrivateExtType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:anyURI" use="required"/>
		<xs:attribute name="version" type="xs:unsignedInt" use="required"/>
		<xs:attribute name="validFrom" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="validTo" type="xs:unsignedInt" use="optional"/>
	</xs:complexType>
	<xs:complexType name="IDRefType">
		<xs:attribute name="idRef" type="xs:anyURI" use="required"/>
	</xs:complexType>
	<xs:complexType name="BroadcastServiceDeliveryType">
		<xs:sequence>
			<xs:element name="BDSType" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Type" type="BDSTypeRangeType" minOccurs="0"/>
						<xs:element name="Version" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="SessionDescription" type="SessionDescriptionType"/>
			<xs:element name="FileDescription" type="FileDescriptionType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="UnicastServiceDeliveryType">
		<xs:sequence>
			<xs:element name="AccessServerURL" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="SessionDescription" type="SessionDescriptionType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="type" type="UnicastServiceDeliveryTypeType" use="required"/>
	</xs:complexType>
	<xs:complexType name="FileDescriptionType">
		<xs:sequence>
			<xs:element name="File" type="FileType" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="Content-Type" type="xs:string" use="optional"/>
		<xs:attribute name="Content-Encoding" type="xs:string" use="optional"/>
		<xs:attribute name="FEC-OTI-FEC-Encoding-ID" type="xs:unsignedByte" use="optional"/>
		<xs:attribute name="FEC-OTI-FEC-Instance-ID" type="xs:unsignedLong" use="optional"/>
		<xs:attribute name="FEC-OTI-Maximum-Source-Block-Length" type="xs:unsignedLong" use="optional"/>
		<xs:attribute name="FEC-OTI-Encoding-Symbol-Length" type="xs:unsignedLong" use="optional"/>
		<xs:attribute name="FEC-OTI-Max-Number-of-Encoding-Symbols" type="xs:unsignedLong" use="optional"/>
		<xs:attribute name="FEC-OTI-Scheme-Specific-Info" type="xs:base64Binary" use="optional"/>
	</xs:complexType>
	<xs:complexType name="FileType">
		<xs:attribute name="Content-Location" type="xs:anyURI" use="required"/>
		<xs:attribute name="TOI" type="xs:positiveInteger" use="required"/>
		<xs:attribute name="Content-Length" type="xs:unsignedLong" use="optional"/>
		<xs:attribute name="Transfer-Length" type="xs:unsignedLong" use="optional"/>
		<xs:attribute name="Content-Type" type="xs:string" use="optional"/>
		<xs:attribute name="Content-Encoding" type="xs:string" use="optional"/>
		<xs:attribute name="Content-MD5" type="xs:base64Binary" use="optional"/>
		<xs:attribute name="FEC-OTI-FEC-Encoding-ID" type="xs:unsignedByte" use="optional"/>
		<xs:attribute name="FEC-OTI-FEC-Instance-ID" type="xs:unsignedLong" use="optional"/>
		<xs:attribute name="FEC-OTI-Maximum-Source-Block-Length" type="xs:unsignedLong" use="optional"/>
		<xs:attribute name="FEC-OTI-Encoding-Symbol-Length" type="xs:unsignedLong" use="optional"/>
		<xs:attribute name="FEC-OTI-Max-Number-of-Encoding-Symbols" type="xs:unsignedLong" use="optional"/>
		<xs:attribute name="FEC-OTI-Scheme-Specific-Info" type="xs:base64Binary" use="optional"/>
	</xs:complexType>
	<!--
		Specifies transport mechanism that is used for this access.
		0 - HTTP
		1 - WAP 1.0
		2 - WAP 2.x
		3 - Generic RTSP to initialize RTP delivery
		4 - RTSP to initialize RTP delivery as per 3GPP-PSS (3GPP packet-switched streaming service)
		5 - RTSP to initialize RTP delivery as per 3GPP2-MSS (3GPP2 multimedia streaming services)
		6 - FLUTE over Unicast
		7-127 Reserved for future use
		128-255 Reserved for proprietary use
	-->
	<xs:simpleType name="UnicastServiceDeliveryTypeType">
		<xs:union memberTypes="UnicastServiceDeliveryLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="UnicastServiceDeliveryLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="6"/>
		</xs:restriction>
	</xs:simpleType>
	<!--
		Type of underlying BDS, possible values:
		0. IPDC over DVB-H
		1. 3GPP MBMS
		2. 3GPP2 BCMCS
		3. IPDC over DVB-SH
		4. WiMAX
		5. Forward Link Only
		6. DVB-NGH
		7. DVB-T2
		8 -127. reserved for future use
		128 -255. reserved for proprietary use
	-->
	<xs:simpleType name="BDSTypeRangeType">
		<xs:union memberTypes="BDSTypeLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="BDSTypeLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="7"/>
		</xs:restriction>
	</xs:simpleType>
	<!--
		Specifies which encryption methods the terminal is to be able to support in order to utilize this Access. Contains the same value as traffic_protection_protocol signalled in STKM.
		0 – IPsec
		1 – SRTP
		2 – ISMACryp
		3 – DCF
		4..255 – Reserved for future use.
		If this element is not present, this Access is not encrypted.
	-->
	<xs:simpleType name="EncryptionTypeType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="3"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="SessionDescriptionType">
		<xs:sequence>
			<xs:choice>
				<xs:element name="SDP">
					<xs:complexType>
						<xs:simpleContent>
							<xs:extension base="xs:string">
								<xs:attribute ref="xml:space" fixed="preserve"/>
								<xs:attribute name="encoding" type="EncodingType" use="optional"/>
							</xs:extension>
						</xs:simpleContent>
					</xs:complexType>
				</xs:element>
				<xs:element name="SDPRef" type="SessionDescriptionReferenceType"/>
				<xs:element name="USBDRef" type="SessionDescriptionReferenceType" minOccurs="0"/>
			</xs:choice>
			<xs:element name="ADPRef" type="SessionDescriptionReferenceType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SessionDescriptionReferenceType">
		<xs:attribute name="uri" type="xs:anyURI" use="optional"/>
		<xs:attribute name="idRef" type="xs:anyURI" use="optional"/>
	</xs:complexType>
	<!--
		Identifies the type of Key Management System(s)(KMS). Possible values:
		0. oma-bcast-drm-pki
		Indicates OMA BCAST DRM profile (Public Key Infrastructure)
		1. oma-bcast-gba_u-mbms
		Indicates BCAST Smartcard profile using GBA_U (Symmetric Key Infrastructure)
		2. oma-bcast-gba_me-mbms
		Indicates BCAST Smartcard profile using GBA_ME
		3. oma-bcast-prov-bcmcs
		Indicates provisioned 3GPP2 BCMCS SKI
		4. KMS not applicable
		Indicates that no KMS is used (only to be used for unencrypted unicast services)
		5 -127 Reserved for future use
		128 – 255 Reserved for proprietary use
	-->
	<xs:simpleType name="kmsRangeType">
		<xs:union memberTypes="kmsLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="kmsLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="4"/>
		</xs:restriction>
	</xs:simpleType>
	<!--
		Specifies the protection type offered by the KMS.
		Values:
		0. Content protection only
		(protection_after_reception in STKM = 0x00 [BCAST SPCP])
		1. Service protection only
		(protection_after_reception in STKM = 0x02 or 0x03 [BCAST SPCP])
		2. Both Content protection and Service Protection
		(protection_after_reception in STKM = 0x01 [BCAST SPCP])
		3 – 127  Reserved for future use
		128 – 255 Reserved for proprietary use
	-->
	<xs:simpleType name="protectionRangeType">
		<xs:union memberTypes="protectionLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="protectionLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="2"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="KeyManagementSystemType">
		<xs:sequence>
			<xs:element name="PermissionsIssuerURI" type="xs:anyURI"/>
			<xs:element name="ProtectionKeyID" minOccurs="0" maxOccurs="unbounded" type="ProtectionKeyIDType"/>
			<xs:element name="TerminalBindingKeyID" minOccurs="0">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:unsignedInt">
							<xs:attribute name="tbkPermissionsIssuerURI" type="xs:anyURI" use="optional"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="kmsType" type="kmsRangeType" use="required"/>
		<xs:attribute name="secureChannelRequired" type="xs:boolean" use="optional"/>
		<xs:attribute name="protectionType" type="protectionRangeType" use="required"/>
	</xs:complexType>
	<xs:complexType name="TerminalCapabilityRequirementType">
		<xs:sequence>
			<xs:element name="Video" type="VideoType" minOccurs="0"/>
			<xs:element name="Audio" type="AudioType" minOccurs="0"/>
			<xs:element name="DownloadFile" type="DownloadFileType" minOccurs="0"/>
			<xs:element name="RichMedia" type="RichMediaAType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="VideoType">
		<xs:sequence>
			<xs:element name="MIMEType" minOccurs="0">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="codec" type="xs:string" use="optional"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="Complexity" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Bitrate" type="BitrateType" minOccurs="0"/>
						<xs:element name="Resolution" minOccurs="0">
							<xs:complexType>
								<xs:attribute name="horizontal" type="xs:unsignedShort" use="required"/>
								<xs:attribute name="vertical" type="xs:unsignedShort" use="required"/>
								<xs:attribute name="temporal" type="xs:decimal" use="required"/>
							</xs:complexType>
						</xs:element>
						<xs:element name="MinimumBufferSize" type="xs:unsignedInt" minOccurs="0"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="BitrateType">
		<xs:attribute name="average" type="xs:unsignedShort" use="optional"/>
		<xs:attribute name="maximum" type="xs:unsignedShort" use="optional"/>
	</xs:complexType>
	<xs:complexType name="AudioType">
		<xs:sequence>
			<xs:element name="MIMEType" minOccurs="0">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="codec" type="xs:string" use="optional"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="Complexity" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Bitrate" type="BitrateType" minOccurs="0"/>
						<xs:element name="MinimumBufferSize" type="xs:unsignedInt" minOccurs="0"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DownloadFileType">
		<xs:sequence>
			<xs:element name="MIMEType" minOccurs="1" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="codec" type="xs:string" use="optional"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="RichMediaAType">
		<xs:sequence>
			<xs:element name="Capabilities" type="RichMediaCapabilitiesType"/>
		</xs:sequence>
	</xs:complexType>
	<!-- Rich Media Capabilities (type used in Access, PreviewData, IMD and Notification) -->
	<xs:complexType name="RichMediaCapabilitiesType">
		<xs:sequence>
			<xs:element name="MIMEType" type="MIMETypeType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Complexity">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Animations">
							<xs:complexType>
								<xs:attribute name="maximum" type="xs:unsignedShort" use="optional" default="0"/>
							</xs:complexType>
						</xs:element>
						<xs:element name="MediaElements">
							<xs:complexType>
								<xs:attribute name="simultaneousVideo" type="xs:unsignedShort" use="optional" default="0"/>
								<xs:attribute name="simultaneousAudio" type="xs:unsignedShort" use="optional" default="0"/>
							</xs:complexType>
						</xs:element>
						<xs:element name="DOMNodes">
							<xs:complexType>
								<xs:attribute name="maximum" type="xs:unsignedShort" use="optional"/>
							</xs:complexType>
						</xs:element>
						<xs:element name="Scripting">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="MIMEType" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="Compression">
							<xs:complexType>
								<xs:attribute name="contentEncoding" type="ContentEncodingType" use="required"/>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
					<xs:attribute name="profile" type="xs:string" use="optional"/>
					<xs:attribute name="sceneUpdateCommands" type="xs:boolean" use="optional" default="false"/>
					<xs:attribute name="screenOrientation" type="xs:boolean" use="optional" default="false"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="type" type="RichMediaTypeType" use="required"/>
		<xs:attribute name="version" type="xs:string" use="required"/>
	</xs:complexType>
	<!--
		Type of Rich Media Solution:
		0 – according to MIME type
		1 – W3C SVG Tiny
		2 – OMA RME
		3 – MPEG LASeR
		4 – 3GPP DIMS
		5 – 127 reserved for future use
		128 – 255 reserved for proprietary use
	-->
	<xs:simpleType name="RichMediaTypeType">
		<xs:union memberTypes="RichMediaLRTypeType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="RichMediaLRTypeType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="4"/>
		</xs:restriction>
	</xs:simpleType>
	<!--
		Type of Rich Media content encoding:
		0 - None
		1 - XML
		2 - Gzip
		3 - LASeR binary format
		4 - BiM
		5 - 127 reserved for future use
		128 – 255 reserved for proprietary use
	-->
	<xs:simpleType name="ContentEncodingType">
		<xs:union memberTypes="ContentEncodingLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="ContentEncodingLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="4"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- Notification Reception -->
	<xs:complexType name="NotificationReceptionType">
		<!--
			this construct implements the constraint:
			"at least one of the elements <IPBroadcastDelivery>, <PollURL>, or <PollPeriod> SHALL be present."
		-->
		<xs:choice>
			<xs:sequence>
				<xs:element name="IPBroadcastDelivery">
					<xs:complexType>
						<xs:attribute name="port" type="xs:unsignedInt" use="required"/>
						<xs:attribute name="address" type="xs:string" use="optional"/>
					</xs:complexType>
				</xs:element>
				<xs:element name="PollURL" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element name="PollPeriod" type="xs:decimal" minOccurs="0"/>
			</xs:sequence>
			<xs:sequence>
				<xs:element name="PollURL" type="xs:anyURI" maxOccurs="unbounded"/>
				<xs:element name="PollPeriod" type="xs:decimal" minOccurs="0"/>
			</xs:sequence>
			<xs:sequence>
				<xs:element name="PollPeriod" type="xs:decimal"/>
			</xs:sequence>
		</xs:choice>
	</xs:complexType>
	<!-- Smartcard Provisioning Reception -->
	<xs:complexType name="SmartcardProvisioningReceptionType">
		<xs:sequence>
			<xs:element name="Addressing">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="SubscriberGroupIdentifier" type="SubscriberGroupIdentifier" maxOccurs="unbounded"/>
					</xs:sequence>
					<xs:attribute name="type" type="SCAddressingType" use="required"/>
					<xs:attribute name="groupSize" type="xs:unsignedByte" use="required"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="SmartcardAccess">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="URL" type="xs:anyURI" minOccurs="0"/>
						<xs:element name="Request" minOccurs="0">
							<xs:complexType>
								<xs:attribute name="type" type="SCRequestType" use="required"/>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
					<xs:attribute name="technology" type="SCTechnologyType" use="required"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<!--
		SC Addressing type
		0 - Fixed Group Address Mode
		1-127 -  Reserved for future use
	-->
	<xs:simpleType name="SCAddressingType">
		<xs:union memberTypes="SCAddressingLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="SCAddressingLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- SubscriberGroupIdentifier defined in TS Services -->
	<xs:complexType name="SubscriberGroupIdentifier">
		<xs:sequence>
			<xs:choice>
				<xs:element name="subscriberGroupBase" type="xs:base64Binary"/>
				<xs:sequence>
					<xs:element name="flexibleGroupAddress" type="xs:base64Binary"/>
					<xs:element name="uniqueSmartcardFilter" type="xs:base64Binary" minOccurs="0"/>
				</xs:sequence>
			</xs:choice>
			<xs:choice minOccurs="0">
				<xs:element name="subscriberAccessMask" type="xs:base64Binary"/>
				<xs:element name="subscriberPosition" type="xs:base64Binary"/>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<!--
		Technology type used to transfer the file to the Smartcard
		0 - Envelope (as defined in [ETSI TS 102221]
		1 - OMA SCWS
		2 - 127 reserved for future use
		128 – 255 reserved for proprietary use
	-->
	<xs:simpleType name="SCTechnologyType">
		<xs:union memberTypes="SCTechnologyLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="SCTechnologyLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<!--
		the Request type used to transfer the file to the SCWS
		0 - PUT
		1 – 127 reserved for future use
		128 – 255 reserved for proprietary use
	-->
	<xs:simpleType name="SCRequestType">
		<xs:union memberTypes="SCRequestLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="SCRequestLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<!--
		==================================================
		PurchaseItem
		==================================================
	-->
	<xs:element name="PurchaseItem" type="PurchaseItemType">
		<xs:annotation>
			<xs:documentation>
				A purchase item groups one or multiple services/contents, or schedules associated with specific services or contents that an end-user can purchase or subscribe to as a whole
			</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="PurchaseItemType">
		<xs:sequence>
			<xs:choice>
				<xs:element name="ServiceReference" type="IDRefType" minOccurs="1" maxOccurs="unbounded"/>
				<xs:element name="ScheduleReference" type="ScheduleReferenceType" minOccurs="1" maxOccurs="unbounded"/>
				<xs:element name="ContentReference" type="IDRefType" minOccurs="1" maxOccurs="unbounded"/>
				<xs:element name="PurchaseItemReference" type="IDRefType" minOccurs="1" maxOccurs="unbounded"/>
			</xs:choice>
			<xs:element name="ProtectionKeyID" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:base64Binary">
							<xs:attribute name="type" type="ProtectionKeyIDRangeType" use="required"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<!-- Start of program guide information -->
			<xs:element name="Name" type="LanguageString" maxOccurs="unbounded"/>
			<xs:element name="Description" type="LanguageString" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="StartTime" type="xs:dateTime" minOccurs="0"/>
			<xs:element name="EndTime" type="xs:dateTime" minOccurs="0"/>
			<xs:element name="ParentalRating" type="ParentalRatingType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Extension" type="ExtensionType" minOccurs="0" maxOccurs="unbounded"/>
			<!-- End of program guide information -->
			<xs:element name="DependencyReference" type="IDRefType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="ExclusionReference" type="IDRefType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="PrivateExt" type="PrivateExtType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:anyURI" use="required"/>
		<xs:attribute name="version" type="xs:unsignedInt" use="required"/>
		<xs:attribute name="validFrom" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="validTo" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="globalPurchaseItemID" type="xs:anyURI" use="required"/>
		<xs:attribute name="binaryPurchaseItemID" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="weight" type="xs:unsignedShort" use="optional" default="65535"/>
		<xs:attribute name="closed" type="xs:boolean" use="optional" default="false"/>
	</xs:complexType>
	<!--
		==================================================
		PurchaseData
		==================================================
	-->
	<xs:element name="PurchaseData" type="PurchaseDataType">
		<xs:annotation>
			<xs:documentation>Purchase data fragment</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="PurchaseDataType">
		<xs:sequence>
			<xs:element name="ProtectionKeyID" type="ProtectionKeyIDMinMaxType" minOccurs="0" maxOccurs="unbounded"/>
			<!-- Start of program guide information -->
			<xs:element name="Description" type="LanguageString" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="PriceInfo" type="PriceInfoType" minOccurs="0"/>
			<xs:element name="PromotionInfo" type="PromotionInfoType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Extension" type="ExtensionType" minOccurs="0" maxOccurs="unbounded"/>
			<!-- End of program guide information -->
			<xs:element name="OfferDetails" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="CreditPackageType">
							<xs:complexType>
								<xs:simpleContent>
									<xs:extension base="CreditPackageTypeRangeType">
										<xs:attribute name="extraTokensPurchaseable" type="xs:boolean" use="optional"/>
									</xs:extension>
								</xs:simpleContent>
							</xs:complexType>
						</xs:element>
						<xs:choice minOccurs="0">
							<xs:element name="TotalNumberTokenCredits">
								<xs:complexType>
									<xs:simpleContent>
										<xs:extension base="xs:unsignedShort">
											<xs:attribute name="creditType" type="CreditTypeRangeType" use="required"/>
											<xs:attribute name="consumptionAmount" type="xs:unsignedShort" use="optional"/>
											<xs:attribute name="consumptionUnit" type="ConsumptionUnitRangeType" use="required"/>
											<xs:attribute name="maxReplay" type="xs:unsignedShort" use="optional"/>
										</xs:extension>
									</xs:simpleContent>
								</xs:complexType>
							</xs:element>
							<xs:element name="TotalNumberCountCredits">
								<xs:complexType>
									<xs:simpleContent>
										<xs:extension base="xs:unsignedShort">
											<xs:attribute name="consumptionAmount" type="xs:unsignedShort" use="required"/>
											<xs:attribute name="consumptionUnit" type="ConsumptionUnitRangeType" use="required"/>
										</xs:extension>
									</xs:simpleContent>
								</xs:complexType>
							</xs:element>
						</xs:choice>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="PurchaseItemReference" type="IDRefType"/>
			<xs:element name="PurchaseChannelReference" type="IDRefType" maxOccurs="unbounded"/>
			<xs:element name="PreviewDataReference" type="PreviewDataReferenceType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="TermsOfUse" type="TermsOfUseType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="DependencyReference" type="IDRefType" minOccurs="0"/>
			<xs:element name="PrivateExt" type="PrivateExtType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:anyURI" use="required"/>
		<xs:attribute name="version" type="xs:unsignedInt" use="required"/>
		<xs:attribute name="validFrom" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="validTo" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="globalPurchaseDataID" type="xs:anyURI" use="required"/>
	</xs:complexType>
	<xs:complexType name="PriceInfoType">
		<xs:sequence>
			<xs:element name="MonetaryPrice" type="PriceType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="SubscriptionPeriod" minOccurs="0">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:duration">
							<xs:attribute name="startTime" type="xs:unsignedInt" use="optional"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="subscriptionType" type="SubscriptionTypeType" use="required"/>
	</xs:complexType>
	<xs:complexType name="PriceType">
		<xs:annotation>
			<xs:documentation>Currency, using ISO 4217 international currency codes</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:decimal">
				<xs:attribute name="currency" type="xs:string" use="required"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<!--
		The type of subscription offered. Possible values:
		0 - one-time subscription
		1 - open-ended subscription
		2 - free trial subscription
		3 - token or count-based
		4-127 Reserved for future use
		128-255 Reserved for proprietary use
	-->
	<xs:simpleType name="SubscriptionTypeType">
		<xs:union memberTypes="SubscriptionTypeLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="SubscriptionTypeLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="3"/>
		</xs:restriction>
	</xs:simpleType>
	<!--
		The type of credit package. Possible values:
		0 - unspecified
		1 - ServiceTokenPPTLive
		2 - ServiceTokenPPTPlayback
		3 - UserTokenPPTLive
		4 - UserTokenPPT Playback
		5 - UserTokenPPVLive
		6 - UserTokenPPPPlayback
		7 - fixed number of recorded content playbacks
		8 - fixed time duration for live content consumption – credit carryover disallowed
		9 - fixed time duration for live content consumption – credit carryover allowed
		10 - fixed time duration for recorded content consumption
		11 - unlimited duration for recorded content consumption
		12-127 Reserved for future use
		128-255 Reserved for proprietary use
	-->
	<xs:simpleType name="CreditPackageTypeLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="11"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="CreditPackageTypeRangeType">
		<xs:union memberTypes="CreditPackageTypeLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<!--
		The type of token-based credit. Possible values:
		0 - unspecified
		1 - tokens for the DRM Profile
		2 - service tokens for the Smartcard Profile added to live_ppt_purse
		3 - service tokens for the Smartcard Profile added to playback_ppt_purse
		4 - user tokens for the Smartcard Profile
		5-127 Reserved for future use
		128-255 Reserved for proprietary use
	-->
	<xs:simpleType name="CreditTypeLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="4"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="CreditTypeRangeType">
		<xs:union memberTypes="CreditTypeLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<!--
		The type of consumption unit. Possible values:
		0 – time in seconds
		1 – time in minutes
		2 – time in hours
		3 – number of plays
		4-127 Reserved for future use
		128-255 Reserved for proprietary use
	-->
	<xs:simpleType name="ConsumptionUnitLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="3"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ConsumptionUnitRangeType">
		<xs:union memberTypes="ConsumptionUnitLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:complexType name="PromotionInfoType">
		<xs:sequence>
			<!-- Start of program guide information -->
			<xs:element name="Title" type="LanguageString" maxOccurs="unbounded"/>
			<xs:element name="TargetUserProfile" type="TargetUserProfileType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Description" type="LanguageString" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="PromotionExtension" type="PromotionExtensionURLType" minOccurs="0" maxOccurs="unbounded"/>
			<!-- End of program guide information -->
		</xs:sequence>
		<xs:attribute name="id" type="xs:unsignedInt" use="required"/>
		<xs:attribute name="validFrom" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="validTo" type="xs:unsignedInt" use="optional"/>
	</xs:complexType>
	<xs:complexType name="PromotionExtensionURLType">
		<xs:sequence>
			<xs:element name="Description" type="LanguageString" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="url" type="xs:anyURI" use="required"/>
	</xs:complexType>
	<!--
		==================================================
		PurchaseChannel
		==================================================
	-->
	<xs:element name="PurchaseChannel" type="PurchaseChannelType">
		<xs:annotation>
			<xs:documentation>
				The purchase channel fragment represents a system from which access and content rights can be
				purchased by the terminal (and its end user)
			</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="PurchaseChannelType">
		<xs:sequence>
			<xs:element name="PortalURL" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:anyURI">
							<xs:attribute name="supportedService" type="SupportedServiceType" use="optional" default="0"/>
							<xs:attribute name="kmsType" type="kmsRangeType" use="optional"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="PurchaseURL" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:anyURI">
							<xs:attribute name="kmsType" type="kmsRangeType" use="required"/>
							<xs:attribute name="bcastrelease" type="BcastReleaseType" use="optional" default="0"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<!-- Start of program guide information -->
			<xs:element name="Name" type="LanguageString" maxOccurs="unbounded"/>
			<xs:element name="Description" type="LanguageString" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="ContactInfo" type="xs:string" minOccurs="0"/>
			<xs:element name="Extension" type="ExtensionType" minOccurs="0" maxOccurs="unbounded"/>
			<!-- End of program guide information -->
			<xs:element name="TermsOfUse" type="TermsOfUseType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="PrivateExt" type="PrivateExtType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:anyURI" use="required"/>
		<xs:attribute name="version" type="xs:unsignedInt" use="required"/>
		<xs:attribute name="validFrom" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="validTo" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="globalPurchaseChannelID" type="xs:anyURI" use="required"/>
		<xs:attribute name="rightsIssuerURI" type="xs:anyURI" use="optional"/>
	</xs:complexType>
	<!--
		Specifies how the Terminal is expected to use PortalURL and PurchaseURL.
		0: use the Service provisioning messages of [BCAST10-Services] to PurchaseURL for the DRM Profile and RightsIssuerURI for the Smartcard Profile to enable the service provisioning functionality. Further, the Terminal MAY contact the PortalURL via HTTP to acquire further information on PurchaseItems available on this PurchaseChannel.
		1: The Terminal SHALL be able to access the PortalURL via HTTP to acquire further information on PurchaseItems available on this PurchaseChannel and to achieve service provisioning functionality. Further, the Terminal SHALL perform the service provisioning directly on the PortalURL and SHALL NOT send the Service provisioning messages of [BCAST10-Services] to PurchaseURL / RightsIssuerURI to enable the service provisioning functionality.
		2: The Terminal SHALL be able to access the PortalURL via HTTP to acquire further information on PurchaseItems available on this PurchaseChannel. Further, the Terminal MAY perform the service provisioning directly on the PortalURL or the send the Service provisioning messages of [BCAST10-Services] to PurchaseURL (DRM Profile) or RightsIssuerURI (Smartcard Profile) to enable the service provisioning functionality.
		3-255: Reserved for future use.
	-->
	<xs:simpleType name="SupportedServiceType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="2"/>
		</xs:restriction>
	</xs:simpleType>
	<!--
		Declares the BCAST release applicable to the message flow initiated from a PurchaseURL.
		0: BCAST release 1.0
		1: BCAST release 1.1
		2: BCAST release 1.2
		3-255: Reserved for future use.
	-->
	<xs:simpleType name="BcastReleaseType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="2"/>
		</xs:restriction>
	</xs:simpleType>
	<!--
		==================================================
		PreviewData
		==================================================
	-->
	<xs:element name="PreviewData" type="PreviewDataType">
		<xs:annotation>
			<xs:documentation>
				Contains information used by the terminal to present the service or content outline to users
			</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:simpleType name="EncodingType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="base64"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="EncodedLanguageString">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute ref="xml:lang" use="optional"/>
				<xs:attribute name="encoding" type="EncodingType" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="PreviewDataType">
		<xs:sequence>
			<xs:element name="SMIL" type="SMILType" minOccurs="0"/>
			<xs:element name="Video" type="VideoPType" minOccurs="0"/>
			<xs:element name="Audio" type="AudioPType" minOccurs="0"/>
			<xs:element name="Picture" type="PictureType" minOccurs="0"/>
			<xs:element name="Text" type="TextPType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="AccessReference" type="AccessReferenceType" minOccurs="0"/>
			<xs:element name="RichMedia" type="RichMediaPDType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="PrivateExt" type="PrivateExtType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:anyURI" use="required"/>
		<xs:attribute name="version" type="xs:unsignedInt" use="required"/>
		<xs:attribute name="validFrom" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="validTo" type="xs:unsignedInt" use="optional"/>
	</xs:complexType>
	<!--
		Usage of the ‘Access’ fragment identified by ‘AccessReference’ element.
		0. file distribution session
		1. stream distribution session
		2-127. reserved for future use
		128 -255. reserved for proprietary use
	-->
	<xs:simpleType name="AccessUsageType">
		<xs:union memberTypes="AccessUsageLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="AccessUsageLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="SMILType">
		<xs:annotation>
			<xs:documentation>Embedded SMIL to define and synchronize the multimedia components (video, audio, picture, text) of the preview data.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax"/>
		</xs:sequence>
		<xs:attribute name="relativePreference" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="type" type="SMILTypeType" use="optional"/>
		<xs:attribute name="encoding" type="EncodingType" use="optional"/>
	</xs:complexType>
	<!--
		The type of SMIL profile associated with a PreviewData fragment.
		0: 3GPP PSS SMIL Profile [3GPP TS 26.246]
		1: 3GPP2 MSS SMIL Profile [3GPP2 C.S0050]
		2..127: reserved for future use
		128..255: reserved for proprietary use
	-->
	<xs:simpleType name="SMILTypeType">
		<xs:union memberTypes="SMILTypeLRType ReservedProprietaryExtByteRangeType"/>
	</xs:simpleType>
	<xs:simpleType name="SMILTypeLRType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="MIMETypeType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="codec" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="VideoPType">
		<xs:sequence>
			<xs:element name="VideoURI" type="xs:anyURI"/>
			<xs:element name="MIMEType" type="MIMETypeType" minOccurs="0"/>
			<xs:element name="AlternativeText" type="LanguageString" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="AlternativePicture" type="PictureType" minOccurs="0"/>
			<xs:element name="AccessReference" type="AccessReferenceType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="relativePreference" type="xs:unsignedInt" use="optional"/>
	</xs:complexType>
	<xs:complexType name="AudioPType">
		<xs:sequence>
			<xs:element name="AudioURI" type="xs:anyURI"/>
			<xs:element name="MIMEType" type="MIMETypeType" minOccurs="0"/>
			<xs:element name="AlternativeText" type="LanguageString" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="AlternativePicture" type="PictureType" minOccurs="0"/>
			<xs:element name="AccessReference" type="AccessReferenceType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="relativePreference" type="xs:unsignedInt" use="optional"/>
	</xs:complexType>
	<xs:complexType name="PictureType">
		<xs:sequence>
			<xs:choice>
				<xs:element name="PictureURI" type="xs:anyURI" minOccurs="1"/>
				<xs:element name="PictureData" type="xs:base64Binary" minOccurs="1"/>
			</xs:choice>
			<xs:element name="MIMEType" type="xs:string" minOccurs="0"/>
			<xs:element name="AlternativeText" type="LanguageString" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="AccessReference" type="AccessReferenceType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="relativePreference" type="xs:unsignedInt" use="optional"/>
	</xs:complexType>
	<xs:complexType name="TextPType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute ref="xml:lang" use="optional"/>
				<xs:attribute name="relativePreference" type="xs:unsignedInt" use="optional"/>
				<xs:attribute name="encoding" type="EncodingType" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="AccessReferenceType">
		<xs:attribute name="idRef" type="xs:anyURI" use="required"/>
	</xs:complexType>
	<xs:complexType name="RichMediaPDType">
		<xs:sequence>
			<xs:element name="Capabilities" type="RichMediaCapabilitiesType"/>
			<xs:choice>
				<xs:element name="RichMediaData">
					<xs:complexType>
						<xs:simpleContent>
							<xs:extension base="xs:string">
								<xs:attribute name="encoding" type="EncodingType" use="optional"/>
							</xs:extension>
						</xs:simpleContent>
					</xs:complexType>
				</xs:element>
				<xs:element name="RichMediaURI" type="xs:anyURI"/>
			</xs:choice>
			<xs:element name="AlternativeText" type="EncodedLanguageString" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="AlternativePicture" type="PictureType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="relativePreference" type="xs:unsignedInt" use="optional"/>
	</xs:complexType>
	<!--
		==================================================
		InteractivityData
		==================================================
	-->
	<xs:element name="InteractivityData" type="InteractivityDataType">
		<xs:annotation>
			<xs:documentation>
				InteractivityData fragment contains information that is used by the terminal to
				offer interactive services to the user
			</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="InteractivityDataType">
		<xs:sequence>
			<xs:element name="InteractivityType" type="LanguageString" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="ServiceReference" type="IDRefType"/>
			<xs:element name="ContentReference" type="IDRefType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="ScheduleReference" type="ScheduleReferenceType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="InteractivityWindow" type="InteractivityWindowType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="InteractiveDelivery" minOccurs="0">
				<xs:complexType>
					<xs:attribute name="interactivityMediaURL" type="xs:anyURI" use="optional"/>
					<xs:attribute name="pushDelivery" type="xs:boolean" use="optional" default="false"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="Extension" type="ExtensionType" minOccurs="0"/>
			<xs:element name="BackOffTiming" minOccurs="0">
				<xs:complexType>
					<xs:attribute name="offsetTime" type="xs:decimal" use="required"/>
					<xs:attribute name="randomTime" type="xs:decimal" use="required"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="TermsofUse" type="TermsOfUseType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="TargetUserProfile" type="TargetUserProfileType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="PrivateExt" type="PrivateExtType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:anyURI" use="required"/>
		<xs:attribute name="version" type="xs:unsignedInt" use="required"/>
		<xs:attribute name="validFrom" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="validTo" type="xs:unsignedInt" use="optional"/>
		<xs:attribute name="preListenIndicator" type="xs:boolean" use="required"/>
		<xs:attribute name="interactivityMediaDocumentPointer" type="xs:anyURI" use="required"/>
	</xs:complexType>
	<xs:complexType name="ScheduleReferenceType">
		<xs:sequence>
			<xs:element name="PresentationWindowIDRef" type="xs:unsignedInt" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="idRef" type="xs:anyURI" use="required"/>
	</xs:complexType>
	<xs:complexType name="InteractivityWindowType">
		<xs:attribute name="startTime" type="xs:unsignedInt" use="required"/>
		<xs:attribute name="endTime" type="xs:unsignedInt" use="required"/>
	</xs:complexType>
	<!--
		==================================================
		 type for proprietary extensions
		==================================================
	-->
	<xs:complexType name="PrivateExtType">
		<xs:sequence>
			<xs:annotation>
				<xs:documentation>
					This container provides the place for proprietary and application-specific extensions.
					Extensions SHALL use a different namespace.
				</xs:documentation>
			</xs:annotation>
			<xs:any namespace="##other" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<!-- type for Mobile Country Code (3 digits string) -->
	<xs:simpleType name="MCCType">
		<xs:restriction base="xs:string">
			<xs:pattern value="[0-9]{3}"/>
		</xs:restriction>
	</xs:simpleType>
	<!-- type for lev_conf -->
	<xs:simpleType name="LevConfType">
		<xs:restriction base="xs:unsignedByte">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="100"/>
		</xs:restriction>
	</xs:simpleType>

</xs:schema>
