<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns:dmprrdp="urn:dmp:idp:Represent:RightsDataProtocol:2008" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:msbp="urn:mpeg:maf:schema:mediastreaming:baseprotocol:2007" xmlns:dii="urn:mpeg:mpeg21:2002:01-DII-NS" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" targetNamespace="urn:dmp:idp:Represent:RightsDataProtocol:2008" xmlns:dmprdip="urn:dmp:idp:Represent:DeviceIdentifierProtocol:2007" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<import namespace="urn:mpeg:maf:schema:mediastreaming:baseprotocol:2007" schemaLocation="http://www.dmpf.org/schemas/msbp.xsd"/>
	<import namespace="urn:mpeg:mpeg21:2002:01-DII-NS" schemaLocation="http://www.dmpf.org/schemas/dii.xsd"/>
	<import namespace="urn:dmp:idp:Represent:DeviceIdentifierProtocol:2007" schemaLocation="http://www.dmpf.org/schemas/dmprdip.xsd"/>
	<import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>
	<!-- **************************************************************** -->
	<!--                        RRDProtocolType                           -->
	<!-- **************************************************************** -->
	<complexType name="RRDProtocolType">
		<complexContent>
			<extension base="msbp:ProtocolType"/>
		</complexContent>
	</complexType>
	
	<!-- **************************************************************** -->
	<!--                        Some Basic Types                           		-->
	<!-- **************************************************************** -->
	
		<simpleType name="IPEntityType">
			<restriction base="string">
				<enumeration value="Work"/>
				<enumeration value="Adaptation"/>
				<enumeration value="Manifestation"/>
				<enumeration value="Instance"/>
				<enumeration value="Copy"/>
				<enumeration value="Product"/>
			</restriction>
		</simpleType>
		
		<simpleType name="RoleType">
			<restriction base="string">
				<enumeration value="Creator"/>
				<enumeration value="Adaptor"/>
				<enumeration value="Instantiator"/>
				<enumeration value="Producer"/>
				<enumeration value="Distributor"/>
				<enumeration value="EndUser"/>
			</restriction>
		</simpleType>

		<simpleType name="ActionType">
			<restriction base="string">
				<enumeration value="CreateWork"/>
				<enumeration value="MakeManifestation"/>
				<enumeration value="MakeAdaptation"/>
				<enumeration value="MakeInstance"/>
				<enumeration value="MakeCopy"/>
				<enumeration value="Produce"/>
				<enumeration value="Distribute"/>
				<enumeration value="PublicCommunication"/>
				<enumeration value="Synchronisation"/>
				<enumeration value="EndUserAction"/>
			</restriction>
		</simpleType>
				
	<!-- *************** Execution of Actions ********************   -->
	<!-- **************************************************************** -->
	<!--                        ExecuteActionReq                       -->
	<!-- **************************************************************** -->
	<element name="ExecuteActionReq">
		<complexType>
			<complexContent>
				<extension base="dmprrdp:RRDProtocolType">
					<sequence>
						<element name="actedBy" type="dmprdip:IDType" />
						<element name="actedOver" type="xsd:anyURI" />
						<element name="action" type="dmprrdp:ActionType" />
						<element name="resultsIn" type="xsd:anyURI" />
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	
	<!--  GetRightsOwner Request and Response     -->
	<!-- **************************************************************** -->
	<!--                        GetRightsHolderReq                        -->
	<!-- **************************************************************** -->
	<element name="GetRightsHolderReq">
		<complexType>
			<complexContent>
				<extension base="dmprrdp:RRDProtocolType">
					<sequence>
						<element ref="dii:Identifier"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>

	<!-- **************************************************************** -->
	<!--                        GetRightsHolderResponse                   -->
	<!-- **************************************************************** -->
	<element name="GetRightsHolderResponse">
		<complexType>
			<complexContent>
				<extension base="dmprrdp:RRDProtocolType">
					<sequence>
						<element name="IPEntity" type="dmprrdp:IPEntityType"/>
						<element name="rightsHolder" type="dmprdip:IDType"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	
	<!-- *************** Management of Permissions *************   -->
	<!-- **************************************************************** -->
	<!--                        CreatePermissionReq                       -->
	<!-- **************************************************************** -->
	<element name="CreatePermissionReq">
		<complexType>
			<complexContent>
				<extension base="dmprrdp:RRDProtocolType">
					<sequence>
						<element name="action" type="dmprrdp:ActionType"/>
						<element name="actedOver" type="xsd:anyURI"/>
						<element name="actedBy" type="dmprdip:IDType"/>
						<element name="issuedBy" type="xsd:anyURI"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	
	<!-- **************************************************************** -->
	<!--                        VerifyPermissionReq                       -->
	<!-- **************************************************************** -->
	<element name="VerifyPermissionReq">
		<complexType>
			<complexContent>
				<extension base="dmprrdp:RRDProtocolType">
					<sequence>
						<element name="action" type="dmprrdp:ActionType"/>
						<element name="actedBy" type="dmprdip:IDType"/>
						<element name="actedOver" type="xsd:anyURI"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	<!-- ***************  ********************   -->
	<element name="Ack" type="dmprrdp:AckType"/>
	<complexType name="AckType">
		<complexContent>
			<extension base="dmprrdp:RRDProtocolType">
				<sequence minOccurs="0">
					<element ref="msbp:ProtocolResult"/>
				</sequence>
				<attribute name="Result" type="string" use="required"/>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="IDType">
		<sequence>
			<choice>
				<element name="id" type="anyURI"/>
				<element ref="dsig:X509Data" minOccurs="0"/>
			</choice>
		</sequence>
	</complexType>
</schema>