<!ELEMENT rights  (admin? | asset+ | usage+ | rightsholder* | name? | remark? | narrow* )>
<!ATTLIST				rights			xmlns:xlink				CDATA			#REQUIRED
							xmlns				CDATA			#REQUIRED >

<!ELEMENT name  (#PCDATA )>
<!ELEMENT remark  (#PCDATA )>

<!ELEMENT admin  (name? | remark? | party* | datetime? | issuedate? | uid?)>

<!ELEMENT party  (name? | remark? | uid+ | role? | percentage? | fixed? )>

<!ELEMENT uid  (#PCDATA )>
<!ATTLIST uid  idscheme CDATA  #REQUIRED >

<!ELEMENT role  (#PCDATA )>
<!ATTLIST role idscheme CDATA  #IMPLIED >

<!ELEMENT issuedate (#PCDATA )>

<!ELEMENT asset  (uid+ | name? | remark? )>
<!ATTLIST asset						xlink:href			CDATA			#IMPLIED
						 ID 			CDATA			#IMPLIED >

<!ELEMENT usage  (asset* | display* | rightsholder* | print* | play* | execute* | sell* | lend* | give* | modify* | annotate* | copy* | constraint* | name? | remark? )>
<!ATTLIST usage						xlink:href			CDATA			#IMPLIED
						 ID 			CDATA			#IMPLIED >


<!ELEMENT print  (name? | remark? | constraint* )>

<!ELEMENT display  (name? | remark? | constraint* )>

<!ELEMENT play  (name? | remark? | constraint* )>

<!ELEMENT execute  (name? | remark? | constraint* )>

<!ELEMENT sell  (name? | remark? | constraint* )>

<!ELEMENT lend  (name? | remark? | constraint* )>

<!ELEMENT give  (name? | remark? | constraint* )>

<!ELEMENT modify  (name? | remark? | constraint* )>

<!ELEMENT annotate  (name? | remark? | constraint* )>

<!ELEMENT copy  (name? | remark? | constraint* )>

<!ELEMENT constraint  (accumulated* | interval* | datetime* | country* | quality* | count* | range* | ipaddress* | subunit* | individual* | group* | format* | cpu* | network* | screen* | storage* | memory* | printer* | name? | remark? )>

<!ELEMENT individual  (uid+ | name? | remark? | constraint* )>

<!ELEMENT group  (uid+ | name? | remark? | constraint* )>

<!ELEMENT cpu  (uid+ | name? | remark? | constraint* )>

<!ELEMENT network  (uid+ | name? | remark? | constraint* )>

<!ELEMENT screen  (uid+ | name? | remark? | constraint* )>

<!ELEMENT storage  (uid+ | name? | remark? | constraint* )>

<!ELEMENT memory  (uid+ | name? | remark? | constraint* )>

<!ELEMENT printer  (uid+ | name? | remark? | constraint* )>

<!ELEMENT count EMPTY>
<!ATTLIST count					end		CDATA			#IMPLIED
					start		CDATA			#IMPLIED >

<!ELEMENT range EMPTY>
<!ATTLIST range					min		CDATA			#IMPLIED
					max		CDATA			#IMPLIED >

<!ELEMENT ipaddress EMPTY>
<!ATTLIST ipaddress							end		CDATA			#REQUIRED
							start		CDATA			#REQUIRED >

<!ELEMENT datetime EMPTY>
<!ATTLIST datetime 						end		CDATA			#IMPLIED
						start		CDATA			#IMPLIED >

<!ELEMENT accumulated  (#PCDATA )>

<!ELEMENT interval  (#PCDATA )>

<!ELEMENT country  (uid+ | name? | remark? | constraint* )>

<!ELEMENT quality EMPTY>
<!ATTLIST quality						resolution			CDATA			#IMPLIED
						color			CDATA 			#IMPLIED
						tonality			CDATA			#IMPLIED >

<!ELEMENT subunit  (name? | remark? | constraint* )>
<!ATTLIST subunit  unittype CDATA  #REQUIRED >

<!ELEMENT format  (#PCDATA )>

<!ELEMENT rightsholder (party+ | fixed* | percentage* | name? | remark? )>
<!ATTLIST rightsholder							ID			CDATA			#IMPLIED
							xlink:href			CDATA			#IMPLIED >

<!ELEMENT fixed  (name? | remark? | party+ )>
<!ATTLIST fixed					currency			CDATA			#REQUIRED
					amount			CDATA			#REQUIRED >

<!ELEMENT percentage  (name? | remark? | party+ )>
<!ATTLIST percentage							currency			CDATA			#REQUIRED
							value			CDATA			#REQUIRED >

<!ELEMENT narrow EMPTY>
<!ATTLIST narrow  xlink:href CDATA  #IMPLIED >