<?xml version="1.0" encoding="UTF-8"?>
<xsi:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema" xmlns="http://avschemas.usb.org/v1/AVSchema"
	targetNamespace="http://avschemas.usb.org/v1/AVSchema" xml:lang="en" elementFormDefault="qualified">

	<!-- Change Log
2011-01-19:
- Limited ControlSizeType to only 1,2,3, or 4 bytes.
- Added rowBooleanControlType
- Added Pitch AVControl to Clock Source Entity
- Changed the structure of the Clock Multplier Entity (added surrounding video and audio elements)

2011-01-24
- Changed avDataAudioStreaming-INInterface to avDataAudioStreamingInInterface
- Changed avDataAudioStreaming-OUTInterface to avDataAudioStreamingOutInterface

2011-01-31
- Changed the wo0_1_1ControlType to include the encapsulating <ranges> element
- Changed the zero_65535_1Group to include the encapsulating <ranges> element
- Changed the one_65535_1Group to include the encapsulating <ranges> element

2011-02-14
- Restructured the Clock Source Entity
- Added a clockType to the Clock Source Entity
- Added a connector Control to the Clock Source Entity
- Added Audio Mixer and the required types
- Added video and audio surrounding elements to the Feature Unit

2011-02-25
- Added minOccurs="2" on inputPin element of inputPinsType
- Added minOccurs="2" on outputPin element of outputPinsType

2011-03-28
- Added videoFormat
- Added a usbInterfaceNr attribute to all the Streaming interfaces
- Added avDataVideoStreaming-InInterface
- Added avDataVideoStreaming-OutInterface
- Renamed formatTypeX to audioFormatTypeX
- Renamed formatTypeX_IDType to audioFormatTypeX-IdType

2011-04-18
- Removed T1_ prefix from audioFormatTypeI-IdType
- Removed T3_ prefix from audioFormatTypeIII-IdType
- Added videoSampleFormatTypeI and videoSampleFormatTypeI-IdType
- Added videoSampleFormatTypeII and videoSampleFormatTypeII-IdType
- Added videoFrameFormatType
- Added videoFrameOrganizationType
- Added videoBulkStream and videoBulkStreams
- Added videoIsoStream (has additional videoSIPSize element) and videoIsoStreams

2011-04-21
- Added the <audio> structure to the AVData Audio Streaming interfaces (contains the Stream Selector Control and the list of supported AudioStreams)
- Added the <video> structure to the AVData Video Streaming interfaces (contains the Stream Selector Control and the list of supported VideoStreams)
- Added similar structure to the SourceData and SinkData Controls (contains the Stream Selector Control and the list of supported VideoStreams)
- Removed Aspect Ratio from the VideoClusterType - is now part of the VideoFrame format

2011-04-25
- Renamed videoMode Control to videoModeSelector Control in Converter Unit
		- Changed range from [0, n-1] to [1, n]
- Renamed audioMode Control to audioModeSelector Control in Converter Unit
		- Changed range from [0, n-1] to [1, n]
			
2011-05-02
- Added Selector Unit
- Added selectorInputPinsType
- Added Graphics Equalizer to Feature Unit
- Added Bass Boost Control to Feature Unit
- Added Loudness Control to Feature Unit
- Added Input Gain Pad Control to Feature Unit
- Added Phase Inverter Control to Feature Unit
- Added AVData DP-Out Entity
- Added AVData DVI-Out Entity
- Added AVData VGA-Out Entity

2011-05-09
- Changed the VideoBulkStream and VideoIsoStream structure
		- Combined VideoFrameOrganization and VideoFrameFormat in one hierarchical structure: VideoFrame
		- Added videoCompressionType
		- Added videoCompression to VideoBulkStream
		
2011-05-16
- Reorganized VideoIsoStreams and VideoBulkStreams to better express allowed combinations of parameters
		-Renamed some types in the process
- Reorganized AudioStreams in the same fashion
		-Renamed some types in the process

2011-05-17
- Redesigned AudioStream clock advertizing
		- Removed Clock Entities
		- Added descriptive information to the AudioStream
		
2011-05-23
	- Introduced Clock Domain
	- Removed VideoFrame Rate as integral part of the VFID
	- Introduced separate parameter Video-/AudioFrame Rate as part of the Video-/AudioFrame structure
	
2011-05-24
	- Added Clock Domain structure to AVData Generic-In and -Out Entity
	- Added Clock Domain structure to AVData FrameBuffer Source and Sink Entity
	- Aligned naming conventions for -In and -Out Entities
		- Renamed AVData FrameBuffer Source Entity to AVData FrameBuffer-In Entity
		- Renamed AVData FrameBuffer Sink Entity to AVData FrameBuffer-Out Entity
		- Renamed AVData Video/Audio Streaming Out interface to AVData Video/Audio Streaming-In interface
		- Renamed AVData Video/Audio Streaming In interface to AVData Video/Audio Streaming-Out interface
		
2011-06-17
	- Added explicit Selector Control to Selector Unit (to provide a refID for the Control)
	
	2011-06-28
	- renamed xxxStream and xxxStreams to xxxStreamConfiguration and xxxStreamsConfiguration

2011-06-30
	- Allowed a Mixer Unit to only have one Input Pin
	
2011-07-14
	- Renamed AVStreamsConfig to AVStreamConfigList	
	- Moved AVStreamConfigList out of Alternate Settings one level up in the AVData hierarchy
	
2011-07-20
	- Removed AVData DP-Out, DVI-Out, and VGA-Out Entities
	- Added DP, DVI, and VGA types to avDataType
	- Removed validAltSettings Control entirely
	- Added Tunnel commands to all AVData Entities
	- Moved the type element in AVDataGeneric-In and -Out Entities one level up (out of the Alternate Setting level) and renamed it genericType
		-Added a type element at the Alternate Setting level to allow for vendor-specific description of the Alternate Setting
	- Replaced the Connector construct in the AVData HDMI-Out Entity with the more general Connectors construct (same as in the AVData Generic Entities)
		- Renamed connectorsType to connectorsControlType
	- Added a clockConnectorControlType to describe the single Clock Connector Control of a Clock Domain
	
2011-07-22
	- Moved the Clock Domain description one level up (out of the Alternate Setting level) in all AVData Entity Descriptions

2011-08-16
	- Added hdcp and timestamp attribute to the Extended AudioSample Formats
	- Added hdcp attribute to the VideoIsoStreamConfig element
	- Added hdcp attribute to the VideoBulkStreamConfig element
	
2011-08-24
	- Added Vendor-defined Compression Method support
	- Added additionalParams element to vendorVideoFrameFormatType
	- Added extensionType to restrict more how vendor extensions may behave. Instead of allowing anything (xsi:anyType), extensions must now reside
	  in a namespace other than http://avschemas.usb.org/v1/AVSchema

2011-08-31
	- Added WON and RWN to the wrType declaration

2011-09-12
	- Removed remaining reference to ValidAltSettings in AVControl Interface
	- Added XML Catalog so that external references can be resolved even when off-line
	- Cleanup: Replaced xxRowyyy by xxRoWyyy in all applicable type definitions

2011-09-22
	- fixed hdcp and timestamp attribute on Extended Audio Format Type III
	-->

	<xsi:annotation>
		<xsi:documentation>Created: 20100831</xsi:documentation>
		<xsi:documentation>Last Modified: 20110912</xsi:documentation>
		<xsi:documentation>Author: Geert Knapen</xsi:documentation>
		<xsi:documentation>Company: MCCI Corporation</xsi:documentation>
		<xsi:documentation>*************************************</xsi:documentation>
		<xsi:documentation>* MAIN ENTRY POINT: avConfiguration *</xsi:documentation>
		<xsi:documentation>*************************************</xsi:documentation>
	</xsi:annotation>

	<!-- Include Type Definitions -->
	
	<xsi:include schemaLocation="http://avschemas.usb.org/v1/AVTypes.xsd"/>

	<xsi:element name="avConfiguration">
		<xsi:annotation>
			<xsi:documentation>Describes a Configuration for the entire AVFunction. This is the root element for any AVDD XML Document. It contains all the class-specific information that fully describes the AVFunction.</xsi:documentation>
		</xsi:annotation>
		<xsi:complexType>
			<xsi:sequence>
				<xsi:element name="specVersion">
					<xsi:annotation>
						<xsi:documentation>Used to indicate the version of the AV Specification to which this AVSchema complies.</xsi:documentation>
					</xsi:annotation>
					<xsi:complexType>
						<xsi:sequence>
							<xsi:element name="major" type="xsi:unsignedByte">
								<xsi:annotation>
									<xsi:documentation>Indicates the major version number of the AV Specification. For example, for AV Specification 1.0, major=1.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element name="minor" type="xsi:unsignedByte">
								<xsi:annotation>
									<xsi:documentation>Indicates the major version number of the AV Specification. For example, for AV Specification 1.0, minor=0.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
						</xsi:sequence>
					</xsi:complexType>
				</xsi:element>
				<xsi:element ref="avControlInterface">
					<xsi:annotation>
						<xsi:documentation>Describes the mandatory AVControl interface.</xsi:documentation>
					</xsi:annotation>
				</xsi:element>
				<xsi:element ref="avDataVideoStreaming-InInterface" minOccurs="0" maxOccurs="255">
					<xsi:annotation>
						<xsi:documentation>Describes an AVData Video Streaming-In interface.</xsi:documentation>
					</xsi:annotation>
				</xsi:element>
				<xsi:element ref="avDataVideoStreaming-OutInterface" minOccurs="0" maxOccurs="255">
					<xsi:annotation>
						<xsi:documentation>Describes an AVData Video Streaming-Out interface.</xsi:documentation>
					</xsi:annotation>
				</xsi:element>
				<xsi:element ref="avDataAudioStreaming-InInterface" minOccurs="0" maxOccurs="255">
					<xsi:annotation>
						<xsi:documentation>Describes an AVData Audio Streaming-In interface.</xsi:documentation>
					</xsi:annotation>
				</xsi:element>
				<xsi:element ref="avDataAudioStreaming-OutInterface" minOccurs="0" maxOccurs="255">
					<xsi:annotation>
						<xsi:documentation>Describes an AVData Audio Streaming-Out interface.</xsi:documentation>
					</xsi:annotation>
				</xsi:element>
				<xsi:any namespace="##other" processContents="skip" minOccurs="0" maxOccurs="unbounded">
					<xsi:annotation>
						<xsi:documentation>Any vendor-specific extensions go here.</xsi:documentation>
					</xsi:annotation>
				</xsi:any>
			</xsi:sequence>
		</xsi:complexType>
	</xsi:element>

	<xsi:element name="avCluster" type="avClusterControlType">
		<xsi:annotation>
			<xsi:documentation>Describes the structure returned by a Cluster AVControl.</xsi:documentation>
		</xsi:annotation>
	</xsi:element>

	<xsi:element name="inputTerminal">
		<xsi:annotation>
			<xsi:documentation>Describes an Input Terminal.</xsi:documentation>
		</xsi:annotation>
		<xsi:complexType>
			<xsi:sequence>
				<xsi:element name="outputPin" type="outputPinType"/>
			</xsi:sequence>
			<xsi:attributeGroup ref="id"/>
			<xsi:attributeGroup ref="avDataId"/>
			<xsi:attributeGroup ref="refID"/>
		</xsi:complexType>
	</xsi:element>

	<xsi:element name="outputTerminal">
		<xsi:annotation>
			<xsi:documentation>Describes an Output Terminal.</xsi:documentation>
		</xsi:annotation>
		<xsi:complexType>
			<xsi:sequence>
				<xsi:element name="inputPin">
					<xsi:complexType>
						<xsi:sequence>
							<xsi:element name="sourceID" type="idType">
								<xsi:annotation>
									<xsi:documentation>This element contains the Entity ID of the Entity to which this Input Pin is connected.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element name="outputPinNumber" type="positiveUnsignedShort" default="1" minOccurs="0">
								<xsi:annotation>
									<xsi:documentation>This optional element contains the Output Pin Number of the Output Pin of the Entity to which this Input Pin is connected.</xsi:documentation>
									<xsi:documentation>The default value is 1. Only used when the Input Pin is connected to a multi-output Entity.</xsi:documentation>
									<xsi:documentation>There is no further information on the internal signal paths inside the Output Terminal.</xsi:documentation>
									<xsi:documentation>The Output Terminal accepts the entire AVCluster that enters its Input Pin and uses the information to finally produce the content as described by the corresponding AVData Entity.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
						</xsi:sequence>
					</xsi:complexType>
				</xsi:element>
			</xsi:sequence>
			<xsi:attributeGroup ref="id"/>
			<xsi:attributeGroup ref="avDataId"/>
			<xsi:attributeGroup ref="refID"/>
		</xsi:complexType>
	</xsi:element>

	<xsi:element name="mixerUnit">
		<xsi:annotation>
			<xsi:documentation>Describes a Mixer Unit.</xsi:documentation>
		</xsi:annotation>
		<xsi:complexType>
			<xsi:sequence>
				<xsi:element name="inputPins" type="inputPinsType"/>
				<xsi:element name="outputPin" type="outputPinType"/>
				<xsi:element name="audio">
					<xsi:complexType>
						<xsi:sequence>
							<xsi:element name="level" type="audioRoWIntLevelControlType" maxOccurs="unbounded"/>
						</xsi:sequence>
					</xsi:complexType>
				</xsi:element>
			</xsi:sequence>
			<xsi:attributeGroup ref="id"/>
			<xsi:attributeGroup ref="refID"/>
		</xsi:complexType>
	</xsi:element>

	<xsi:element name="selectorUnit">
		<xsi:annotation>
			<xsi:documentation>Describes a Selector Unit.</xsi:documentation>
		</xsi:annotation>
		<xsi:complexType>
			<xsi:sequence>
				<xsi:element name="inputPins" type="selectorInputPinsType"/>
				<xsi:element name="selector" type="rowSelectorControlType"/>
			</xsi:sequence>
			<xsi:attributeGroup ref="id"/>
			<xsi:attributeGroup ref="refID"/>
		</xsi:complexType>
	</xsi:element>

	<xsi:element name="featureUnit">
		<xsi:annotation>
			<xsi:documentation>Describes a Feature Unit.</xsi:documentation>
		</xsi:annotation>
		<xsi:complexType>
			<xsi:sequence>
				<xsi:element name="inputPin" type="inputPinType"/>
				<xsi:element name="video" minOccurs="0">
					<xsi:complexType>
						<xsi:sequence>
							<xsi:element name="brightness" type="videoRoWIntControlType" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>See volume element for details on the hierarchical structure (Substitute brightness for volume).</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element name="contrast" type="videoRoWIntControlType" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>See volume element for details on the hierarchical structure (Substitute contrast for volume).</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
						</xsi:sequence>
					</xsi:complexType>
				</xsi:element>
				<xsi:element name="audio" minOccurs="0">
					<xsi:complexType>
						<xsi:sequence>
							<xsi:element name="mute" type="audioRoWBooleanControlType" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>See volume element for details on the hierarchical structure (Substitute mute for volume).</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element name="volume" type="audioRoWIntControlType" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>Volume Controls are 'grouped' by identical characteristics:</xsi:documentation>
									<xsi:documentation>- the rw property of the Controls</xsi:documentation>
									<xsi:documentation>- the ranges properties of the controls</xsi:documentation>
									<xsi:documentation>All Volume Controls that share the same characteristics are 'grouped' together within one volume element.</xsi:documentation>
									<xsi:documentation>Within that volume element, all channels are enumerated that have identical Volume Controls.</xsi:documentation>
									<xsi:documentation>Consequently, multiple volume elements may exist, each element 'grouping' together Volume Controls with identical characteristics</xsi:documentation>
									<xsi:documentation>but with characteristics that are different from those of another 'group', represented by another volume element.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element name="bass" type="audioRoWIntControlType" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>See volume element for details on the hierarchical structure (Substitute bass for volume).</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element name="mid" type="audioRoWIntControlType" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>See volume element for details on the hierarchical structure (Substitute mid for volume).</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element name="treble" type="audioRoWIntControlType" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>See volume element for details on the hierarchical structure (Substitute treble for volume).</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element name="graphicEQ" type="graphicEQType" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>See volume element for details on the hierarchical structure (Substitute graphicEQ for volume).</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element name="delay" type="audioRoWIntControlType" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>See volume element for details on the hierarchical structure (Substitute delay for volume).</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element name="bassBoost" type="audioRoWBooleanControlType" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>See volume element for details on the hierarchical structure (Substitute bassBoost for volume).</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element name="loudness" type="audioRoWBooleanControlType" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>See volume element for details on the hierarchical structure (Substitute loudness for volume).</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element name="inputGain" type="audioRoWIntControlType" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>See volume element for details on the hierarchical structure (Substitute inputGain for volume).</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element name="autoInputGain" type="audioRoWBooleanControlType" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>See volume element for details on the hierarchical structure (Substitute autoInputGain for volume).</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element name="inputGainPad" type="audioRoWIntControlType" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>See volume element for details on the hierarchical structure (Substitute inputGainPad for volume).</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element name="phaseInverter" type="audioRoWBooleanControlType" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>See volume element for details on the hierarchical structure (Substitute phaseInverter for volume).</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
						</xsi:sequence>
					</xsi:complexType>
				</xsi:element>
			</xsi:sequence>
			<xsi:attributeGroup ref="id"/>
			<xsi:attributeGroup ref="refID"/>
		</xsi:complexType>
	</xsi:element>

	<xsi:element name="converterUnit">
		<xsi:annotation>
			<xsi:documentation>Describes a Converter Unit.</xsi:documentation>
		</xsi:annotation>
		<xsi:complexType>
			<xsi:sequence>
				<xsi:element name="inputPin" type="inputPinType"/>
				<xsi:element name="outputPin" type="outputPinType"/>
				<xsi:element name="video" minOccurs="0">
					<xsi:complexType>
						<xsi:sequence>
							<xsi:element name="videoModeSelector" type="rowSelectorControlType"/>
							<xsi:element name="videoModes">
								<xsi:complexType>
									<xsi:sequence>
										<xsi:element name="mode" type="videoModeType" maxOccurs="unbounded"/>
									</xsi:sequence>
								</xsi:complexType>
							</xsi:element>
						</xsi:sequence>
					</xsi:complexType>
				</xsi:element>
				<xsi:element name="audio" minOccurs="0">
					<xsi:complexType>
						<xsi:sequence>
							<xsi:element name="audioModeSelector" type="rowSelectorControlType"/>
							<xsi:element name="audioModes">
								<xsi:complexType>
									<xsi:sequence>
										<xsi:element name="mode" type="audioModeType" maxOccurs="unbounded"/>
									</xsi:sequence>
								</xsi:complexType>
							</xsi:element>
						</xsi:sequence>
					</xsi:complexType>
				</xsi:element>
			</xsi:sequence>
			<xsi:attributeGroup ref="id"/>
			<xsi:attributeGroup ref="refID"/>
		</xsi:complexType>
	</xsi:element>

	<xsi:element name="routerUnit">
		<xsi:annotation>
			<xsi:documentation>Describes a Router Unit.</xsi:documentation>
		</xsi:annotation>
		<xsi:complexType>
			<xsi:sequence>
				<xsi:element name="inputPins" type="routerInputPinsType"/>
				<xsi:element name="outputPin" type="routerOutputPinType"/>
			</xsi:sequence>
			<xsi:attributeGroup ref="id"/>
			<xsi:attributeGroup ref="refID"/>
		</xsi:complexType>
	</xsi:element>

	<xsi:element name="avDataGeneric-InEntity">
		<xsi:annotation>
			<xsi:documentation>Describes a Generic AVData Source Entity.</xsi:documentation>
		</xsi:annotation>
		<xsi:complexType>
			<xsi:sequence>
				<xsi:element name="genericType" type="avDataType"/>
				<xsi:element name="connectors" type="connectorsControlType" minOccurs="0"/>
				<xsi:element name="overload" type="onlyRefControlType" minOccurs="0"/>
				<xsi:element name="activeAltSetting" type="rwControlType"/>
				<xsi:element name="tunnel" type="onlyRefControlType" minOccurs="0"/>
				<xsi:element ref="clockDomain" minOccurs="0"/>
				<!-- alternateSetting 0 shall always be present but does not need any description (empty) -->
				<!-- Possible # of alternateSettings that can be advertized range from 1 to 255 -->
				<xsi:element name="alternateSetting" maxOccurs="255">
					<xsi:complexType>
						<xsi:sequence>
							<xsi:element name="type" minOccurs="0">
								<xsi:complexType>
									<xsi:sequence>
										<xsi:any namespace="##other" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
									</xsi:sequence>
								</xsi:complexType>
							</xsi:element>
						</xsi:sequence>
					</xsi:complexType>
				</xsi:element>
			</xsi:sequence>
			<xsi:attributeGroup ref="id"/>
			<xsi:attributeGroup ref="terminalID"/>
			<xsi:attributeGroup ref="linkID"/>
			<xsi:attributeGroup ref="refID"/>
		</xsi:complexType>
	</xsi:element>

	<xsi:element name="avDataGeneric-OutEntity">
		<xsi:annotation>
			<xsi:documentation>Describes a Generic AVData Sink Entity.</xsi:documentation>
		</xsi:annotation>
		<xsi:complexType>
			<xsi:sequence>
				<xsi:element name="genericType" type="avDataType"/>
				<xsi:element name="connectors" type="connectorsControlType" minOccurs="0"/>
				<xsi:element name="overload" type="onlyRefControlType" minOccurs="0"/>
				<xsi:element name="activeAltSetting" type="rwControlType"/>
				<xsi:element name="tunnel" type="onlyRefControlType" minOccurs="0"/>
				<xsi:element ref="clockDomain" minOccurs="0"/>
				<!-- alternateSetting 0 shall always be present but does not need any description (empty) -->
				<!-- Possible # of alternateSettings that can be advertized range from 1 to 255 -->
				<xsi:element name="alternateSetting" maxOccurs="255">
					<xsi:complexType>
						<xsi:sequence>
							<xsi:element name="type" minOccurs="0">
								<xsi:complexType>
									<xsi:sequence>
										<xsi:any namespace="##other" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
									</xsi:sequence>
								</xsi:complexType>
							</xsi:element>
						</xsi:sequence>
					</xsi:complexType>
				</xsi:element>
			</xsi:sequence>
			<xsi:attributeGroup ref="id"/>
			<xsi:attributeGroup ref="terminalID"/>
			<xsi:attributeGroup ref="linkID"/>
			<xsi:attributeGroup ref="refID"/>
		</xsi:complexType>
	</xsi:element>

	<xsi:element name="avDataFrameBuffer-InEntity">
		<xsi:annotation>
			<xsi:documentation>Describes an AVData FrameBuffer-In Entity.</xsi:documentation>
		</xsi:annotation>
		<xsi:complexType>
			<xsi:sequence>
				<xsi:element name="activeAltSetting" type="rwControlType"/>
				<xsi:element name="tunnel" type="onlyRefControlType" minOccurs="0"/>
				<xsi:element name="edid" type="onlyRefControlType"/>
				<xsi:element name="sourceData">
					<xsi:annotation>
						<xsi:documentation>Describes the SourceData AVControl.</xsi:documentation>
					</xsi:annotation>
					<xsi:complexType>
						<xsi:attributeGroup ref="wr"/>
						<xsi:attributeGroup ref="refID"/>
					</xsi:complexType>
				</xsi:element>
				<xsi:element name="streamSelector" type="rowSelectorControlType">
					<xsi:annotation>
						<xsi:documentation>Used to select the current VideoStream Configuration. Selects one Configuration from the VideoBulkStreamConfigList below.</xsi:documentation>
						<xsi:documentation>The VideoBulkStream number is implied by the order in which the videoBulkStream elements appear under the videoBulkStreamConfigList element.</xsi:documentation>
						<xsi:documentation>The first VideoBulkStream in the list of n is #1. The last VideoBulkStream is assigned #n.</xsi:documentation>
					</xsi:annotation>
				</xsi:element>
				<xsi:element ref="videoBulkStreamConfigList"/>
				<xsi:element ref="clockDomain" minOccurs="0"/>
				<!-- alternateSetting 0 shall always be present but does not need any description (empty) -->
				<!-- Possible # of alternateSettings that can be advertized range from 1 to 255 -->
				<xsi:element name="alternateSetting" maxOccurs="255">
					<xsi:complexType>
						<xsi:sequence>
							<xsi:element name="type" minOccurs="0">
								<xsi:complexType>
									<xsi:sequence>
										<xsi:any namespace="##other" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
									</xsi:sequence>
								</xsi:complexType>
							</xsi:element>
						</xsi:sequence>
					</xsi:complexType>
				</xsi:element>
			</xsi:sequence>
			<xsi:attributeGroup ref="id"/>
			<xsi:attributeGroup ref="terminalID"/>
			<xsi:attributeGroup ref="linkID"/>
			<xsi:attributeGroup ref="refID"/>
		</xsi:complexType>
	</xsi:element>

	<xsi:element name="avDataFrameBuffer-OutEntity">
		<xsi:annotation>
			<xsi:documentation>Describes an AVData FrameBuffer-Out Entity.</xsi:documentation>
		</xsi:annotation>
		<xsi:complexType>
			<xsi:sequence>
				<xsi:element name="activeAltSetting" type="rwControlType"/>
				<xsi:element name="tunnel" type="onlyRefControlType" minOccurs="0"/>
				<xsi:element name="sinkData">
					<xsi:annotation>
						<xsi:documentation>Describes the SinkData AVControl.</xsi:documentation>
					</xsi:annotation>
					<xsi:complexType>
						<xsi:attributeGroup ref="refID"/>
					</xsi:complexType>
				</xsi:element>
				<xsi:element name="streamSelector" type="rowSelectorControlType">
					<xsi:annotation>
						<xsi:documentation>Used to select the current VideoStream Configuration. Selects one Configuration from the VideoBulkStreamConfigList below.</xsi:documentation>
						<xsi:documentation>The VideoBulkStream number is implied by the order in which the videoBulkStream elements appear under the videoBulkStreamConfigList element.</xsi:documentation>
						<xsi:documentation>The first VideoBulkStream in the list of n is #1. The last VideoBulkStream is assigned #n.</xsi:documentation>
					</xsi:annotation>
				</xsi:element>
				<xsi:element ref="videoBulkStreamConfigList"/>
				<xsi:element ref="clockDomain" minOccurs="0"/>
				<!-- alternateSetting 0 shall always be present but does not need any description (empty) -->
				<!-- Possible # of alternateSettings that can be advertized range from 1 to 255 -->
				<xsi:element name="alternateSetting" maxOccurs="255">
					<xsi:complexType>
						<xsi:sequence>
							<xsi:element name="type" minOccurs="0">
								<xsi:complexType>
									<xsi:sequence>
										<xsi:any namespace="##other" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
									</xsi:sequence>
								</xsi:complexType>
							</xsi:element>
						</xsi:sequence>
					</xsi:complexType>
				</xsi:element>
			</xsi:sequence>
			<xsi:attributeGroup ref="id"/>
			<xsi:attributeGroup ref="terminalID"/>
			<xsi:attributeGroup ref="linkID"/>
			<xsi:attributeGroup ref="refID"/>
		</xsi:complexType>
	</xsi:element>

	<xsi:element name="avDataHDMI-OutEntity">
		<xsi:annotation>
			<xsi:documentation>Describes an AVData HDMI-Out Entity.</xsi:documentation>
		</xsi:annotation>
		<xsi:complexType>
			<xsi:sequence>
				<xsi:element name="connectors" type="connectorsControlType" minOccurs="0">
					<xsi:annotation>
						<xsi:documentation>Describes the HDMI connector. Only one Connector Control shall be present and its Number shall be #1.</xsi:documentation>
					</xsi:annotation>
				</xsi:element>
				<xsi:element name="activeAltSetting" type="rwControlType"/>
				<xsi:element name="tunnel" type="onlyRefControlType" minOccurs="0"/>
				<xsi:element name="cec" minOccurs="0">
					<xsi:complexType>
						<xsi:sequence>
							<xsi:element name="cecWrite">
								<xsi:complexType>
									<xsi:attributeGroup ref="wr"/>
									<xsi:attributeGroup ref="refID"/>
								</xsi:complexType>
							</xsi:element>
							<xsi:element name="cecWriteStatus" type="onlyRefControlType"/>
							<xsi:element name="cecRead" type="onlyRefControlType"/>
						</xsi:sequence>
					</xsi:complexType>
				</xsi:element>
				<!-- alternateSetting 0 shall always be present but does not need any description (empty) -->
				<!-- Possible # of alternateSettings that can be advertized range from 1 to 255 -->
				<xsi:element name="alternateSetting" maxOccurs="255">
					<xsi:complexType>
						<xsi:sequence>
							<xsi:element name="type" minOccurs="0">
								<xsi:complexType>
									<xsi:sequence>
										<xsi:any namespace="##other" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
									</xsi:sequence>
								</xsi:complexType>
							</xsi:element>
						</xsi:sequence>
					</xsi:complexType>
				</xsi:element>
			</xsi:sequence>
			<xsi:attributeGroup ref="id"/>
			<xsi:attributeGroup ref="terminalID"/>
			<xsi:attributeGroup ref="linkID"/>
			<xsi:attributeGroup ref="refID"/>
		</xsi:complexType>
	</xsi:element>

	<xsi:element name="avControlInterface">
		<xsi:annotation>
			<xsi:documentation>Describes the mandatory AVControl interface.</xsi:documentation>
		</xsi:annotation>
		<xsi:complexType>
			<xsi:sequence>
				<xsi:element name="avddInfo" type="onlyRefControlType"/>
				<xsi:element name="avddContent" type="onlyRefControlType"/>
				<xsi:element name="commit" type="wo0_1_1ControlType" minOccurs="0"/>
				<xsi:element name="powerLineFreq" type="rowUnsignedIntControlType" minOccurs="0"/>
				<xsi:element name="remoteOnly" type="rwControlType" minOccurs="0"/>
				<!-- alternateSetting 0 shall always be present but does not need any description (empty) -->
				<!-- Possible # of alternateSettings that can be advertized range from 1 to 255 -->
				<xsi:element name="alternateSetting" maxOccurs="255">
					<xsi:complexType>
						<xsi:sequence>
							<xsi:element ref="inputTerminal" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>Describes an Input Terminal.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element ref="outputTerminal" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>Describes an Output Terminal.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element ref="mixerUnit" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>Describes a Mixer Unit.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element ref="selectorUnit" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>Describes a Selector Unit.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element ref="featureUnit" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>Describes a Feature Unit.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element ref="converterUnit" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>Describes a Converter Unit.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element ref="routerUnit" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>Describes a Router Unit.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element ref="avDataGeneric-InEntity" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>Describes a Generic AVData Source Entity.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element ref="avDataGeneric-OutEntity" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>Describes a Generic AVData Sink Entity.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element ref="avDataFrameBuffer-InEntity" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>Describes an AVData FrameBuffer-In Entity.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element ref="avDataFrameBuffer-OutEntity" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>Describes an AVData FrameBuffer-Out Entity.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element ref="avDataHDMI-OutEntity" minOccurs="0" maxOccurs="unbounded">
								<xsi:annotation>
									<xsi:documentation>Describes an AVData HDMI-Out Entity.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:any namespace="##other" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
						</xsi:sequence>
					</xsi:complexType>
				</xsi:element>
			</xsi:sequence>
			<xsi:attribute name="id" type="positiveUnsignedShort" use="required" fixed="1">
				<xsi:annotation>
					<xsi:documentation>This attribute uniquely identifies the AVControl interface of the AVFunction.</xsi:documentation>
					<xsi:documentation>The value of this attribute shall always be set to 1 and shall be used in the EID parameter of any Control Sequence that addresses the AVControl interface.</xsi:documentation>
				</xsi:annotation>
			</xsi:attribute>
			<xsi:attributeGroup ref="refID"/>
		</xsi:complexType>
	</xsi:element>

	<xsi:element name="videoIsoStreamConfigList">
		<xsi:annotation>
			<xsi:documentation>Describes the list of supported VideoIsoStream Configurations as used by an AVData Video Streaming interface, using an isochronous endpoint.</xsi:documentation>
		</xsi:annotation>
		<xsi:complexType>
			<xsi:sequence>
				<xsi:element name="videoIsoStreamConfig" maxOccurs="unbounded">
					<xsi:complexType>
						<xsi:annotation>
							<xsi:documentation>Describes one VideoIsoStream Configuration when streaming over an AVData Video Streaming interface (isochronous).</xsi:documentation>
						</xsi:annotation>
						<xsi:sequence>
							<xsi:element name="videoBundle" type="videoClusterType">
								<xsi:annotation>
									<xsi:documentation>Describes the VideoBundle structure.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element name="videoFrame" type="videoFrameType">
								<xsi:annotation>
									<xsi:documentation>Describes the VideoFrame Organization and Format.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:choice>
								<xsi:element name="videoSampleTypeI" type="videoSampleIsoTypeIType">
									<xsi:annotation>
										<xsi:documentation>Describes the VideoSample TypeI Format and Compression Mode for the VideoIsoStream.</xsi:documentation>
									</xsi:annotation>
								</xsi:element>
								<xsi:element name="videoSampleTypeII" type="videoSampleIsoTypeIIType">
									<xsi:annotation>
										<xsi:documentation>Describes the VideoSample TypeII Format and Compression Mode for the VideoIsoStream.</xsi:documentation>
									</xsi:annotation>
								</xsi:element>
							</xsi:choice>
							<xsi:element name="videoSIPSize" type="xsi:unsignedShort"/>
						</xsi:sequence>
						<xsi:attribute name="hdcp" type="xsi:boolean" default="false">
							<xsi:annotation>
								<xsi:documentation>Indicates whether the AVData Entity supports the HDCP Protocol for this VideoIsoStream Configuration.</xsi:documentation>
							</xsi:annotation>
						</xsi:attribute>
					</xsi:complexType>
				</xsi:element>
			</xsi:sequence>
		</xsi:complexType>
	</xsi:element>

	<xsi:element name="videoBulkStreamConfigList">
		<xsi:annotation>
			<xsi:documentation>Describes the list of supported VideoBulkStream Configurations as used by an AVData FrameBuffer Entity, using the CBP.</xsi:documentation>
		</xsi:annotation>
		<xsi:complexType>
			<xsi:sequence>
				<xsi:element name="videoBulkStreamConfig" maxOccurs="unbounded">
					<xsi:complexType>
						<xsi:annotation>
							<xsi:documentation>Describes one VideoBulkStream Configuration when streaming over an AVData FrameBuffer Entity (bulk) .</xsi:documentation>
						</xsi:annotation>
						<xsi:sequence>
							<xsi:element name="videoBundle" type="videoClusterType">
								<xsi:annotation>
									<xsi:documentation>Describes the VideoBundle structure.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element name="videoFrame" type="videoFrameType">
								<xsi:annotation>
									<xsi:documentation>Describes the VideoFrame Organization and Format.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:choice>
								<xsi:element name="videoSampleTypeI" type="videoSampleBulkTypeIType">
									<xsi:annotation>
										<xsi:documentation>Describes the VideoSample TypeI Format and Compression Mode for the VideoBulkStream.</xsi:documentation>
									</xsi:annotation>
								</xsi:element>
								<xsi:element name="videoSampleTypeII" type="videoSampleBulkTypeIIType">
									<xsi:annotation>
										<xsi:documentation>Describes the VideoSample TypeII Format and Compression Mode for the VideoBulkStream.</xsi:documentation>
									</xsi:annotation>
								</xsi:element>
							</xsi:choice>
						</xsi:sequence>
						<xsi:attribute name="hdcp" type="xsi:boolean" default="false">
							<xsi:annotation>
								<xsi:documentation>Indicates whether the AVData Entity supports the HDCP Protocol for this VideoBulkStream Configuration.</xsi:documentation>
							</xsi:annotation>
						</xsi:attribute>
					</xsi:complexType>
				</xsi:element>
			</xsi:sequence>
		</xsi:complexType>
	</xsi:element>

	<xsi:element name="audioStreamConfigList">
		<xsi:annotation>
			<xsi:documentation>Describes the list of supported AudioStream Configurations as used by an AVData Audio Streaming interface, using an isochronous endpoint..</xsi:documentation>
		</xsi:annotation>
		<xsi:complexType>
			<xsi:sequence>
				<xsi:element name="audioStreamConfig" maxOccurs="unbounded">
					<xsi:complexType>
						<xsi:annotation>
							<xsi:documentation>Describes one AudioStream Configuration when streaming over an AVData Audio Streaming interface (isochronous).</xsi:documentation>
						</xsi:annotation>
						<xsi:sequence>
							<xsi:element name="audioBundle" type="audioClusterType">
								<xsi:annotation>
									<xsi:documentation>Describes the AudioBundle structure.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element name="audioFrame" type="audioFrameType">
								<xsi:annotation>
									<xsi:documentation>Describes the AudioFrame structure.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:choice>
								<xsi:annotation>
									<xsi:documentation>Describes the possible AudioSample Format Types.</xsi:documentation>
								</xsi:annotation>
								<xsi:element name="audioSampleTypeI" type="audioSampleTypeIType">
									<xsi:annotation>
										<xsi:documentation>Describes the AudioSample Type I Format.</xsi:documentation>
									</xsi:annotation>
								</xsi:element>
								<xsi:element name="audioSampleTypeIII" type="audioSampleTypeIIIType">
									<xsi:annotation>
										<xsi:documentation>Describes the AudioSample Type III Format.</xsi:documentation>
									</xsi:annotation>
								</xsi:element>
								<xsi:element name="extendedAudioSampleTypeI" type="extendedAudioSampleTypeIType">
									<xsi:annotation>
										<xsi:documentation>Describes the Extended AudioSample Type I Format.</xsi:documentation>
									</xsi:annotation>
								</xsi:element>
								<xsi:element name="extendedAudioSampleTypeIII" type="extendedAudioSampleTypeIIIType">
									<xsi:annotation>
										<xsi:documentation>Describes the Extended AudioSample Type IIII Format.</xsi:documentation>
									</xsi:annotation>
								</xsi:element>
							</xsi:choice>
							<xsi:element name="audioSIPSize" type="xsi:unsignedShort" minOccurs="0">
								<xsi:annotation>
									<xsi:documentation>Describes the size in bytes of an audio SIP. Only used for audio bursting</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
						</xsi:sequence>
					</xsi:complexType>
				</xsi:element>
			</xsi:sequence>
		</xsi:complexType>
	</xsi:element>

	<xsi:element name="clockDomain">
		<xsi:annotation>
			<xsi:documentation>Describes the characteristics of a Clock Domain identified by the clockDomainID attribute.</xsi:documentation>
		</xsi:annotation>
		<xsi:complexType>
			<xsi:choice>
				<xsi:element name="source">
					<xsi:annotation>
						<xsi:documentation>Indicates that this AVData Entity is driving the Clock Domain.</xsi:documentation>
					</xsi:annotation>
					<xsi:complexType>
						<xsi:sequence>
							<xsi:element name="referenceClock" type="onlyRefControlType" minOccurs="0">
								<xsi:annotation>
									<xsi:documentation>Used to indicate the Clock Domain Reference Clock frequency (in Hz.).</xsi:documentation>
									<xsi:documentation>Can optionally be used by AVData Streaming interfaces to indicate the reference frequency from which the actual operating frequency is derived.</xsi:documentation>
									<xsi:documentation>- The actual operating frequency is indicated by the Video- or AudioFrame clock element of the Stream configuration hierarchy.</xsi:documentation>
									<xsi:documentation>- The actual operating clock and the Reference Clock are always synchronous.</xsi:documentation>
									<xsi:documentation>- If omitted, then the actual operating clock and the Reference Clock shall be identical.</xsi:documentation>
									<xsi:documentation>Mandatory for AVData Entities (excluding AVData Streaming interfaces) that act as a Clock Domain Source.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element name="clockConnector" type="clockConnectorControlType" minOccurs="0">
								<xsi:annotation>
									<xsi:documentation>Describes the connector through which the clock signal enters the AVFunction.</xsi:documentation>
									<xsi:documentation>Only allowed for AVData Entities (excluding AVData Streaming interfaces) that act as a Clock Domain Source and receive their Reference Clock through an external connector.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element name="clockValid" type="onlyRefControlType" minOccurs="0">
								<xsi:annotation>
									<xsi:documentation>Used to indicate whether the AVData Entity is currently receiving a valid clock signal.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
							<xsi:element name="pitch" type="rowBooleanControlType" minOccurs="0">
								<xsi:annotation>
									<xsi:documentation>Used to enable a wider variation in sampling frequency without losing lock.</xsi:documentation>
									<xsi:documentation>Only allowed when the associated clock recovery circuitry is Adaptive.</xsi:documentation>
								</xsi:annotation>
							</xsi:element>
						</xsi:sequence>
					</xsi:complexType>
				</xsi:element>
				<xsi:element name="sink" type="emptyElementType">
					<xsi:annotation>
						<xsi:documentation>Indicates that this AVData Entity is driven by the Clock Domain.</xsi:documentation>
					</xsi:annotation>
				</xsi:element>
			</xsi:choice>
			<xsi:attribute name="clockDomainID" type="positiveUnsignedShort" use="required"/>
		</xsi:complexType>
	</xsi:element>

	<xsi:element name="avDataVideoStreaming-InInterface">
		<xsi:annotation>
			<xsi:documentation>Describes an AVData Video Streaming-In interface.</xsi:documentation>
		</xsi:annotation>
		<xsi:complexType>
			<xsi:sequence>
				<xsi:element name="tunnel" type="onlyRefControlType" minOccurs="0"/>
				<xsi:element name="streamSelector" type="rowSelectorControlType">
					<xsi:annotation>
						<xsi:documentation>Used to select the current VideoStream Configuration. Selects one Configuration from the VideoIsoStreamConfigList list below.</xsi:documentation>
						<xsi:documentation>The VideoIsoStream number is implied by the order in which the videoIsoStream elements appear under the videoIsoStreamConfigList element.</xsi:documentation>
						<xsi:documentation>The first VideoIsoStream in the list of n is #1. The last VideoIsoStream is assigned #n.</xsi:documentation>
					</xsi:annotation>
				</xsi:element>
				<xsi:element ref="videoIsoStreamConfigList"/>
				<xsi:element ref="clockDomain"/>
				<!-- alternateSetting 0 shall always be present but does not need any description (empty) -->
				<!-- Possible # of alternateSettings that can be advertized range from 1 to 255 -->
				<xsi:element name="alternateSetting" maxOccurs="255">
					<xsi:complexType>
						<xsi:sequence>
							<xsi:element name="type" minOccurs="0">
								<xsi:complexType>
									<xsi:sequence>
										<xsi:any namespace="##other" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
									</xsi:sequence>
								</xsi:complexType>
							</xsi:element>
						</xsi:sequence>
					</xsi:complexType>
				</xsi:element>
			</xsi:sequence>
			<xsi:attributeGroup ref="id"/>
			<xsi:attributeGroup ref="usbInterfaceNr"/>
			<xsi:attributeGroup ref="terminalID"/>
			<xsi:attributeGroup ref="linkID"/>
			<xsi:attributeGroup ref="refID"/>
		</xsi:complexType>
	</xsi:element>

	<xsi:element name="avDataVideoStreaming-OutInterface">
		<xsi:annotation>
			<xsi:documentation>Describes an AVData Audio Streaming-Out interface.</xsi:documentation>
		</xsi:annotation>
		<xsi:complexType>
			<xsi:sequence>
				<xsi:element name="tunnel" type="onlyRefControlType" minOccurs="0"/>
				<xsi:element name="streamSelector" type="rowSelectorControlType">
					<xsi:annotation>
						<xsi:documentation>Used to select the current VideoStream Configuration. Selects one Configuration from the VideoIsoStreamConfigList below.</xsi:documentation>
						<xsi:documentation>The VideoIsoStream number is implied by the order in which the videoIsoStream elements appear under the videoIsoStreamConfigList element.</xsi:documentation>
						<xsi:documentation>The first VideoIsoStream in the list of n is #1. The last VideoIsoStream is assigned #n.</xsi:documentation>
					</xsi:annotation>
				</xsi:element>
				<xsi:element ref="videoIsoStreamConfigList"/>
				<xsi:element ref="clockDomain"/>
				<!-- alternateSetting 0 shall always be present but does not need any description (empty) -->
				<!-- Possible # of alternateSettings that can be advertized range from 1 to 255 -->
				<xsi:element name="alternateSetting" maxOccurs="255">
					<xsi:complexType>
						<xsi:sequence>
							<xsi:element name="type" minOccurs="0">
								<xsi:complexType>
									<xsi:sequence>
										<xsi:any namespace="##other" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
									</xsi:sequence>
								</xsi:complexType>
							</xsi:element>
						</xsi:sequence>
					</xsi:complexType>
				</xsi:element>
			</xsi:sequence>
			<xsi:attributeGroup ref="id"/>
			<xsi:attributeGroup ref="usbInterfaceNr"/>
			<xsi:attributeGroup ref="terminalID"/>
			<xsi:attributeGroup ref="linkID"/>
			<xsi:attributeGroup ref="refID"/>
		</xsi:complexType>
	</xsi:element>

	<xsi:element name="avDataAudioStreaming-InInterface">
		<xsi:annotation>
			<xsi:documentation>Describes an AVData Audio Streaming-In interface.</xsi:documentation>
		</xsi:annotation>
		<xsi:complexType>
			<xsi:sequence>
				<xsi:element name="tunnel" type="onlyRefControlType" minOccurs="0"/>
				<xsi:element name="language" type="rwControlType" minOccurs="0"/>
				<xsi:element name="streamSelector" type="rowSelectorControlType">
					<xsi:annotation>
						<xsi:documentation>Used to select the current AudioStream Configuration. Selects one Configuration from the AudioStreamConfigList below.</xsi:documentation>
						<xsi:documentation>The AudioStream number is implied by the order in which the audioStream elements appear under the audioStreamConfigList element.</xsi:documentation>
						<xsi:documentation>The first AudioStream in the list of n is #1. The last AudioStream is assigned #n.</xsi:documentation>
					</xsi:annotation>
				</xsi:element>
				<xsi:element ref="audioStreamConfigList"/>
				<xsi:element ref="clockDomain"/>
				<!-- alternateSetting 0 shall always be present but does not need any description (empty) -->
				<!-- Possible # of alternateSettings that can be advertized range from 1 to 255 -->
				<xsi:element name="alternateSetting" maxOccurs="255">
					<xsi:complexType>
						<xsi:sequence>
							<xsi:element name="type" minOccurs="0">
								<xsi:complexType>
									<xsi:sequence>
										<xsi:any namespace="##other" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
									</xsi:sequence>
								</xsi:complexType>
							</xsi:element>
						</xsi:sequence>
					</xsi:complexType>
				</xsi:element>
			</xsi:sequence>
			<xsi:attributeGroup ref="id"/>
			<xsi:attributeGroup ref="usbInterfaceNr"/>
			<xsi:attributeGroup ref="terminalID"/>
			<xsi:attributeGroup ref="linkID"/>
			<xsi:attributeGroup ref="refID"/>
		</xsi:complexType>
	</xsi:element>

	<xsi:element name="avDataAudioStreaming-OutInterface">
		<xsi:annotation>
			<xsi:documentation>Describes an AVData Audio Streaming-Out interface.</xsi:documentation>
		</xsi:annotation>
		<xsi:complexType>
			<xsi:sequence>
				<xsi:element name="tunnel" type="onlyRefControlType" minOccurs="0"/>
				<xsi:element name="streamSelector" type="rowSelectorControlType">
					<xsi:annotation>
						<xsi:documentation>Used to select the current AudioStream Configuration. Selects one Configuration from the AudioStreamConfigList below.</xsi:documentation>
						<xsi:documentation>The AudioStream number is implied by the order in which the audioStream elements appear under the audioStreamConfigList element.</xsi:documentation>
						<xsi:documentation>The first AudioStream in the list of n is #1. The last AudioStream is assigned #n.</xsi:documentation>
					</xsi:annotation>
				</xsi:element>
				<xsi:element ref="audioStreamConfigList"/>
				<xsi:element ref="clockDomain"/>
				<!-- alternateSetting 0 shall always be present but does not need any description (empty) -->
				<!-- Possible # of alternateSettings that can be advertized range from 1 to 255 -->
				<xsi:element name="alternateSetting" maxOccurs="255">
					<xsi:complexType>
						<xsi:sequence>
							<xsi:element name="type" minOccurs="0">
								<xsi:complexType>
									<xsi:sequence>
										<xsi:any namespace="##other" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
									</xsi:sequence>
								</xsi:complexType>
							</xsi:element>
						</xsi:sequence>
					</xsi:complexType>
				</xsi:element>
			</xsi:sequence>
			<xsi:attributeGroup ref="id"/>
			<xsi:attributeGroup ref="usbInterfaceNr"/>
			<xsi:attributeGroup ref="terminalID"/>
			<xsi:attributeGroup ref="linkID"/>
			<xsi:attributeGroup ref="refID"/>
		</xsi:complexType>
	</xsi:element>
</xsi:schema>

