<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns:am3="http://www.itu.int/xml-namespace/itu-t/h.741.3/lineartv" xmlns:am2="http://www.itu.int/xml-namespace/itu-t/h.741.2/datasturcture" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace=" http://www.itu.int/xml-namespace/itu-t/h.741.3/lineartv" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<annotation>
		<documentation xml:lang="en"><![CDATA[
			This schema (H.741.3-v1.xsd) is the ITU-T H.741 Part.3 Metadata, Version 1 (for H.741.3-201206.doc).
			The namespace of the schema is "http://www.itu.int/xml-namespace/itu-t/h.741.3/lineartv", 
			and its preferred namespace prefix is "am3".]]></documentation>
	</annotation>
	<import namespace="http://www.itu.int/xml-namespace/itu-t/h.741.2/datastructure" schemaLocation="http://www.itu.int/xml-namespace/itu-t/h.741.2/H.741.2-v1.xsd"/>
	<import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
	<!-- ================================================================= -->	<!-- ================================================================= -->
	<!-- Primitive Data Types for H.741 Part.3 -->
	<!-- ================================================================= -->
	<!-- ================================================================= -->
	<simpleType name="NumOfMillisecondsType">
		<restriction base="nonNegativeInteger"/>
	</simpleType>
	<simpleType name="H770IDSType">
		<list itemType="am2:H770IDType"/>
	</simpleType>
	<!-- ================================================================= -->	<!-- Enumeration Types (Table 1)                                       -->
	<!-- ================================================================= -->
  <!-- Values of StartNavMethod: 0=up/down arrow, 1 =channel surfing, 2=scheduled channel change, 3=EPG, 4=Last (previous), 5=Favorite, 6=number entry, 7=unknown, 8=other -->
	<simpleType name="StartNavMethodType">
		<restriction base="integer">
			<enumeration value="0"/>
			<enumeration value="1"/>
			<enumeration value="2"/>
			<enumeration value="3"/>
			<enumeration value="4"/>
			<enumeration value="5"/>
			<enumeration value="6"/>
			<enumeration value="7"/>
			<enumeration value="8"/>
		</restriction>
	</simpleType>
  <!-- Values of StopNavMethod: 0=up/down arrow 1 =channel surfing 2=scheduled channel change 3=EPG 4=Last (previous) 5=Favourite 6=number entry 7=unknown 8=other 999 = turn off terminal device -->
	<simpleType name="StopNavMethodType">
		<restriction base="integer">
			<enumeration value="0"/>
			<enumeration value="1"/>
			<enumeration value="2"/>
			<enumeration value="3"/>
			<enumeration value="4"/>
			<enumeration value="5"/>
			<enumeration value="6"/>
			<enumeration value="7"/>
			<enumeration value="8"/>
			<enumeration value="9"/>
		</restriction>
	</simpleType>
	<!-- Valuses of ViewMode - 0=unknown 1 = full screen 2= Picture-in-Picture 3 =Mosaic 4 = Other -->
	<simpleType name="ViewModeType">
		<restriction base="integer">
			<enumeration value="0"/>
			<enumeration value="1"/>
			<enumeration value="2"/>
			<enumeration value="3"/>
			<enumeration value="4"/>
		</restriction>
	</simpleType>
	<!-- ================================================================= -->	<!-- LTV Events and Sample Set Names(Tables 2,3)-->
	<!-- ================================================================= -->
	<simpleType name="LTVSpecificEventNameType">
		<restriction base="NMTOKEN">
			<enumeration value="LinearChannelStart"/>
			<enumeration value="LinearChannelStop"/>
		</restriction>
	</simpleType>
	<simpleType name="LTVEventNameType">
		<union memberTypes="am2:CommonEventNameType am3:LTVSpecificEventNameType"/>
	</simpleType>
	<!-- ================================================================= -->
	<simpleType name="LTVSpecificSampleSetNameType">
		<restriction base="NMTOKEN">
			<enumeration value="ChannelPlaying"/>
		</restriction>
	</simpleType>
	<simpleType name="LTVSampleSetNameType">
		<union memberTypes="am2:CommonSampleSetNameType am3:LTVSpecificSampleSetNameType"/>
	</simpleType>
	<!-- ================================================================= -->
	<simpleType name="LTVLimitedSampleSetNameType">
		<union memberTypes="am2:LimitedSampleSetNameType am3:LTVSpecificSampleSetNameType"/>
	</simpleType>
	<!-- ================================================================= -->	<!-- Type Extension to "am2:CommonEventForTriggerMethodType" & "am2:CommonSampleSetForTriggerMethodType"  -->
	<!-- ================================================================= -->	<complexType name="LTVEventForTriggerMethodType1">
		<complexContent>
			<restriction base="am2:CommonEventForTriggerMethodType">
				<attribute name="eventName" use="prohibited"/>
			</restriction>
		</complexContent>
	</complexType>
	<complexType name="LTVEventForTriggerMethodType">
		<complexContent>
			<extension base="am3:LTVEventForTriggerMethodType1">
				<attribute name="eventName" type="am3:LTVEventNameType" use="required"/>
			</extension>
		</complexContent>
	</complexType>
	<!-- ================================================================= -->	<complexType name="LTVSampleSetForTriggerMethodType1">
		<complexContent>
			<restriction base="am2:CommonSampleSetForTriggerMethodType">
				<attribute name="sampleSetName" use="prohibited"/>
			</restriction>
		</complexContent>
	</complexType>
	<complexType name="LTVSampleSetForTriggerMethodType">
		<complexContent>
			<extension base="am3:LTVSampleSetForTriggerMethodType1">
				<attribute name="sampleSetName" type="am3:LTVSampleSetNameType" use="required"/>
			</extension>
		</complexContent>
	</complexType>
<!-- ================================================================= -->
<complexType name="LimitedLTVSampleSetForTriggerMethodType1">
		<complexContent>
			<restriction base="am2:LimitedSampleSetForTriggerMethodType">
				<attribute name="sampleSetName" use="prohibited"/>
			</restriction>
		</complexContent>
	</complexType>
	<complexType name="LimitedLTVSampleSetForTriggerMethodType">
		<complexContent>
			<extension base="am3:LimitedLTVSampleSetForTriggerMethodType1">
				<attribute name="sampleSetName" type="am3:LTVLimitedSampleSetNameType" use="required"/>
			</extension>
		</complexContent>
	</complexType>
	<!-- ================================================================= -->	<!-- Type Extension to "am2:CommonEventForScheduleType" & "am2:CommonSampleSetForScheduleType"  -->
	<!-- ================================================================= -->	<complexType name="LTVEventForScheduleType1">
		<complexContent>
			<restriction base="am2:CommonEventForScheduleType">
				<attribute name="eventName" use="prohibited"/>
			</restriction>
		</complexContent>
	</complexType>
	<complexType name="LTVEventForScheduleType">
		<complexContent>
			<extension base="am3:LTVEventForScheduleType1">
				<attribute name="eventName" type="am3:LTVEventNameType" use="required"/>
			</extension>
		</complexContent>
	</complexType>
	<!-- ================================================================= -->	<complexType name="LTVSampleSetForScheduleType1">
		<complexContent>
			<restriction base="am2:CommonSampleSetForScheduleType">
				<attribute name="sampleSetName" use="prohibited"/>
			</restriction>
		</complexContent>
	</complexType>
	<complexType name="LTVSampleSetForScheduleType">
		<complexContent>
			<extension base="am3:LTVSampleSetForScheduleType1">
				<sequence>
					<element name="SampleSetQualifier" type="am2:SampleSetQualifierType" minOccurs="0" maxOccurs="unbounded"/>
				</sequence>
				<attribute name="sampleSetName" type="am3:LTVSampleSetNameType" use="required"/>
			</extension>
		</complexContent>
	</complexType>
	<!-- ================================================================= -->	<complexType name="LimitedLTVSampleSetForScheduleType1">
		<complexContent>
			<restriction base="am2:LimitedSampleSetForScheduleType">
				<attribute name="sampleSetName" use="prohibited"/>
			</restriction>
		</complexContent>
	</complexType>
	<complexType name="LimitedLTVSampleSetForScheduleType">
		<complexContent>
			<extension base="am3:LimitedLTVSampleSetForScheduleType1">
				<sequence>
					<element name="SampleSetQualifier" type="am2:SampleSetQualifierType" minOccurs="0" maxOccurs="unbounded"/>
				</sequence>
				<attribute name="sampleSetName" type="am3:LTVLimitedSampleSetNameType" use="required"/>
			</extension>
		</complexContent>
	</complexType>
	<!-- ================================================================= -->	<!-- ================================================================= -->
	<!-- Data Structures for H.741 Part.3      =========================== -->
	<!-- ================================================================= -->
	<!-- ================================================================= -->
	<!-- ================================================================= -->
	<!-- Type Extension to User Permission (Channel Qualifier, Table 4)    -->
	<!-- ================================================================= -->	<complexType name="LTVUserPermissionType">
		<complexContent>
			<extension base="am2:UserPermissionType">
				<sequence>
					<element name="ChannelQualifier" type="am3:ChannelQualifierType" minOccurs="0"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- ================================================================= -->	<complexType name="ChannelQualifierType">
		<choice minOccurs="0">
			<element name="ChannelList" type="am3:ChannelListType" minOccurs="0"/>
			<element name="AllChannelsExceptList" type="am3:ChannelListType" minOccurs="0"/>
		</choice>
	</complexType>
	<complexType name="ChannelListType">
		<attribute name="serviceIdref" type="am3:H770IDSType" use="required"/>
	</complexType>
	<!-- ================================================================= -->	<!-- Type Extension to Measurement Request (Linear TV Qualifier,Table4)-->
	<!-- ================================================================= -->	<complexType name="LTVMeasurementRequestType">
		<complexContent>
			<extension base="am2:MeasurementRequestType">
				<sequence>
					<element name="LinearTVQualifier" type="am3:LinearTVQualifierType" minOccurs="0"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- ================================================================= -->	<complexType name="LinearTVQualifierType">
		<sequence>
			<element name="NavMethod" type="am3:ReportFlagType" minOccurs="0"/>
			<element name="ControlDevice" type="am2:ControlDeviceType" minOccurs="0"/>
			<element name="ViewMode" type="am3:ReportFlagType" minOccurs="0"/>
			<element name="Obscuration" type="am3:ReportFlagType" minOccurs="0"/>
			<element name="ChannelQualifier" type="am3:ChannelQualifierType" minOccurs="0"/>
			<element name="ChannelChangeFilter" type="am3:NumOfMillisecondsType" minOccurs="0"/>
		</sequence>
	</complexType>
  <!-- values of ReportFlag: 0=do not report 1= report -->
	<simpleType name="ReportFlagType">
		<restriction base="integer">
			<enumeration value="0"/>
			<enumeration value="1"/>
		</restriction>
	</simpleType>
	<!-- ================================================================= -->	<!-- Extension to Measurement Request Set (Table 5) -->
	<!-- ================================================================= -->	<complexType name="LTVMeasurementRequestSetType">
		<complexContent>
			<extension base="am2:MeasurementRequestSetType">
				<sequence>
					<element name="DefaultLinearTVQualifier" type="am3:DefaultLinearTVQualifierType" minOccurs="0"/>
					<!-- The element "LinearTVDefaultQualifier" is newly added for consistency. (See "MeasurementRequestType") -->
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- ================================================================= -->	<complexType name="DefaultLinearTVQualifierType">
		<sequence>
			<element name="DefaultNavMethod" type="am3:ReportFlagType" default="0" minOccurs="0"/>
			<!--element name="DefaultControlDevice" type="am2:ControlDeviceType" default="STBRemoteControl" minOccurs="0"/-->
			<element name="DefaultControlDevice" type="am2:ControlDeviceType" default="0" minOccurs="0"/>
			<element name="DefaultViewMode" type="am3:ReportFlagType" default="0" minOccurs="0"/>
			<element name="DefaultObscuration" type="am3:ReportFlagType" default="0" minOccurs="0"/>
			<element name="DefaultChannelQualifier" type="am3:ChannelQualifierType" minOccurs="0"/>
			<element name="DefaultChannelChangeFilter" type="am3:NumOfMillisecondsType" default="0" minOccurs="0"/>
		</sequence>
	</complexType>
	<!-- ================================================================= -->	<!-- Extension to AM Report Package (Table 6) -->
	<!-- ================================================================= -->	<complexType name="LTVMeasurementReportType">
		<complexContent>
			<extension base="am2:MeasurementReportType">
				<sequence>
					<element name="LinearTVReport" type="am3:LinearTVReportType" minOccurs="0"/>
					<!-- The element "LinearTVReport" is newly added for consistency. (See "MeasurementRequestType") -->
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- ================================================================= -->	<complexType name="LinearTVReportType">
		<sequence>
			<element name="ChannelStart" type="am3:ChannelStartEventType" minOccurs="0"/>
			<element name="ChannelStop" type="am3:ChannelStopEventType" minOccurs="0"/>
			<element name="ChannelPlaying" type="am3:ChannelPlayingSampleSetIdType" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	
	<!-- ================================================================= -->	<complexType name="ChannelStartEventType">
		<sequence>
			<element name="ControlDevice" type="am2:ControlDeviceType" minOccurs="0"/>
			<element name="StartNavMethod" type="am3:StartNavMethodType" minOccurs="0"/>
			<element name="ViewMode" type="am3:ViewModeType" minOccurs="0"/>
			<element name="Obscuration" type="am2:PercentageType" minOccurs="0"/>
		</sequence>
		<attribute name="serviceIdref" type="am2:H770IDType" use="required"/>
		<attribute name="previousServiceInstanceIdref" type="am2:ServiceInstanceIDType" use="optional"/>
		<attribute name="serviceInstanceIdref" type="am2:ServiceInstanceIDType" use="required"/>
	</complexType>
	<complexType name="ChannelStopEventType">
		<sequence>
			<element name="ControlDevice" type="am2:ControlDeviceType" minOccurs="0"/>
			<element name="StopNavMethod" type="am3:StopNavMethodType" minOccurs="0"/>
		</sequence>
		<attribute name="serviceInstanceIdref" type="am2:ServiceInstanceIDType" use="required"/>
	</complexType>
	<complexType name="ChannelPlayingSampleSetIdType">
		<attribute name="serviceIdref" type="am2:H770IDType" use="required"/>
		<attribute name="serviceInstanceIdref" type="am2:ServiceInstanceIDType" use="required"/>
	</complexType>
</schema>