-- XSD schema extracted from ITU-T H.741.3 (2012) Amd. 1 (02/2015)
<?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>