<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:dmp:idp:mxmdp:extensions:2009"
		xmlns:dmp-mxmdpx="urn:dmp:idp:mxmdp:extensions:2009"
		xmlns="http://www.w3.org/2001/XMLSchema"  
		xmlns:dmp-mxmdx="urn:dmp:idp:mxmd:extensions:2009"
		xmlns:mxmd="urn:mpeg:mpeg-m:schema:domain:2009" 
		xmlns:mxmdp="urn:mpeg:mpeg-m:schema:domainprotocol:2009"
		xmlns:mxmbp="urn:mpeg:mpeg-m:schema:baseprotocol:2009"  
		elementFormDefault="qualified" attributeFormDefault="unqualified">
	<import namespace="urn:mpeg:mpeg-m:schema:domain:2009" schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mxmd.xsd"/>
	<import namespace="urn:mpeg:mpeg-m:schema:domainprotocol:2009" schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mxmdp.xsd"/>
	<import namespace="urn:dmp:idp:mxmd:extensions:2009" schemaLocation="http://www.dmpf.org/schemas/dmp-mxmdx.xsd"/>
	<import namespace="urn:mpeg:mpeg-m:schema:baseprotocol:2009" schemaLocation="http://mxm.wg11.sc29.org/wp-content/uploads/2009/12/mxmbp.xsd"/>
	<!-- **************************************************************** -->
	<!--                        RequestDomainPublicInfo                   -->
	<!-- **************************************************************** -->
	<element name="RequestDomainPublicInfo" type="dmp-mxmdpx:RequestDomainPublicInfoType"/>
	<complexType name="RequestDomainPublicInfoType">
		<complexContent>
			<extension base="mxmdp:DomainProtocolType">
				<sequence>
					<element ref="mxmd:DomainID"/>
					<element ref="mxmd:ContentGroupID" minOccurs="0" maxOccurs="unbounded"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- **************************************************************** -->
	<!--           RequestDomainPublicInfoResponse                   -->
	<!-- **************************************************************** -->
	<element name="RequestDomainPublicInfoResponse" type="dmp-mxmdpx:RequestDomainPublicInfoResponseType"/>
	<complexType name="RequestDomainPublicInfoResponseType">
		<complexContent>
			<extension base="mxmdp:DomainProtocolType">
				<sequence>
					<element ref="dmp-mxmdx:DomainPublicInfo"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- **************************************************************** -->
	<!--                        AddDomainRequest                          -->
	<!-- **************************************************************** -->
	<element name="AddDomainRequest" type="dmp-mxmdpx:DomainRelationType"/>
	<complexType name="DomainRelationType">
		<complexContent>
			<extension base="mxmdp:DomainProtocolType">
				<sequence>
					<element name="ChildDomainID" type="mxmd:DomainIDType"/>
					<element name="ChildDomainCredentials" type="mxmd:DomainCredentialType"/>
					<element name="ParentDomainID" type="mxmd:DomainIDType"/>
					<element name="ParentDomainCredentials" type="mxmd:DomainCredentialType"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- **************************************************************** -->
	<!--                        ConnectChildDomain                            -->
	<!-- **************************************************************** -->
	<element name="ConnectChildDomain" type="dmp-mxmdpx:ConnectChildDomainType"/>
	<complexType name="ConnectChildDomainType">
		<complexContent>
			<extension base="mxmdp:DomainProtocolType">
				<sequence>
					<element ref="dmp-mxmdx:ChildDomainInfo"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- **************************************************************** -->
	<!--                        ConnectParentDomain                          -->
	<!-- **************************************************************** -->
	<element name="ConnectParentDomain" type="dmp-mxmdpx:ConnectParentDomainType"/>
	<complexType name="ConnectParentDomainType">
		<complexContent>
			<extension base="mxmdp:DomainProtocolType">
				<sequence>
					<element ref="dmp-mxmdx:ParentDomainInfo"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- **************************************************************** -->
	<!--                        UpdateParentDomain                                -->
	<!-- **************************************************************** -->
	<element name="UpdateParentDomain" type="dmp-mxmdpx:UpdateParentDomainType"/>
	<complexType name="UpdateParentDomainType">
		<complexContent>
			<extension base="mxmdp:DomainProtocolType">
				<sequence>
					<element name="ParentDomainCredentials" type="mxmd:DomainCredentialType"/>
					<element ref="dmp-mxmdx:ChildDomainInfo"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- **************************************************************** -->
	<!--                        UpdateChildDomain                                -->
	<!-- **************************************************************** -->
	<element name="UpdateChildDomain" type="dmp-mxmdpx:UpdateChildDomainType"/>
	<complexType name="UpdateChildDomainType">
		<complexContent>
			<extension base="mxmdp:DomainProtocolType">
				<sequence>
					<element name="ChildDomainID" type="mxmd:DomainIDType"/>
					<element name="ChildDomainCredentials" type="mxmd:DomainCredentialType"/>
					<element ref="dmp-mxmdx:ParentDomainInfo"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- **************************************************************** -->
	<!--                        LeaveDomainRequest                                -->
	<!-- **************************************************************** -->
	<element name="LeaveDomainRequest" type="dmp-mxmdpx:DomainRelationType"/>
	<!-- The messages below are not ready yet -->
	<!-- **************************************************************** -->
	<!--                        DisconnectDomain                                -->
	<!-- **************************************************************** -->
	<element name="DisconnectDomain" type="dmp-mxmdpx:DomainRelationType"/>
	<!-- **************************************************************** -->
	<!--                        ShareDomainRequest                           -->
	<!-- **************************************************************** -->
	<element name="ShareDomainRequest" type="dmp-mxmdpx:DomainRelationType"/>
	<!-- **************************************************************** -->
	<!--                             ShareDomain                                  -->
	<!-- **************************************************************** -->
	<element name="ShareDomain" type="dmp-mxmdpx:ShareDomainType"/>
	<complexType name="ShareDomainType">
		<complexContent>
			<extension base="mxmdp:DomainProtocolType">
				<sequence>
					<element ref="dmp-mxmdx:DomainManageInfo"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- **************************************************************** -->
	<!--                         DomainDiscoveryRequest                   -->
	<!-- **************************************************************** -->	
	<element name="DomainDiscoveryRequest" type="dmp-mxmdpx:DomainDiscoveryRequestType"/>
	<complexType name="DomainDiscoveryRequestType">
		<complexContent>
			<extension base="mxmdp:DomainProtocolType">
				<sequence minOccurs="0" maxOccurs="unbounded">
					<element name="Condition">
						<complexType>
							<choice minOccurs="0" maxOccurs="unbounded">
								<element ref="mxmd:DomainID"/>
								<element ref="mxmd:DeviceID"/>
								<element ref="mxmd:UserID"/>
							</choice>
						</complexType>
					</element>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- **************************************************************** -->
	<!--                         DomainDiscoveryResponse                   -->
	<!-- **************************************************************** -->	
	<element name="DomainDiscoveryResponse" type="dmp-mxmdpx:DomainDiscoveryResponseType"/>
	<complexType name="DomainDiscoveryResponseType">
		<complexContent>
			<extension base="mxmdp:DomainProtocolType">
				<sequence>
					<element ref="mxmd:DomainManagerID"/>
					<element name="Location" type="anyURI" minOccurs="0"/>
					<element ref="mxmd:DomainID" maxOccurs="unbounded"/>
				</sequence>
			<attribute name="DMDStatus" type="dmp-mxmdpx:DMDStatusType"/>
			</extension>
		</complexContent>
	</complexType>	
	<simpleType name="DMDStatusType">
		<restriction base="string">
			<enumeration value="BUSY"/>
			<enumeration value="READY"/>
		</restriction>
	</simpleType>		
</schema>
