<?xml version="1.0" encoding="UTF-8"?>
<!--
DRM Rights Expression Language V2.0 Document Type Definition

Copyright Open Mobile Alliance Ltd., 2002
          All rights reserved

Terms and conditions of use are available from the 
Open Mobile Alliance Ltd. web site at
http://www.openmobilealliance.org/useterms.html
-->
<!ELEMENT o-ex:rights (o-ex:context, o-ex:agreement)>
<!ATTLIST o-ex:rights
	xmlns:o-ex CDATA #FIXED "http://odrl.net/1.1/ODRL-EX"
	xmlns:o-dd CDATA #FIXED "http://odrl.net/1.1/ODRL-DD"
	xmlns:oma-dd CDATA #FIXED "http://www.openmobilealliance.com/oma-dd"
	xmlns:ds CDATA #FIXED "http://www.w3.org/2000/09/xmldsig#"
	xmlns:xenc CDATA #FIXED "http://www.w3.org/2001/04/xmlenc#"
	o-ex:id id #REQUIRED
>
<!ELEMENT o-ex:context (o-dd:version?, o-dd:uid*)>
<!ELEMENT o-dd:version (#PCDATA)>
<!ELEMENT o-dd:uid (#PCDATA)>
<!ELEMENT o-ex:agreement (o-ex:asset+, o-ex:permission*)>
<!ELEMENT o-ex:asset (o-ex:context?, o-ex:inherit?, o-ex:digest?, ds:KeyInfo?)>
<!ATTLIST o-ex:asset
	o-ex:id ID #IMPLIED
	o-ex:idref IDREF #IMPLIED
>
<!ELEMENT o-ex:inherit (o-ex:context)>
<!ELEMENT o-ex:digest (ds:DigestMethod, ds:DigestValue)>
<!ELEMENT ds:DigestMethod (#PCDATA)>
<!ATTLIST ds:DigestMethod
	Algorithm CDATA #FIXED "http://www.w3.org/2000/09/xmldsig#sha1"
>
<!ELEMENT ds:DigestValue (#PCDATA)>
<!ELEMENT ds:KeyInfo (xenc:EncryptedKey?, ds:RetrievalMethod?)>
<!ELEMENT xenc:EncryptedKey (xenc:EncryptionMethod, ds:KeyInfo?, xenc:CipherData)>
<!ELEMENT xenc:EncryptionMethod (#PCDATA)>
<!ATTLIST xenc:EncryptionMethod
	Algorithm CDATA #FIXED "http://www.w3.org/2001/04/xmlenc#kw-aes128"
>
<!ELEMENT xenc:CipherData (xenc:CipherValue)>
<!ELEMENT xenc:CipherValue (#PCDATA)>
<!ELEMENT ds:RetrievalMethod (#PCDATA)>
<!ATTLIST ds:RetrievalMethod
	URI CDATA #REQUIRED
>
<!ELEMENT o-ex:permission (o-ex:constraint?, o-ex:asset*, o-dd:play?, o-dd:display?, o-dd:execute?, o-dd:print?, oma-dd:export?)>
<!ELEMENT o-dd:play (o-ex:constraint?)>
<!ELEMENT o-dd:display (o-ex:constraint?)>
<!ELEMENT o-dd:execute (o-ex:constraint?)>
<!ELEMENT o-dd:print (o-ex:constraint?)>
<!ELEMENT o-ex:constraint (o-dd:count?, oma-dd:timed-count?, o-dd:datetime?, o-dd:interval?, o-dd:accumulated?, o-dd:individual?, oma-dd:system*)>
<!ELEMENT o-dd:count (#PCDATA)>
<!ELEMENT oma-dd:timed-count (#PCDATA)>
<!ATTLIST oma-dd:timed-count
	oma-dd:timer CDATA #IMPLIED
>
<!ELEMENT o-dd:datetime (o-dd:start?, o-dd:end?)>
<!ELEMENT o-dd:start (#PCDATA)>
<!ELEMENT o-dd:end (#PCDATA)>
<!ELEMENT o-dd:interval (#PCDATA)>
<!ELEMENT o-dd:accumulated (#PCDATA)>
<!ELEMENT o-dd:individual (o-ex:context)>
<!ELEMENT oma-dd:export (o-ex:constraint)>
<!ATTLIST oma-dd:export
	oma-dd:mode (move | copy) #REQUIRED
>
<!ELEMENT oma-dd:system (o-ex:context+)>

