<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:mpeg:maf:schema:mediastreaming:baseprotocol:2007"
		xmlns:msbp="urn:mpeg:maf:schema:mediastreaming:baseprotocol:2007"  
		xmlns="http://www.w3.org/2001/XMLSchema" 
		elementFormDefault="qualified" attributeFormDefault="unqualified">
	<complexType name="ProtocolBaseType" abstract="true"/>
	<complexType name="ProtocolType" abstract="true">
		<complexContent>
			<extension base="msbp:ProtocolBaseType">
				<sequence>
					<element name="TransactionID" type="string"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- **************************************************************** -->
	<!--                           Ack                                    -->
	<!-- **************************************************************** -->
	<element name="Ack" type="msbp:AckType"/>
	<complexType name="AckType">
		<complexContent>
			<extension base="msbp:ProtocolType">
				<sequence minOccurs="0">
					<element ref="msbp:ProtocolResult"/>
				</sequence>
				<attribute name="Result" type="boolean" use="required"/>
			</extension>
		</complexContent>
	</complexType>
	<!-- **************************************************************** -->
	<!--                         ProtocolResult                           -->
	<!-- **************************************************************** -->	
	<element name="ProtocolResult" type="msbp:ProtocolResultType"/>
	<complexType name="ProtocolResultType">
		<complexContent>
			<extension base="msbp:ProtocolBaseType">
				<sequence>
					<choice>
						<element name="ResultCode" type="msbp:ResultCodeType"/>
						<element name="UserDefinedResult" type="string"/>
					</choice>
					<element name="DisplayString" type="string" minOccurs="0"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<simpleType name="ResultCodeType">
		<annotation>
			<documentation>
			"00" - RESERVED
			"01" - OK
			"02" - UNKNOWN_MESSAGE
			"03" - TIMEOUT
			"04" - UNABLE_TO_PROCESS 
			"05" - UNKNOWN_FAILURE 
			"06" - PERMISSION_DENIED
			"07" - BUSY
			</documentation>
		</annotation>
		<restriction base="hexBinary">
			<enumeration value="00"/>
			<enumeration value="01"/>
			<enumeration value="02"/>
			<enumeration value="03"/>
			<enumeration value="04"/>
			<enumeration value="05"/>
			<enumeration value="06"/>
			<enumeration value="07"/>
		</restriction>
	</simpleType>
</schema>
