-- XSD schema extracted from ITU-T H.741.1 (2012) Amd. 1 (01/2013)
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns:am1="urn:itut:iptv:am:part1:2012"
xmlns:am2="urn:itut:iptv:am:part2:2012"
xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:itut:iptv:am:part1:2012"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<annotation>
<documentation xml:lang="en"><![CDATA[
This schema (H.770-v1.xsd) contains the elements to be
included in [b-ITU-T H.770] for the discovery of AM services,
which are described in Appendix I of H.741.1.doc.
The namespace of the schema is "urn:itut:iptv:am:part1:2012", and
its preferred namespace prefix is "am1".]]>
</documentation>
</annotation>
<import namespace="urn:itut:iptv:am:part2:2012" schemaLocation="H.741.2-v1.xsd"/>
<import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
<!-- ================================================================ -->
<!-- ================================================================ -->
<!-- Data Elements for H.741 Part.1 -->
<!-- ================================================================ -->
<!-- ================================================================ -->
<!-- ============================================== -->
<!-- Elements for the discovery of AM services (Table I.1) -->
<!-- ============================================== -->
<element name="AMServiceDiscovery" type="am1:AMServiceDiscoveryType"/>
<complexType name="AMServiceDiscoveryType">
<sequence>
<element name="PermissionOperationModes" type="am1:PermissionLevelType" maxOccurs="unbounded"/>
<element name="Addresses" type="am1:AddressesType"/>
<element name="ConfigurationModes" type="am1:ConfigurationModesType"/>
<element name="MeasurementReportTransportProtocol" type="am1:ProtocolType" maxOccurs="unbounded"/>
<element name="CryptographicProtocol" type="am1:CryptographicProtocolWithPreferredType" maxOccurs="unbounded"/>
<element name="Compression" type="am1:CompressionWithPreferredType" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="preferred" type="boolean" use="optional" default="false"/>
</complexType>
<!-- ============================================== -->
<simpleType name="PermissionLevelType">
<restriction base="NMTOKEN">
<enumeration value="External"/>
<enumeration value="Internal"/>
<enumeration value="Hybrid"/>
</restriction>
</simpleType>
<!-- ============================================== -->
<complexType name="AddressesType">
<sequence>
<element name="Unicast" type="am1:UnicastType" minOccurs="0"/>
<element name="Multicast" type="am1:MulticastType" minOccurs="0"/>
</sequence>
</complexType>
<complexType name="UnicastType">
<sequence>
<element name="ConfigRequestAddress" type="am2:URL" minOccurs="0"/>
<element name="ErrorAddress" type="am2:URL" minOccurs="0"/>
</sequence>
</complexType>
<complexType name="MulticastType">
<sequence>
<element name="MulticastHybridAddress" type="am1:MulticastAddressType" minOccurs="0"/>
<element name="MulticastPushAddress" type="am1:MulticastAddressType" minOccurs="0"/>
<element name="ErrorAddress" type="am2:URL" minOccurs="0"/>
<element name="AckAddress" type="am2:URL" minOccurs="0"/>
</sequence>
</complexType>
<complexType name="MulticastAddressType">
<simpleContent>
<extension base="am2:IpAddressType">
<attribute name="port" type="unsignedShort" use="required"/>
<attribute name="sourceAddress" type="am2:IpAddressType" use="required"/>
</extension>
</simpleContent>
</complexType>
<!-- ============================================== -->
<complexType name="ConfigurationModesType">
<sequence>
<element name="Push" type="am1:ConfigurationModeType" minOccurs="0"/>
<element name="Pull" type="am1:ConfigurationModeType" minOccurs="0"/>
<element name="Hybrid" type="am1:ConfigurationModeType" minOccurs="0"/>
</sequence>
</complexType>
<complexType name="ConfigurationModeType">
<sequence>
<element name="TransportProtocol" type="am1:ProtocolType" maxOccurs="unbounded"/>
<!-- The element name "TransportProtocols" is changed into "TransportProtocol" for consistency with the -->
</sequence>
<attribute name="preferred" type="boolean" use="optional" default="false"/>
</complexType>
<complexType name="ProtocolType">
<simpleContent>
<extension base="NMTOKEN">
<attribute name="preferred" type="boolean" use="optional" default="false"/>
</extension>
</simpleContent>
</complexType>
<!-- ============================================== -->
<complexType name="CryptographicProtocolWithPreferredType">
<simpleContent>
<extension base="am2:CryptographicProtocolType">
<attribute name="preferred" type="boolean" use="optional" default="false"/>
</extension>
</simpleContent>
</complexType>
<!-- ============================================== -->
<complexType name="CompressionWithPreferredType">
<simpleContent>
<extension base="am2:CompressionType">
<attribute name="preferred" type="boolean" use="optional" default="false"/>
</extension>
</simpleContent>
</complexType>
</schema>