international organisation for … · web viewthis section is meant to summarize the validation...

92
ISO/IEC CD 21000-8 INTERNATIONAL ORGANISATION FOR STANDARDISATION ORGANISATION INTERNATIONALE DE NORMALISATION ISO/IEC JTC1/SC29/WG11 CODING OF MOVING PICTURES AND AUDIO ISO/IEC JTC1/SC29/WG11 MPEG03/N6470 March 2004 Title: Text of ISO/IEC 21000-8 CD MPEG-21 Reference Software Status: approved Editors: Frederik De Keukelaere, Gerrard Drury, Christian Timmerer, Xin Wang Warning This document is not an ISO International Standard. It is distributed for review and comment. It is subject to change without notice and may not be referred to as an International Standard. Recipients of this draft are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation.

Upload: others

Post on 12-Mar-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8

INTERNATIONAL ORGANISATION FOR STANDARDISATIONORGANISATION INTERNATIONALE DE NORMALISATION

ISO/IEC JTC1/SC29/WG11CODING OF MOVING PICTURES AND AUDIO

ISO/IEC JTC1/SC29/WG11

MPEG03/N6470March 2004

Title: Text of ISO/IEC 21000-8 CD MPEG-21 Reference Software Status: approvedEditors: Frederik De Keukelaere, Gerrard Drury, Christian Timmerer, Xin Wang

Warning

This document is not an ISO International Standard. It is distributed for review and comment. It is subject to change without notice and may not be referred to as an International Standard.

Recipients of this draft are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation.

Page 2: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8

Copyright notice

This ISO document is a working draft or committee draft and is copyright-protected by ISO. While the reproduction of working drafts or committee drafts in any form for use by participants in the ISO standards development process is permitted without prior permission from ISO, neither this document nor any extract from it may be reproduced, stored or transmitted in any form for any other purpose without prior written permission from ISO.

Requests for permission to reproduce this document for the purpose of selling it should be addressed as shown below or to ISO's member body in the country of the requester:

[Indicate the full address, telephone number, fax number, telex number, and electronic mail address, as appropriate, of the Copyright Manger of the ISO member body responsible for the secretariat of the TC or SC within the framework of which the working document has been prepared.]

Reproduction for sales purposes may be subject to royalty payments or a licensing agreement.

Violators may be prosecuted.

Page 3: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8

Foreword

ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the specialized system for worldwide standardization. National bodies that are members of ISO or IEC participate in the development of International Standards through technical committees established by the respective organization to deal with particular fields of technical activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.

International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.

The main task of the joint technical committee is to prepare International Standards. Draft International Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as an International Standard requires approval by at least 75 % of the national bodies casting a vote.

Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.

ISO/IEC 21000-8 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information Technology, Subcommittee SC 29, Coding of Audio, Picture, Multimedia and Hypermedia Information.

ISO/IEC 21000 consists of the following parts, under the general title Information technology — Multimedia framework (MPEG-21):

Part 8: Reference Software

Part [n]:

Part [n+1]:

3

Page 4: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8

Information technology — Multimedia framework (MPEG-21) — Part 8: Reference Software

1 Introduction

Editors notes: revise introduction to describe that the reference software includes software modules corresponding to individual MPEG-21 parts and integrated software

The current reference software supports ISO/IEC 21000:2, or Digital Item Declarations in terms of reading the XML document and offering a Digital Item Declaration (DID) parser, which validates incoming DIDs against ISO/IEC 21000-2. This means: validating incoming DIDs against

the DIDL Schema that is defined within ISO/IEC 21000-2, and the additional validation rules that are defined within ISO/IEC 21000-2.

2 Reference Software availabilityThe reference software is available from www.titr.uow.edu.au/mpeg using the current MPEG username and password combination.

3 Software for Individual Parts3.1 DID

This clause describes a description of the MPEG-21 DID parser that was submitted as reference software by Multimedia Lab-Ghent University. This reference software contains Java source code for parsing and validating MPEG-21 Digital Item Declarations against the MPEG-21 DID Extensions AMD1 specification. More specifically, the DID parsers checks whether an incoming DID document is valid against the MPEG-21 DID Schema; it also checks whether all validation rules that are defined within the MPEG-21 DID specification are fulfilled.

The DID reference software consists of a number of independent modules, running on J2SE 1.4.2 or greater Apache XercesJ 2.5.0 (http://xml.apache.org/xerces2-j/) Apache Jakarta Log4J 1.2.6+ (http://jakarta.apache.org/log4j/)

Note: The source code of the DID parser is commented using standard JavaDoc. All JavaDocs are included in the reference software, and can be found in the “doc” directory.

3.2 REL

3.2.1 Schema checker

Description: The schema checker validates a set of REL Licenses against the XML Schemas specified in the Licenses. It validates syntactically the REL Licenses files and/or the REL Licenses contained in the directory specified by the user.

Input:

o A list of licenses and/or directories that contain licenses

Output:

1

Page 5: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8o valid, not valid, reasons why, according to the XML schemas specified within the

licenses

Architecture:

3.2.2 REL License Validation rules checker

Description: The Validation Rules checker validates if an schema valid REL license is a valid REL License according to the MPEG-21 REL standard specification. A license will be REL syntactic conformant if it complies all the rules specified in document (m10001).

Input: o schema valid license

Output:o REL syntactic conformant or not, reasons why

Architecture:

3.2.3 Authorization request validation rules checker

Description: The authorization request validation rules checker checks if an authorization request is valid according to the MPEG-21 REL standard specification. An authorization request is syntactic conformant if it complies all the rules specified in document (m10290).

Input: o Schema valid authorization request

2

Page 6: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8 Output:

o Validation rule conformant or not, reasons why Architecture:

3.2.4Interpretation conformance

Description: The Interpretation Conformance checks if the Authorization Story is an Authorization Proof for the Authorization Request. This module implements the auhtorizaiton proof algorithm and if the authorizer is present and has an authorization story, the authorization request and story files must be generated and will be the input to the

Input: o Any valid authorization requesto Any valid authorization story

Output: o Authorization story IS/IS NOT authorization proof for the authorization request

Architecture:

3

Page 7: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8

3.3 RDD

3.3.1 RDD database query

Input:o A Term

Output: o The genealogy as a Vector of relationships o The IsTypeOf hierarchy of the Term as a tree

Software Details: o Language: Java o Platform: Any Java 1.4.1 platform; any JDBC database (or the included

standalone database) Delivery Plan:

o Initial version was uploaded to the MPEG-21 Reference Software site, July 2003o Updated version with API provided in October 2003

Status: o Completeo A new version that supports integration with REL has been uploaded to the

MPEG-21 Reference Software site, November 2003.

3.4 DIA

In order to allow building application on top of the MPEG-21 DIA references software an API should be provided. In particular, the API shall exercise/represent all normative features specified in the ISO/IEC 21000-7 specification. The structure of this API is shown in Table 1.

The API provides access to information in the DIA description tools (e.g.: getAvailableBandwidth) as well as methods for their normative processes (e.g.: BintoBSD or gBSDtoBin).

Table 1 — Common structure of MPEG-21 DIA API

Java package name Description

org.iso.mpeg.mpeg21.dia Defines the API of the DIA root elements.

org.iso.mpeg.mpeg21.dia.ued Defines the API to the Usage Environment Description tool.

org.iso.mpeg.mpeg21.dia.ued.uc Defines the API to the User Characteristics

org.iso.mpeg.mpeg21.dia.ued.tc Defines the API to the Terminal Characteristics tool.

org.iso.mpeg.mpeg21.dia.ued.nc Defines the API to the Network Characteristics tool.

org.iso.mpeg.mpeg21.dia.ued.nec Defines the API to the Natural Environment Characteristics tool.

org.iso.mpeg.mpeg21.dia.bsdl Defines the API to the BSDtoBin and BintoBSD processes.

org.iso.mpeg.mpeg21.dia.gbsd Defines the API to the gBSDtoBin process.

org.iso.mpeg.mpeg21.dia.aqos Defines the API to the AdaptationQoS tool.

org.iso.mpeg.mpeg21.dia.bsdlink Defines the API to the BSDLink tool.

org.iso.mpeg.mpeg21.dia.mda Defines the API to the MetadataAdaptation tool.

4

Page 8: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8org.iso.mpeg.mpeg21.dia.sm Defines the API to the Session Mobility tool.

org.iso.mpeg.mpeg21.dia.diac Defines the API to the DIA Configuration tool.

3.5 File format

No software yet in this section.

3.6 DIP

DIP Reference Software comprises

reference implementations of DIBOs

reference implementation of DIME

DIML (ECMAScript) bindings for DIBOs

Java bindings for DIBOs

Calling of Java based DIxOs from DIMs

Applications supporting DIP can be built on top of the DIP Reference Softwrae utilizing APIs in the following Java packages

Java package name Description

org.iso.mpeg.refsw.mpeg21.dip Package containing all the MPEG-21 DIP reference software.

org.iso.mpeg.refsw.mpeg21.dip.dibo Package containing reference implementations of DIBOs.

org.iso.mpeg.refsw.mpeg21.dip.dime Package containing reference implementation of DIM Engine.

org.iso.mpeg.refsw.mpeg21.dip.dime.dibo Package containing classes for binding DIBO implementations to DIML (ECMAScript) API.

4 Integrated SoftwareNote: this clause depends on the definition of MPEG-21 architecture or cross-part MPEG-21 profiles

5 Annex A. Utility Software for Individual Parts5.1 DID

A demonstration program, called DIDLTest, is included in the aforementioned DID reference software package (clause 3.1). This program can be used to test the reference software. It takes a DID document as input and writes a tree of the (parsed and validated) DID document to the screen. In case of validation errors, the program reports this error, together with the validation rule that is not met by the DID under consideration.

This DID utility software can be started with the following command (from within the classes directory):java -classpath .; ../lib/xmlParserAPIs.jar; ../lib/xercesImpl.jar; ../lib/log4j.jar DIDLTest

5

Page 9: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8Alternatively, when working under Windows, it can be run by double-clicking the DIDLTest.bat file.

Below, two example outputs are given: a first one corresponding to the validation of a valid DID document; a second one that corresponds to the validation of an invalid DID document.

Example output (without a validation error):

Parsed URL: file:/Y:/example_01.xml

DIDL available = true Item available = true Descriptor available = true Statement available = true Choice available = true Selection available = true predicate = UNDECIDED Item available = false Condition available = true Component available = true Resource available = true Item available = false Condition available = true Component available = true Resource available = true Item available = true Component available = true Resource available = true

Press any key to continue...

Example output (with a validation error):

Invalid DID:

****** Validation Error ******Validation rule: <Annotation>: An ANNOTATION that does not contain a REFERENCE child element must have a TARGET attribute.

<?xml version="1.0" encoding="UTF-8"?><Annotation xmlns="urn:mpeg:mpeg21:2002:01-DIDL-NS"> <Assertion target="#choice_01" true="choice_01_select_id_01"/></Annotation>

5.2 REL

5.2.1 Simple REL license interpreter

Input:o REL licenseo Query consisting of a principal, one right, resource, time, exercise count (optional)

Output:o Authorization result: YES, or NO with reasons why in a log file

5.2.1.1 Implementations from ContentGuard Software Details:

o Languages: C++o Supported platforms: Windows XP, Windows 2000 Server, Windows ME,

Windows NT 4.0 Workstation, Windows 98 SE, Window CE, and Linuxo Architecture:

6

Page 10: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8

Delivery Plan: o initial module uploaded in Oct. 2002 (m9067)o a WinCE version of the initial module uploaded in January, 2003 (m9379)o an integrated and enhanced version for both Windows and WinCE uploaded in

March, 2003 (m9581)o a Linux porting version of m9581 uploaded in July, 2003 (m9898)o a Java version that is capable of interpreting some rights and conditions for

adapting and processing digital items and resources Status:

o The versions in m9067 and m9379 support one right (play) and one condition (validity interval)

o The version in m9581 supports one additional condition (exerciseLimit)o Updated versions that reflect the FDIS version of the REL spec have been

uploaded to the MPEG-21 Reference Software Contribution site.o Delivery of the first implementation of Java version by March 2004.

5.2.1.2 Implementation from Chinese Academy of Sciences Software Details:

o Languages: C++o Supported platforms:

Red Hat Linux 7.3 (tested) g++ 3.1 Apache XML Xerces p arser in C++ , version 2.2 Apache XML Xalan XSLT and XPATH processor in C++ , version 1.5.

o Architecture: same as the ContentGuard implementation Delivery Plan:

o Initial version was uploaded in July 2003 (m9729) Status:

7

Page 11: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8o Updated when necessary

5.2.1.3 Implementation from Universitat Pompeu Fabra, Spain

Description: The Simple REL License Interpreter first validates the input license against the REL XML schemas. Then a query with the data associated to the user (principal, right, resource and optionally the number of times the right has been exercised) is constructed dynamically and it is executed against the REL License File. The result of the query are the conditions associated to the matching grants, if any. Finally the conditions are evaluated, and if they are satisfied the user is authorized.The implementation supports all the rights and all the conditions in the REL, but it does not support variables. The validation process implemented only supports two conditions, validityInterval and exerciseLimit.

Input:

o REL license

o Query consisting of a principal, one right, resource, time, exercise count (optional)

Output:

o Authorization result: YES, or NO with reasons why in a log file

Architecture:

5.2.2 Simple REL License Creator

Description:

8

REL License File

User File Results File

Log File

Validate Interval

Parser (Xerces)

XQueryy

Return conditions

associated to the matching grants

Validate Exercise Limit

REL Parser Module Condition Evaluator

Condition File

License Transformation

Temp License

Page 12: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8 Input:

o Target principal

o What resource

o Right

o Conditions

o Issuer

Output:

o REL license

Architecture:

HTML web page for information introduction Tomcat Servlet Engine

1. Information needed to create a new license

2. GeneratedREL License

REL Schema Checker

3. Input: REL License

4. Output: Validation result

License creation result

REL License Creator Servlet

Client sideServer side

5. Result of license creation

HTML web page for information introduction Tomcat Servlet Engine

1. Information needed to create a new license

2. GeneratedREL License

REL Schema Checker

3. Input: REL License

4. Output: Validation result

License creation result

REL License Creator Servlet

Client sideServer side

5. Result of license creation

5.3 RDD

5.3.1 RDD browser interface

Input:o A Term

Output: o Term Definition, Genealogy

Software Details: o HTMLo Windows, any browser

Delivery Plan: TBDo Initial version was uploaded to the MPEG-21 Reference Software site, March

2003 Status:

o Complete

9

Page 13: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8

5.3.2 Multilingual RDD registry

Input: Query on RDD term Output:

o RDD Terms in user preferred translated languages (TermDescription, ActionFamily, ContextFamily, Synonym, etc)

o XML format RDD term attribute description Software Details:

o Language: Visual Basico Platform: Any platform supported by Microsoft .Net framework. (e.g., Windows

98, 2000, NT, ME, XP). Delivery Plan:

o Initial version was uploaded July 2003 (m9748) Status: 

o Version 1.0

5.3.3 RDDOnto: RDD described with RDF and RDFS

Description: The RDDOntoAPI constructs and poses a RQL query to a Sesame repository that contains RDDOnto. The query asks for all the superclasses of the input act type that correspond to all its supertypes.

Input:

o A query about a Term

Output:

o The genealogy and IsTypeOf hierarchy of the Term

5.4 DIA

This section comprises the current available utility software modules:

Module A. AudioPresentationPreferencesInput DI Resources: Audio MP3

DS: AudioPresentationPreferencesDescriptor

Output DI Resources: Audio MP3

Model example Audio adaptation

Software Details

Language (Visual) C++

Independent/Integrated modules

Integrated modules

Status Uploaded

Delivery plan -

ToDo -

10

Page 14: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8Module B. Audio Soundfield

Input DI Resources: Audio MP3DS: audio presentation preference descriptor

Output DI Resources: audio MP3

Model example Audio adaptation

Software Details

Language (Visual) C++

Independent/Integrated modules

Integrated modules

Status Uploaded

Delivery plan -

ToDo -

Module C. DisplayPresentationPreferencesInput DI Resources: Images (BMP and JPEG)

DS: DisplayPresentationPreferencesType

Output DI Resource: Selected images (BMP and JPEG)

Model example BMP images

Software Details

Language C++/Java

Independent/Integrated modules

Two independent modules: one for generating XDI; one for the adaptation

Status Uploaded

Delivery plan -

ToDo -

Module D. StereoscopicVideoConversionInput DI Resources: DI

DS: TerminalCapabilities

Output DI Resources: Adapted Streaming resourcesDIADMs

Model example Demonstrate on-the-fly adaptive media streaming using

Software Details

Language Java

Independent/Integrated modules

Integrated module

11

Page 15: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8

Status Uploaded

Delivery plan -

ToDo -

Module E. GraphicsPresentationPreferenceInput DI Resource: 3D Graphics

DS: GraphicsPresentationPreference

Output DI Resources: Adapted 3D Graphics

Model example demonstrate adaptation of 3D graphics according to Graphics Presentation preference

Software Details

Language C++

Independent/Integrated modules

Integrated module

Status Uploaded

Delivery plan -

ToDo -

Module F. ModalityConversionPreferenceInput DI Resources: Video, Image, Audio, Text, Graphics

DS: ModalityConversionPreference, PresentationPriority, Transmoding

Output DI Resources: Video, Image, Audio, Text, Graphics

Model example demonstrate working of the relevant DSs

Software Details

Language C++, Java

Independent/Integrated modules

Independent module

Status Uploaded

Delivery plan -

ToDo -

Module G. PresentationPriorityPreferenceContact see Module F, ModalityConversion

Input DI

Output DI

12

Page 16: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8Model example

Software Details

Language

Independent/Integrated modules

Status

Delivery plan

ToDo

Module H. FocusOfAttentionInput DI Resource: Video (MPEG-1), Text, Audio (WAV)

DS: SegmentPresentationPreference, SoniferousSpeedPreference

Output DI Resource: Video (MPEG-1), Text, Audio (WAV)

Model example -

Software Details

Language C++

Independent/Integrated modules

Independent modules

Status Uploaded

Delivery plan -

ToDo -

Module I. AudioImpairmentInput DI Resources: Audio MP3

DS: AudioImpairment

Output DI Resources: Adapted Audio

Model example Audio adaptation

Software Details

Language (Visual) C++

Independent/Integrated modules

Integrated module

Status Uploaded

Delivery plan -

ToDo need packaging as DID

13

Page 17: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8

Module J. VisualImpairmentInput DI Resources: Image

DS: ColorVisionDeficiency, VisionImpairment

Output DI Resources: Adapted image

Model example BMB bitmap adaptation

Software Details

Language (Visual) C++

Independent/Integrated modules

Integrated modules

Status Uploaded

Delivery plan -

ToDo -

Module K. ColorVisionDeficiencyContact see Module J, VisualImpairment

Input DI

Output DI

Model example

Software Details

Language

Independent/Integrated modules

Status

Delivery plan

ToDo

Module L. MobilityCharacteristicsInput DI Resources: Contains multiple references to resources

DS: Instantiated description of mobility characteristics (as text file at present)

Output DI Contains a single reference to a resource and a textual description (statement) that is relevant to the User based on the input mobility characteristics description

Model example Classify the User as pedestrian, urban vehicle or highway vehicle. Adapt Digital Item by deleting fragments of the Digital Item that are not relevant to this particular User

14

Page 18: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8

Software Details

Language C++, simple software easily portable to other languages

Independent/Integrated modules

Classification and adaptation process

Software to generate mobility trajectories based on a modified 2D fractional Brownian motion model outside the adaptation engine (optional)

Software to extract mobility characteristics description from the input trajectories outside the adaptation engine (optional)

Status Uploaded

Delivery plan -

ToDo -

Module M. DestinationInput DI Resources: MPEG-1 video

DS: UserDestination Description

Output DI Resources: Filtered MPEG-1 video and JPEG images

Model example Filtering and searching of MPEG-1 video based on User Destination

Software Details

Language C++

Independent/Integrated modules

Independent module

Status Uploaded

Delivery plan -

ToDo -

Module N. LocationContact see Destination

Input DI

Output DI

Model example

Software Details

Language

Independent/Integrated modules

Status

15

Page 19: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8

Delivery plan

ToDo

Module O. TimeContact see Destination

Input DI

Output DI

Model example

Software Details

Language

Independent/Integrated modules

Status

Delivery plan

ToDo

Module P. AudioEnvironmentInput DI Resources: Audio MP3

DS: AudioEnvironment characteristics descriptor

Output DI Resources: Audio MP3

Model example Audio adaptation

Software Details

Language C++

Independent/Integrated modules

Integrated module

Status Uploaded

Delivery plan -

ToDo -

Module Q. IlluminationCharacteristicsInput DI Resources: Images (BMP)

DS: IlluminationCharacteristicsType

Output DI Resources: Selected image (BMP)

Model example BMP images

16

Page 20: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8

Software Details

Language C++/Java

Independent/Integrated modules

One integrated Module

Status Uploaded

Delivery plan -

ToDo -

Module R. BSDLInput DI Resources: MPEG-4 Elementary Stream, JPEG2000 image,

MPEG-4 VTCDS: BSD

Output DI Resources: Adapted resourcesDS: Transformed BSD

Model example MPEG-4 video elementary stream, JPEG2000, MPEG-4 VTC

Software Details

Language Java, XSLT

Independent/Integrated modules

Philips software (Bin2BSD, BSD2Bin), XSLT style sheets doing transformations

Status Uploaded

Delivery plan -

ToDo -

Module S. gBSDInput DI Resources: MPEG-4 Elementary Stream, JPEG2000 image,

DS: gBSD, Adaptation Hint

Output DI Resources: Adapted resourcesDS: Transformed gBSD

Model example MPEG-4 video elementary stream, JPEG2000

Software Details

Language Java, XSLT

Independent/Integrated modules

gBSD2Bin, XSLT style sheets doing transformations

Status Uploaded

Delivery plan 2003/11/15

ToDo New version according to Section Error: Reference source not found.

17

Page 21: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8

Module T. AdaptationQoSInput DI Resources: MPEG-4 Video ES, MPEG-4 VTC

DS: Adaptation QoS

Output DI Adapted MPEG-4 Video ES, MPEG-4 VTC

Model example MPEG-4 video ES, MPEG-4 VTC adaptation

Software Details

Language (Visual) C++ / Java

Independent/Integrated modules

Two integrated modules

Status Uploaded

Delivery plan -

ToDo -

Module U. AudioAdaptationQoSInput DI Resources: MPEG-4 Audio BSAC & AAC

DS: AdaptationQoS

Output DI Resources: MPEG-4 Audio BSAC & AAC (adapted)

Model example Audio-specific adaptation operations (channel dropping, audio FGS, spectral band reduction)

Software Details

Language C

Independent/Integrated modules

Independet module

Status Uploaded

Delivery plan -

ToDo -

Module V. UCDInput DI DS: UCD and AdaptationQoS, UED referenced through UCD.

Output DI Decisions for multiple adaptation units in non-normative form in terms of IOPin values.

Model example Fully format independent decision making based on constraints for a variety of use cases involving several formats.

Software Details

Language (Visual) C++

18

Page 22: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8Independent/Integrated modules

Integrated modules

Status Uploaded

Delivery plan -

ToDo -

Module W. BSDLinkInput DI Resources: JPEG2000, MPEG4-VES, MPEG4-VTC, MC-

EZBC (fully scalable video proposal for Scalable Video)DS: BSDTrI, gBSD, BSDLinkDecisions for multiple adaptation units in non-normative form obtained as output of software in 5.22.

Output DI Resources: Adapted JPEG2000, MPEG4-VES, MPEG4-VTC, MC-EZBC (fully scalable video proposal for Scalable Video)DS: Adapted gBSD

Model example Parameter passing in BSDLink from decisions to transformation stylesheet (BSDTrI), followed by processing of the BSDTrI to obtained adapted resource and adapted bit-stream.

Software Details

Language (Visual) C++

Independent/Integrated modules

Integrated modules

Status Uploaded

Delivery plan -

ToDo -

Module X. MetaDataAdaptationInput DI Resources: MPEG video

DS: VideoSegment Visual Descriptor

Output DI Resources: MPEG videoDS: VideoSegment Visual Descriptor

Model example Metadata adaptation

Software Details

Language (Visual) C++

Independent/Integrated modules

Integrated module

Status Uploaded

19

Page 23: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8

Delivery plan -

ToDo -

Module Y. MetadataAdaptationIntegrationInput DI Resources: MPEG-7 Metadata (two or more instances)

DS: Metadata adaptation

Output DI Resources: MPEG-7 Metadata (one instance)

Model example demonstrate integration of multiple metadata instances

Software Details

Language C++

Independent/Integrated modules

Independent module

Status Uploaded

Delivery plan -

ToDo -

Module Z. Session MobilityInput DI Resources: audio MP3

DS: auditory impairment descriptor

Output DI Context Digital Items for Session Mobility

Model example -

Software Details

Language Java

Independent/Integrated modules

Integrated with JAVA DID classes

Status Uploaded

Delivery plan -

ToDo -

Module AA. DIA ConfigurationInput DI Resources: DI

DS: TerminalCapabilities

Output DI Resources: adapted streaming resources

DIADMs

Model example demonstrate on-the-fly adaptive media streaming using DIA descriptors

20

Page 24: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8

Software Details

Language Java

Independent/Integrated modules

Integrated modules

Status Uploaded

Delivery plan -

ToDo -

5.5 File format

No software yet in this section.

5.6 DIP

5.6.1 Module A

Contributor: University of Wollongong (contact: Gerrard Drury)

Available: December 2003

Description:

This is an updated version of a previous contribution modified to utilize distributed Object Map technology in performing the Core Experiment on Object Map (see N5942, m10417).

It is available at the same location as the reference software (see clause 3.1). The demonstration software utilizes the DIP reference software DIME implementation and of DIBO implementations.

The demonstration software is developed in Java and requires the following components to be installed prior to running the demonstration software.

Java 1.4 or later: http://java.sun.com/java/1.4/

Java Media Framework (JMF) 2.1.1a or later: http://java.sun.com/products/jmf/

The demonstration software is integrated with the following reference software for other parts of MPEG-21(included in the demonstration software download).

DID reference software described in 3.1 – usage of the DID parser

The demonstration software utilizes the following third party libraries (included in the demonstration software download).

Xerces-J from Apache XML DOM parser: http://xml.apache.org/xerces2-j/index.html

Log4j from Apache logging utility: http://jakarta.apache.org/log4j/docs/index.html

FESI ECMAScript interpreter: http://www.lugrin.ch/fesi/

On a Windows platform, the demonstration software can be started by double-clicking the dimldemo.bat batch file. On other unix-like Java enabled platforms, a command similar to the following can be used (assumes command is run from the same directory in which the demonstration software is located):

$ java –classpath=lib/thirdParty/log4j.jar:\lib/thirdParty/xercesImpl.jar:\

21

Page 25: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8lib/thirdParty/xmlParserAPIs.jar:\lib/thirdParty/fesi.jar:\lib/mpeg21-dime-demo.jar org.iso.mpeg.mpeg21.dimengine.demo.DIMEDemoGui

The demonstration software provides a basic GUI that allows a user to open a DID containing Digital Item Methods integrated in to the DID according to the DIP specification. Note that sample DIDs containing DIMs are also available from the same location as the software.

The DIMs in the Digital Item are displayed in a list and the user can select a DIM in the list, then click the button labeled Execute to execute the DIM.

5.6.2 Module B

Contributor: Ghent University (contact: Frederik De Keukelaere)

Available: December 2003

Description:

Software developed for Core Experiment on Object Map (see N5942, m10386).

[Frederik De Keukelare]

5.6.3 Module C

Contributor: Information and Communications University (contact: Munchurl Kim)

Available: December 2003

Description:

Software developed for the Core Experiment on DIBO Explorations (see N,5943 m10363).

[Munchurl Kim]

5.7 Testbed

No software description yet in this section.

6 Annex B. Integrated Utility Software6.1 Integrated REL-RDD software

6.1.1 REL license interpretation using RDD term genealogy

6.1.1.1 REL license interpretation using RDD term genealogy – Implementation using SESAME

Description: The software first validates syntactically the REL License, constructs a temporal license if the original one uses the licesensePartId or licensePartIdRef attributes and obtains the conditions associated to the matching grants. If no matching grants are found for the query constructed with the user data, it interacts with the RDDOnto and retrieves all the supertypes of the user right, then new queries are constructed for each one of the parent rights and are executed until a matching grant is found. The RDDOntoAPI constructs and poses a RQL query to a Sesame repository that contains RDDOnto. The query asks for all the superclasses of the input act type that correspond to all its supertypes. Finally, the conditions are evaluated, and if they are satisfied then the user is authorized.

Input:

o REL license

o Query consisting of principal, right, resource, time, exercise count (optional)

Output:

22

Page 26: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8o Authorization result: YES, or NO with reasons why in a log file

Architecture:

6.1.1.2 REL license interpretation using RDD term genealogy – Implementation using Web Services

Description: The software first validates syntactically the REL License, constructs a temporal license if the original one uses the licesensePartId or licensePartIdRef attributes and obtains the conditions associated to the matching grants. If no matching grants are found for the query constructed with the user data, it interacts with the RDDOnto and retrieves all the supertypes of the user right, then new queries are constructed for each one of the parent rights and are executed until a matching grant is found. The service method invoked is the getRDDSuperTypes that retrieves from the RDD ontology all the parents of the given right.Finally, the conditions are evaluated, and if they are satisfied then the user is authorized.

Input:

o REL license

o Query consisting of principal, right, resource, time, exercise count (optional)

Output:

o Authorization result: YES, or NO with reasons why in a log file

Architecture:

23

Page 27: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8

6.2 Integrated REL-DID Software

6.2.1 REL license interpretation within DID

Input: o DID expression (with information on REL licenses)o Query consisting of principal, right, resource, time, exercise count (optional)

Output: o Authorization result: YES, or NO with reasons why in a log file

Software Detailso Language:

Javao Architecture:

Delivery Plan: o First version by the March 2004 meeting.o ContentGuard and UGent to submit their implementation by the March 2004

meeting.

24

Page 28: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8 Status:

o The first version has been submitted (m10421) from UPF. which uses XQuery to extract REL licenses from DIDL expressions.

o Another version has been submitted (m10521) from ContentGuard, Inc. and Ghent University.

6.3 Integrated REL-RDD-DID Software

6.3.1 REL License Interpretation within DID using RDD term genealogy

Description: First, the DID document is parsed by the DID Parser to check its validity. If it is not valid, the reasons why are printed in the Log file. Otherwise the resource (in url or urn format) is extracted from the User Query file. Then, the DID document is traversed to identify the resource. Finally, the DID document is traversed to find all the licenses that match the resource. If no matching license is obtained the License Extractor directly gives the Output file. Otherwise, a temporal LicenseFile file is created and the REL license interpreter using RDD term genealogy is invoked with inputs the license file extracted and the user query file. This module first validates syntactically the REL License and obtains the conditions associated to the matching grants. If no matching grants are found for the query constructed with the user data, it interacts with the RDDOnto and retrieves all the supertypes of the user right, then new queries are constructed for each one of the parent rights and are executed until a matching grant is found. Finally, the conditions are evaluated, and if they are satisfied then the user is authorized.

Input:

o DID expression (with information on REL licenses)o Query consisting of principal, right, resource, time, exercise count (optional)

Output:o Authorization result: YES, or NO with reasons why in a log file

Architecture:

25

Page 29: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8

6.4 Integrated DID-DIA software

No software description yet in this section.

6.5 Integrated DID-DIP software

7 Annex C. Integration with other MPEG SoftwareNo software description yet in this section.

8 Annex D. Auxiliary Information for REL Reference Software8.1 Validation Rules

8.1.1 Introduction

This section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond simple XML schema validation against the REL schemas [1]. It is also meant to be just informative; in case there is any inconsistence with the MPEG-21 REL specification, the REL specification is always considered as normative.

This section intends to provide these REL validation rules so that applications can be built to verify if an XML document is a valid REL expression according the MPEG-21 REL standard specification [1]. These applications include the piece of the MPEG-21 REL reference software, “validation rule checker”, specified in [2].

The scope of validation rules is on those for validating if an XML document is itself a valid REL expression. It is outside of the scope of validation rules to list any constraints on authorization requests such as the constraint requiring the Resource Member of an authorization request to be an r:Grant or r:GrantGroup if the Right Member of that authorization request is an r:issue.

For convenience, the validation rules that are copied directly from the MPEG-21 REL specification [1] are highlighted.

8.1.2 REL Validation Rules

8.1.2.1 LicensePartId and LicensePartIdRef

8.1.2.1.1 The Rule

These rules are given in 6.3 of the REL [1]. The following provisions apply to r:License elements that contain r:LicensePart elements having the r:licensePartId or r:licensePartIdRef attributes.

1. An r:LicensePart shall not have both the r:licensePartId attribute and the r:licensePartIdRef attribute.

2. For a given r:LicensePartId value v and r:License l, l shall not contain more than one r:LicensePart having an r:licensePartId attribute with the value v.

26

Page 30: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-83. If an r:LicensePart has an r:licensePartIdRef attribute, then it shall have

empty content. As a corollary, types that are derivations of the type r:LicensePart should allow their content to be empty (for otherwise their r:licensePartIdRef attribute shall not be used).

4. If an r:LicensePart a has an r:licensePartIdRef attribute with a certain value v, then there shall exist some (other) r:LicensePart b in the same r:License as a such that all of the following are true:

b has an r:licensePartId attribute with value v,

the expanded element name of b exactly matches that of a, and

b is not an ancestor of a.

5. With the exception of signature verification and License issuer resolution (see 6.4), the following two processing steps shall be carried out before the other License processing steps defined in this part of ISO/IEC 21000. In particular, they shall be carried out before the evaluation of Variable references or the testing of equality.

If an r:LicensePart a has an r:licensePartIdRef attribute with a certain value v, and b is the r:LicensePart in the same r:License as a that has an r:licensePartId attribute with value v, then the semantics of the r:License containing a and b are as if

a were removed from the r:License and replaced with an element that is Equal to b,

the r:licensePartId attributes were removed from and all of its descendants, and

any preserved attributes that has were removed from , and any preserved attributes that a has were added to , where here a preserved attribute is

any attribute of type xsd:ID or

any attribute for which id is the local part of its Qualified Name.

If an r:License contains no r:LicensePart elements with an r:licensePartIdRef attribute, then the semantics of that r:License are as if the r:licensePartId attribute were removed from all r:LicensePart elements in that r:License with an r:licensePartId attribute.

NOTE 1 It is the intent of 5 to enable the useful definition and incorporation of other identification systems on r:LicensePart elements beyond the document-global xsd:ID-typed identifiers.

NOTE 2 Circular references such as that shown in Example 1 are not allowed because, after one application of provision 5, the semantics will be as shown in Example 2, which violates provision 4.

27

Page 31: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8EXAMPLE 1

<r:license>

<r:grantGroup licensePartId="x">

<r:grantGroup licensePartIdRef="y"/>

</r:grantGroup>

<r:grantGroup licensePartId="y">

<r:grantGroup licensePartIdRef="x"/>

</r:grantGroup>

</r:license>

EXAMPLE 2

<r:license>

<r:grantGroup licensePartId="x">

<r:grantGroup>

<r:grantGroup licensePartIdRef="x"/>

</r:grantGroup>

</r:grantGroup>

<r:grantGroup licensePartId="y">

<r:grantGroup>

<r:grantGroup licensePartIdRef="y"/>

</r:grantGroup>

</r:grantGroup>

</r:license>

8.1.2.1.2 Examples that Violate the Rules

6. An r:LicensePart shall not have both the r:licensePartId attribute and the r:licensePartIdRef attribute.

<r:license>

<r:grant>

<r:keyHolder licensePartId="Eva">

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

28

Page 32: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8</r:info>

</r:keyHolder>

<mx:play/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinemusic.com/song.mp3"/>

</r:digitalResource>

<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-31T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<r:grant>

<r:keyHolder licensePartId="Silvia" licensePartIdRef="Eva"/>

<mx:play/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinemusic.com/song.mp3"/>

</r:digitalResource>

<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-31T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<r:issuer/>

</r:license>

7. For a given r:LicensePartId value v and r:License l, l shall not contain more than one r:LicensePart having an r:licensePartId attribute with the value v.

<r:license>

<r:grant>

<r:keyHolder licensePartId="Alice">

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<mx:play/>

<r:digitalResource licensePartId="Alice">

<r:nonSecureIndirect URI="http://www.onlinemusic.com/song.mp3"/>

</r:digitalResource>

<r:validityInterval>

29

Page 33: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-31T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<r:issuer/>

</r:license>

8. If an r:LicensePart has an r:licensePartIdRef attribute, then it shall have empty content.

<r:license>

<r:grant>

<r:keyHolder licensePartId="Alice">

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<mx:play/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinemusic.com/song.mp3"/>

</r:digitalResource>

<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-31T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<r:grant>

<r:keyHolder licensePartIdRef="Alice">

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<mx:enlarge/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinemusic.com/song.mp3"/>

</r:digitalResource>

30

Page 34: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-31T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<r:issuer/>

</r:license>

9. If an r:LicensePart a has an r:licensePartIdRef attribute with a certain value v, then there shall exist some (other) r:LicensePart b in the same r:License as a such that all of the following are true:

1. b has an r:licensePartId attribute with value v,

<r:license>

<r:grant>

<r:keyHolder licensePartId="Alice">

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<mx:play/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinemusic.com/song.mp3"/>

</r:digitalResource>

<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-31T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<r:grant>

<r:keyHolder licensePartIdRef="Lora"/>

<mx:enlarge/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinemusic.com/song.mp3"/>

</r:digitalResource>

<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-31T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<r:issuer/>

31

Page 35: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8</r:license>

the expanded element name of b exactly matches that of a

<r:license>

<r:grant>

<r:keyHolder licensePartId="Alice">

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<mx:play/>

<r:digitalResource licensePartIdRef="Alice"/>

<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-31T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<r:issuer/>

</r:license>

b is not an ancestor of a.

A direct example:<r:license>

<r:grant licensePartId="x">

<r:issue/>

<r:grant licensePartIdRef="x"/>

</r:grant>

</r:license>

An indirect example:<r:license>

<r:grantGroup licensePartId="x">

<r:grantGroup licensePartIdRef="y"/>

</r:grantGroup>

<r:grantGroup licensePartId="y">

<r:grantGroup licensePartIdRef="x"/>

</r:grantGroup>

</r:license>

32

Page 36: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-88.1.2.2 Variable reference and conceptually abstract elements and types

8.1.2.2.1 The Rules

6.5.2 and 6.6 of the REL [1] specify the following rules:

Let a be an r:LicensePart. If a/@r:varRef exists, then a shall have empty content and the value of a/@r:varRef shall be the name of some Variable whose scope includes a.

If a conceptually abstract element appears in an r:License, it shall either have a type that is not conceptually abstract or appear in the form of a Variable reference, as described in 6.5.2.

If a conceptually abstract type appears in an r:License, it shall belong to an element that either is not conceptually abstract or appears in the form of a Variable reference, as described in 6.5.2.

The following is a list of the conceptually abstract elements and types.

Conceptually abstract elements Conceptually abstract types

r:licensePart

r:principal

r:right

r:resource

r:condition

r:anXmlPatternAbstract

r:principalPatternAbstract

r:rightPatternAbstract

r:resourcePatternAbstract

r:conditionPatternAbstract

r:dcConstraint

r:trustRoot

r:serviceDescription

r:propertyAbstract

sx:name

r:LicensePart

r:Principal

r:Right

r:Resource

r:Condition

r:AnXmlPatternAbstract

r:PrincipalPatternAbstract

r:RightPatternAbstract

r:ResourcePatternAbstract

r:ConditionPatternAbstract

r:DcConstraint

r:TrustRoot

r:ServiceDescription

r:PropertyAbstract

sx:Name

sx:StatefulCondition

8.1.2.2.2 Examples that Violate the Rules

Let a be an r:LicensePart. If a/@r:varRef exists, then a shall have empty content <r:license>

<r:grant>

<r:forAll varName="content">

<r:anXmlExpression/>

33

Page 37: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8</r:forAll>

<mx:print/>

<mx:diReference varRef="content">

<mx:identifier/>

</mx:diReference>

<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-31T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<r:issuer/>

</r:license>

and the value of a/@r:varRef shall be the name of some Variable whose scope includes a.

<r:license>

<r:grant>

<r:forAll varName="AliceClub">

<r:propertyPossessor>

<sx:propertyUri definition="urn:edu:elibrary"/>

</r:propertyPossessor>

</r:forAll>

<r:principal varRef="AliceClub1"/>

<mx:print/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinemusic.com/mySong.mp3"/>

</r:digitalResource>

<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-31T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<r:issuer/>

</r:license>

If a conceptually abstract element appears in an r:License, it shall either have a type that is not conceptually abstract or appear in the form of a Variable reference, as described in 6.5.2.

An example of an element of a conceptually abstract type but with no variable reference: <r:license>

<r:grant>

<r:keyHolder>

<r:info>

34

Page 38: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<r:right xsi:type="r:Right"/>

<mx:diReference>

<mx:identifier>someResourceUri</mx:identifier>

</mx:diReference>

</r:grant>

<r:issuer/>

</r:license>

Another example of an element of a conceptually abstract type but with no variable reference: <r:license>

<r:grant>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<r:right/>

<mx:diReference>

<mx:identifier>someResourceUri</mx:identifier>

</mx:diReference>

</r:grant>

<r:issuer/>

</r:license>

8.1.2.3 LicensePart optional content model

8.1.2.3.1 The Rules

7.4.1 of the REL [1] specifies the following rule:

If the syntax of a particular derivation of the type r:LicensePart declares its content model as optional, the semantics of that optional content model, unless specified otherwise, is that it shall not be omitted in an r:LicensePart of that derivation unless that r:LicensePart has an r:licensePartIdRef or r:varRef attribute.

35

Page 39: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8

The following is a list of types that cannot be empty unless used with r:licensePartIdRef or r:varRef.

Types Elements using those types directly

r:Datum

r:DepthConstraint

r:DigitalResource

r:ExerciseMechanism

r:ExistsRight

r:Fulfiller

r:Grant

r:GrantGroup

r:GrantGroupPattern

r:GrantPattern

r:KeyHolder

r:PatternFromLicensePart

r:PrerequisiteRight

r:PropertyPossessor

r:Revocable

r:RevocationFreshness

r:ServiceReference

r:TrustedRootGrants

r:TrustedRootIssuers

sx:CallForCondition

sx:FeeFlat

sx:FeeMetered

sx:FeePerInterval

sx:FeePerUse

sx:FeePerUsePrePay

sx:Rate

sx:StateReferenceValuePattern

sx:Territory

sx:Uddi

sx:ValidityIntervalDurationPattern

sx:ValidityIntervalStartsNow

sx:ValidityTimePeriodic

sx:WsdlAddress

sx:WsdlComplete

r:datum

r:depthConstraint

r:digitalResource

and sx:WsdlAddress/sx:kind/sx:wsdl

and sx:WsdlComplete/sx:wsdl

r:exerciseMechanism

r:existsRight

r:fulfiller

r:grant

r:grantGroup

r:grantGroupPattern

r:grantPattern

r:keyHolder

r:patternFromLicensePart

r:prerequisiteRight

r:propertyPossessor

r:revocable

r:revocationFreshness

r:serviceReference

r:trustedRootGrants

r:trustedRootIssuers

sx:callForCondition

sx:feeFlat

sx:feeMetered

sx:feePerInterval

sx:feePerUse

sx:feePerUsePrePay

sx:rate

sx:stateReferenceValuePattern

sx:territory

sx:uddi

sx:validityIntervalDurationPattern

sx:validityIntervalStartsNow

sx:validityTimePeriodic

sx:wsdlAddress

sx:wsdlComplete

36

Page 40: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8anonymous type defined in mx:complement

mx:Destination

mx:DiCriteria

mx:DiItemReference

mx:DiPartOf

mx:DiReference

mx:IsMarked

mx:Mark

mx:ResourceSignedBy

mx:Source

mx:Transaction

mx:complement

mx:destination

mx:diCriteria

mx:diItemReference

mx:diPartOf

mx:diReference

mx:isMarked

mx:mark

mx:resourceSignedBy

mx:source

mx:transaction

The following is a list of types that declare an optional content model but specify an exception to the rule of 7.4.1.

Types Elements using those types directly

anonymous type defined in mx:union

anonymous type defined in mx:intersection

mx:RequiredAttributeChanges

mx:ProhibitedAttributeChanges

mx:union

mx:intersection

mx:requiredAttributeChanges

mx:prohibitedAttributeChanges

8.1.2.3.2 Examples that Violate the Rules

<r:license>

<r:grant>

<r:keyHolder/>

<mx:play/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinemusic.com/mySong.mp3"/>

</r:digitalResource>

</r:grant>

<r:issuer/>

</r:license>

8.1.2.4 Encrypted content

8.1.2.4.1 The Rules

7.3.6 of the REL [1] specifies the following rule:

An r:EncryptedContent shall have an xenc:Type attribute with a value of http://www.w3.org/2001/04/xmlenc#Content.

37

Page 41: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-88.1.2.4.2 Examples that Violate the Rules

<r:license>

<r:grant>

<r:encryptedGrant>

<xenc:CipherData>

<xenc:CipherValue/>

</xenc:CipherData>

</r:encryptedGrant>

</r:grant>

</r:license>

8.1.3 References

1. w5839, ISO/IEC 21000, Part 5, Rights Expression Language, FDIS, August 2003.2. w5840, MPEG-21 REL/RDD Software Implementation Plan v.3, Trondheim, Norway, July

2003.3. m10001, MPEG-21 REL Validation Rules, Brisbane, Australia, October 2003.

8.2 Data Types for Interpretation Conformance

8.2.1 Introduction

This section describes the inputs and outputs for the interpretation conformance reference software, as described in [2], for MPEG-21 REL [1]. As shown in the following diagram, the interpretation conformance reference software takes as input an RELAuthorizationRequest and a set of RELAuthorizationStories and produces as output an RELAuthorizationResult.

The ouput RELAuthorizationResult can have two values: RELProven, if there is an authorization proof within the input set of

RELAuthorizationStories for the input RELAuthorizationRequest and all other authorization proofs used in establishing that authorization proof are also within the input set of RELAuthorizationStories, and

RELNotProven, otherwise (i.e., if there is no authorization proof within the input set of RELAuthorizationStories for the input RELAuthorizationRequest or if not all other authorization proofs used in establishing that authorization proof are also within the input set of RELAuthorizationStories).

It is important to understand that the main function of the interpretation conformance reference software for REL is to test if an application interprets REL Licenses in a way that is conformant to the REL specification. If an application is intended to permit (or not permit) a Principal to use a

38

Page 42: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8Resource only based upon a set of REL Licenses, it should be possible to construct an RELAuthorizationRequest that reflects the intended request and a set of RELAuthorizationStories, such that the application permits the use if and only if when they are passed as as its inputs, the interpretation conformance reference software yields an RELAuthorizationResult with the value RELProven. If this is the case, then the application is said to be interpretation conformant to the REL specification [1] in making that permission (or no permission) decision.

8.2.2 Data Types

Unless specified otherwise below, NULL values and encrypted things are not allowed.

8.2.2.1 RELAuthorizationRequest

Member Data type Allowed values

principal RELNode Any r:Principal or NULL

Note: A NULL value here corresponds to the case where the Principal Member of the authorization request is absent as described in the REL.

right RELNode Any r:Right

resource RELNode Any r:Resource or NULL

Note: A NULL value here corresponds to the case where the Resource Member of the authorization request is absent as described in the REL.

interval RELInterval Any

context RELAuthorizationContext Any

licenses Vector<RELNode> Any r:License elements each with one r:issuer child

roots Vector<RELNode> Any r:Grant elements

8.2.2.2 RELAuthorizationContext

Member Data type Allowed values

properties Map<RELPropertyName, Object> Any

8.2.2.3 RELAuthorizationStory

Member Data type Allowed values

G RELNode Any primitive grant

H RELNode Any r:Grant or r:GrantGroup

E RELAuthorizer Any or NULL

39

Page 43: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8

Note: A NULL value here corresponds to the case where the authorizer member of the authorization story is absent as described in the REL.

8.2.2.4 RELAuthorizer

Member Data type Allowed values

license RELNode Any r:License with one r:issuer child

principal RELNode Any r:Principal

instant RELDateTime Any

context RELAuthorizationContext Any

story RELAuthorizationStory Any

8.2.2.5 RELAuthorizationResult

Member Data type Allowed values

result enumeration "RELProven" or "RELNotProven"

Note: If the RELAuthorizationContext in the input does not contain all the needed properties, the RELAuthorizationResult will be RELNotProven. If there are other exceptions such as "out of memory," "can not read input file," etc., these should be handled as exceptions and shouldn't have any normative implications within the Reference Software part.

8.2.2.6 RELInterval

Member Data type Allowed values

Start RELDateTime Any

End RELDateTime Any

8.2.2.7 RELPropertyName

Member Data type Allowed values

qname RELQName Any

40

Page 44: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8parameters Vector<Object> Any

8.2.2.8 RELQName

Member Data type Allowed values

Ns String Any URI

local String Any xsd:NCName

8.2.2.9 RELNode

Used for XML nodes.

8.2.2.10 RELDateTime

Used for xsd:dateTime values.

8.2.2.11 Vector

Used for any ordered tuples that do not have their own specific type.

8.2.3 XML Representation

In order to be able to store inputs in files, an input file format is needed. The attached XML Schemas can be used for this purpose.

<?xml version="1.0" encoding="UTF-8"?>

<xsd:schema targetNamespace="urn:mpeg:mpeg21:2003:01-SW-NS:REL" xmlns:swrel="urn:mpeg:mpeg21:2003:01-SW-NS:REL" xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">

<xsd:import namespace="urn:mpeg:mpeg21:2003:01-REL-R-NS" schemaLocation="rel-r.xsd"/>

<xsd:element name="RELAuthorizationRequest">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="principal">

<xsd:complexType>

<xsd:sequence minOccurs="0">

<xsd:element ref="r:principal"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="right">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref="r:right"/>

</xsd:sequence>

41

Page 45: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8</xsd:complexType>

</xsd:element>

<xsd:element name="resource">

<xsd:complexType>

<xsd:sequence minOccurs="0">

<xsd:element ref="r:resource"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="interval">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref="swrel:RELInterval"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="context">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref="swrel:RELAuthorizationContext"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="licenses">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref="r:license" minOccurs="0" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="roots">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref="r:grant" minOccurs="0" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="RELAuthorizationStory">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="g">

<xsd:complexType>

<xsd:sequence>

42

Page 46: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8<xsd:element ref="r:grant"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="h">

<xsd:complexType>

<xsd:choice>

<xsd:element ref="r:grant"/>

<xsd:element ref="r:grantGroup"/>

</xsd:choice>

</xsd:complexType>

</xsd:element>

<xsd:element name="e">

<xsd:complexType>

<xsd:sequence minOccurs="0">

<xsd:element name="RELAuthorizer"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="RELAuthorizationContext">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="properties">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="property" minOccurs="0" maxOccurs="unbounded">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref="swrel:RELPropertyName"/>

<xsd:any namespace="##any" processContents="lax"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="RELAuthorizer">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="license">

43

Page 47: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8<xsd:complexType>

<xsd:sequence>

<xsd:element ref="r:license"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="principal">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref="r:principal"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="instant" type="xsd:dateTime"/>

<xsd:element name="context">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref="swrel:RELAuthorizationContext"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="story">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref="swrel:RELAuthorizationStory"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="RELAuthorizationResult">

<xsd:simpleType>

<xsd:restriction base="xsd:NMTOKEN">

<xsd:enumeration value="RELProven"/>

<xsd:enumeration value="RELNotProven"/>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name="RELInterval">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="start" type="xsd:dateTime"/>

<xsd:element name="end" type="xsd:dateTime"/>

</xsd:sequence>

</xsd:complexType>

44

Page 48: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8</xsd:element>

<xsd:element name="RELPropertyName">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="qname">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref="swrel:RELQName"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="parameters">

<xsd:complexType>

<xsd:sequence>

<xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="RELQName">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="ns" type="xsd:anyURI"/>

<xsd:element name="local" type="xsd:NCName"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:schema>

8.2.4 References

1. w5839, ISO/IEC 20001, Part 5, Rights Expression Language, FDIS, August 2003.2. w5840, MPEG-21 REL/RDD Software Implementation Plan v.3, Trondheim, Norway, July

2003.3. m10000, Data Types for MPEG-21 REL Interpretation Conformance Software, Brisbane,

Australia, October 2003.

8.3 REL Authorization Request Validation Rules

The REL Authorization Request Validation Rules consist of a set of rules that apply to the individual members of any Authorization Request, and a set of rules that apply to the Right member of an Authorization Request, based on its values from the specific rights in the REL specification [1].

45

Page 49: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8

8.3.1 Rules for any Authorization Request

The following table lists the members of an Authorization Request in the order of their appearance in the Authorization Request and any rules that are relevant to each member.

Authorization Request Member Validation Rules

r:Principal None.

r:Right None.

r:Resource None.

Interval of time None.

Authorization Context Must not have two properties that share the same property name. Each property consists of exactly one name and one value.

r:License elements Each of the r:License elements l must have exactly one l/r:issuer child. In addition, all the r:License elements must pass all of the REL validation rules applicable to a r:License element [4].

r:Grant elements Must pass all of the REL validation rules related to a r:Grant element [4].

Additionally, the following rule applies to the Authorization Request as a whole: No fields in the Authorization Request may contain an r:encryptedLicense,

r:encryptedGrant, or r:encryptedGrantGroup.

8.3.2 Rules for the Right Member

Depending on the value of the Right Member of an Authorization Request, additional rules apply. The following sub-sections provide the r:Rights defined in the Core and Multimedia Schemas of the MPEG-21 REL standard specification [1] and the rules that they impose. For convenience, the validation rules that are copied directly from the MPEG-21 REL specification [1] are highlighted.

8.3.2.1 r:IssueIf r:Issue is used as the Right Member of an authorization request, then the Resource Member of that authorization request shall be present and shall be an r:Grant or an r:GrantGroup. (Section 7.6.1 [1])

8.3.2.2 r:ObtainIf r:Obtain is used as the Right Member of an authorization request, then the Resource Member of that authorization request shall be present and shall be an r:Grant or an r:GrantGroup and, letting be the Authorization Context Member of that authorization request, .r:fulfiller() shall identify the Principal who is requested to be the issuer of l. (Section 7.6.2 [1])

46

Page 50: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-88.3.2.3 r:PossessPropertyIf r:PossessProperty is used as the Right Member of an authorization request, then the Resource Member of that authorization request shall be present and shall be an r:PropertyAbstract. (Section 7.6.3 [1])

8.3.2.4 r:RevokeIf r:Revoke is used as the Right Member of an authorization request, then the Resource Member of that authorization request shall be present and shall identify a revocable. (Section 7.6.4 [1])

8.3.2.5 mx:AdaptIf mx:Adapt is used as the Right Member of an authorization request, then both the Resource Member of that authorization request shall be present and shall identify the SourceOfAdaptation as defined in ISO/IEC 21000-6 [3] and, letting be the Authorization Context Member of that authorization request, both .mx:source() shall identify the repository that is the PlaceOfAdaptingFrom as defined in ISO/IEC 21000-6 and .mx:destination() shall identify the repository that is the PlaceOfAdaptingTo as defined in ISO/IEC 21000-6. (Section 9.6.1 [1])

8.3.2.6 mx:DeleteIf mx:Delete is used as the Right Member of an authorization request, then both the Resource Member of that authorization request shall be present and shall identify the DeletedResource as defined in ISO/IEC 21000-6 and, letting be the Authorization Context Member of that authorization request, .mx:source() shall identify the repository that is the PlaceOfDeleting as defined in ISO/IEC 21000-6. (Section 9.6.2 [1])

8.3.2.7 mx:DiminishIf mx:Diminish is used as the Right Member of an authorization request, then both the Resource Member of that authorization request shall be present and shall identify the SourceOfDiminution as defined in ISO/IEC 21000-6 and, letting be the Authorization Context Member of that authorization request, both .mx:source() shall identify the repository that is the PlaceOfDiminishingFrom as defined in ISO/IEC 21000-6 and .mx:destination() shall identify the repository that is the PlaceOfDiminishingTo as defined in ISO/IEC 21000-6. (Section 9.6.3 [1])

8.3.2.8 mx:EmbedIf mx:Embed is used as the Right Member of an authorization request, then both the Resource Member of that authorization request shall be present and shall identify the EmbeddedResource as defined in ISO/IEC 21000-6 and, letting be the Authorization Context Member of that authorization request, both .mx:source() shall identify the repository that is the PlaceOfEmbeddingFrom as defined in ISO/IEC 21000-6 and .mx:destination() shall identify the repository that is the PlaceOfEmbeddingTo as defined in ISO/IEC 21000-6. (Section 9.6.4 [1])

8.3.2.9 mx:EnhanceIf mx:Enhance is used as the Right Member of an authorization request, then both the Resource Member of that authorization request shall be present and shall identify the SourceOfEnhancement as defined in ISO/IEC 21000-6 and, letting be the Authorization Context Member of that authorization request, both S.mx:source() shall identify the repository that is the PlaceOfEnhancingFrom as defined in ISO/IEC 21000-6 and .mx:destination() shall identify the repository that is the PlaceOfEnhancingTo as defined in ISO/IEC 21000-6. (Section 9.6.5 [1])

8.3.2.10 mx:EnlargeIf mx:Enlarge is used as the Right Member of an authorization request, then both the Resource Member of that authorization request shall be present and shall identify the EnlargedResource as defined in ISO/IEC 21000-6 and, letting be the Authorization Context Member of that authorization request,

47

Page 51: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8.mx:source() shall identify the repository that is the PlaceOfEnlarging as defined in ISO/IEC 21000-6. (Section 9.6.6 [1])

8.3.2.11 mx:ExecuteIf mx:Execute is used as the Right Member of an authorization request, then both the Resource Member of that authorization request shall be present and shall identify the ExecutedResource as defined in ISO/IEC 21000-6 and, letting be the Authorization Context Member of that authorization request, .mx:source() shall identify the repository that is the PlaceOfExecuting as defined in ISO/IEC 21000-6. (Section 9.6.7 [1])

8.3.2.12 mx:InstallIf mx:Install is used as the Right Member of an authorization request, then both the Resource Member of that authorization request shall be present and shall identify the InstallingResource as defined in ISO/IEC 21000-6 and, letting be the Authorization Context Member of that authorization request .mx:source() shall identify the repository that is the PlaceOfInstalling as defined in ISO/IEC 21000-6. (Section 9.6.8 [1])

8.3.2.13 mx:ModifyIf mx:Modify is used as the Right Member of an authorization request, then both the Resource Member of that authorization request shall be present and shall identify the ModifiedResource as defined in ISO/IEC 21000-6 and, letting be the Authorization Context Member of that authorization request, .mx:source() shall identify the repository that is the PlaceOfModifying as defined in ISO/IEC 21000-6. (Section 9.6.9 [1])

8.3.2.14 mx:MoveIf mx:Move is used as the Right Member of an authorization request, then both the Resource Member of that authorization request shall be present and shall identify the MovedResource as defined in ISO/IEC 21000-6 and, letting be the Authorization Context Member of that authorization request, both .mx:source() shall identify the repository that is the Origin as defined in ISO/IEC 21000-6 and .mx:destination() shall identify the repository that is the Destination as defined in ISO/IEC 21000-6. (Section 9.6.10 [1])

8.3.2.15 mx:PlayIf mx:Play is used as the Right Member of an authorization request, then both the Resource Member of that authorization request shall be present and shall identify the SourceOfPlaying as defined in ISO/IEC 21000-6 and, letting be the Authorization Context Member of that authorization request, .mx:source() shall identify the repository that is the PlaceOfPlayingFrom as defined in ISO/IEC 21000-6. (Section 9.6.11 [1])

8.3.2.16 mx:PrintIf mx:Print is used as the Right Member of an authorization request, then both the Resource Member of that authorization request shall be present and shall identify the SourceOfPrintedResource as defined in ISO/IEC 21000-6 and, letting be the Authorization Context Member of that authorization request, .mx:source() shall identify the repository that is the PlaceOfPrintingFrom as defined in ISO/IEC 21000-6. (Section 9.6.12 [1])

8.3.2.17 mx:ReduceIf mx:Reduce is used as the Right Member of an authorization request, then both the Resource Member of that authorization request shall be present and shall identify the ReducedResource as defined in ISO/IEC 21000-6 and, letting be the Authorization Context Member of that authorization request, .mx:source() shall identify the repository that is the PlaceOfReducing as defined in ISO/IEC 21000-6. (Section 9.6.13 [1])

48

Page 52: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-88.3.2.18 mx:UninstallIf mx:Uninstall is used as the Right Member of an authorization request, then both the Resource Member of that authorization request shall be present and shall identify the UninstallingResource as defined in ISO/IEC 21000-6 and, letting be the Authorization Context Member of that authorization request .mx:source() shall identify the repository that is the PlaceOfUninstalling as defined in ISO/IEC 21000-6. (Section 9.6.14 [1])

8.3.3 Rule Validation Examples

For some of the rules, examples are provided to show how the rule is accomplished and how the rule can be violated.

8.3.3.1Examples for r:obtain

The example below shows an REL Authorization Request file that accomplishes the rule for r:obtain listed in Section 2.2.2.

8.3.3.1.1 Example that Accomplishes the RuleThe highlighted parts are:

• The Resource member of the Authorization Request that shall be present and shall be a r:grant or r:grantGroup.

• The Context member that shall be present and shall identify the Principal who is requested to be the issuer of the license.

<RELAuthorizationRequest xmlns="urn:mpeg:mpeg21:2003:01-SW-NS:REL" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:mpeg21:2003:01-SW-NS:REL sw-rel.xsd">

<principal>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

</principal>

<right>

<r:obtain/>

</right>

<resource>

<r:grant>

<mx:play/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinemusic.com/mySong.mp3"/>

49

Page 53: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8</r:digitalResource>

<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-25T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

</resource>

<interval>

<RELInterval>

<start>2003-10-29T17:00:00</start>

<end>2003-10-29T18:00:00</end>

</RELInterval>

</interval>

<context>

<RELAuthorizationContext>

<properties>

<property>

<RELPropertyName>

<qname>

<RELQName>

<ns>urn:mpeg:mpeg21:2003:01-REL-R-NS</ns>

<local>fulfiller</local>

</RELQName>

</qname>

<parameters/>

</RELPropertyName>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>X0j9q99yzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

</property>

<property>

<RELPropertyName>

<qname>

<RELQName>

<ns>urn:mpeg:mpeg21:2003:01-REL-R-NS</ns>

<local>issueTime</local>

</RELQName>

</qname>

<parameters>

50

Page 54: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8 <r:license>

<r:grant>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<r:obtain/>

<r:grant>

<mx:play/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinemusic.com/mySong.mp3"/>

</r:digitalResource>

<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-25T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-31T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<r:issuer>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>X0j9q99yzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

</r:issuer>

</r:license>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>X0j9q99yzA==</dsig:Modulus>

51

Page 55: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8 <dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

</parameters>

</RELPropertyName>

<RELSimple xsi:type="xsd:dateTime">2003-11-21T17:00:00</RELSimple>

</property>

<property>

<RELPropertyName>

<qname>

<RELQName>

<ns>urn:mpeg:mpeg21:2003:01-REL-R-NS</ns>

<local>issueContext</local>

</RELQName>

</qname>

<parameters>

<r:license>

<r:grant>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<r:obtain/>

<r:grant>

<mx:play/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinemusic.com/mySong.mp3"/>

</r:digitalResource>

<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-25T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-31T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

52

Page 56: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8 <r:issuer>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>X0j9q99yzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

</r:issuer>

</r:license>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>X0j9q99yzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<r:grant>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<r:obtain/>

<r:grant>

<mx:play/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinemusic.com/mySong.mp3"/>

</r:digitalResource>

<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-25T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<r:validityInterval>

53

Page 57: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8 <r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-31T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<RELAuthorizationContext>

<properties/>

</RELAuthorizationContext>

</parameters>

</RELPropertyName>

<RELSimple xsi:type="xsd:string">true</RELSimple>

</property>

</properties>

</RELAuthorizationContext>

</context>

<licenses>

<r:license>

<r:grant>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<r:obtain/>

<r:grant>

<mx:play/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinemusic.com/mySong.mp3"/>

</r:digitalResource>

<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-25T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-31T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<r:issuer>

<r:keyHolder>

<r:info>

54

Page 58: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>X0j9q99yzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

</r:issuer>

</r:license>

</licenses>

<roots>

<r:grant>

<r:forAll varName="anyResource"/>

<r:issue/>

<r:resource varRef="anyResource"/>

</r:grant>

</roots>

</RELAuthorizationRequest>

8.3.3.1.2 Example that Violates the RuleThe example below shows a REL Authorization Request file that does not accomplish the rule for r:obtain in Section 2.2.2, because of the resource member of the authorization request does not identify a r:grant or r:grantGroup because it is empty.

<RELAuthorizationRequest xmlns="urn:mpeg:mpeg21:2003:01-SW-NS:REL" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:mpeg21:2003:01-SW-NS:REL sw-rel.xsd">

<principal>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

</principal>

<right>

<r:obtain/>

</right>

<resource/>

55

Page 59: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8<interval>

<RELInterval>

<start>2003-10-29T17:00:00</start>

<end>2003-10-29T18:00:00</end>

</RELInterval>

</interval>

<context>

<RELAuthorizationContext>

<properties>

<property>

<RELPropertyName>

<qname>

<RELQName>

<ns>urn:mpeg:mpeg21:2003:01-REL-R-NS</ns>

<local>fulfiller</local>

</RELQName>

</qname>

<parameters/>

</RELPropertyName>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>X0j9q99yzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

</property>

<property>

<RELPropertyName>

<qname>

<RELQName>

<ns>urn:mpeg:mpeg21:2003:01-REL-R-NS</ns>

<local>issueTime</local>

</RELQName>

</qname>

<parameters>

<r:license>

<r:grant>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

56

Page 60: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8 <dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<r:obtain/>

<r:grant>

<mx:play/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinemusic.com/mySong.mp3"/>

</r:digitalResource>

<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-25T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-31T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<r:issuer>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>X0j9q99yzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

</r:issuer>

</r:license>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>X0j9q99yzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

</parameters>

</RELPropertyName>

57

Page 61: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8 <RELSimple xsi:type="xsd:dateTime">2003-11-21T17:00:00</RELSimple>

</property>

<property>

<RELPropertyName>

<qname>

<RELQName>

<ns>urn:mpeg:mpeg21:2003:01-REL-R-NS</ns>

<local>issueContext</local>

</RELQName>

</qname>

<parameters>

<r:license>

<r:grant>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<r:obtain/>

<r:grant>

<mx:play/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinemusic.com/mySong.mp3"/>

</r:digitalResource>

<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-25T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-31T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<r:issuer>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>X0j9q99yzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

58

Page 62: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8 </dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

</r:issuer>

</r:license>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>X0j9q99yzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<r:grant>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<r:obtain/>

<r:grant>

<mx:play/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinemusic.com/mySong.mp3"/>

</r:digitalResource>

<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-25T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-31T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<RELAuthorizationContext>

<properties/>

</RELAuthorizationContext>

59

Page 63: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8</parameters>

</RELPropertyName>

<RELSimple xsi:type="xsd:string">true</RELSimple>

</property>

</properties>

</RELAuthorizationContext>

</context>

<licenses>

<r:license>

<r:grant>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<r:obtain/>

<r:grant>

<mx:play/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinemusic.com/mySong.mp3"/>

</r:digitalResource>

<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-25T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<r:validityInterval>

<r:notBefore>2003-01-01T00:00:00</r:notBefore>

<r:notAfter>2003-12-31T12:59:59</r:notAfter>

</r:validityInterval>

</r:grant>

<r:issuer>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>X0j9q99yzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

60

Page 64: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8</r:keyHolder>

</r:issuer>

</r:license>

</licenses>

<roots>

<r:grant>

<r:forAll varName="anyResource"/>

<r:issue/>

<r:resource varRef="anyResource"/>

</r:grant>

</roots>

</RELAuthorizationRequest>

8.3.3.2Examples for mx:adapt

The example below shows a REL Authorization Request file that accomplishes the rule for mx:adapt listed in Section 2.2.5.

8.3.3.2.1 Example that Accomplishes the Rules The highlighted parts are:

• The resource member of the authorization request that shall be present and shall identify the source of adaptation.

• The context member that shall be present and shall identify the repositories.

<RELAuthorizationRequest xmlns="urn:mpeg:mpeg21:2003:01-SW-NS:REL" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:mpeg21:2003:01-SW-NS:REL sw-rel.xsd">

<principal>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

</principal>

<right>

<mx:adapt/>

</right>

<resource>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinephotos.com/Image.jpg"/>

61

Page 65: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8</r:digitalResource>

</resource>

<interval>

<RELInterval>

<start>2003-10-29T17:00:00</start>

<end>2003-10-29T17:59:59</end>

</RELInterval>

</interval>

<context>

<RELAuthorizationContext>

<properties>

<property>

<RELPropertyName>

<qname>

<RELQName>

<ns>urn:mpeg:mpeg21:2003:01-REL-MX-NS</ns>

<local>source</local>

</RELQName>

</qname>

<parameters/>

</RELPropertyName>

<r:keyHolder>

<r:info>

<dsig:KeyName>sourceDevice</dsig:KeyName>

</r:info>

</r:keyHolder>

</property>

<property>

<RELPropertyName>

<qname>

<RELQName>

<ns>urn:mpeg:mpeg21:2003:01-REL-MX-NS</ns>

<local>destination</local>

</RELQName>

</qname>

<parameters/>

</RELPropertyName>

<r:keyHolder>

<r:info>

<dsig:KeyName>destinationDevice</dsig:KeyName>

</r:info>

</r:keyHolder>

</property>

<property>

<RELPropertyName>

<qname>

62

Page 66: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8<RELQName>

<ns>urn:mpeg:mpeg21:2003:01-REL-R-NS</ns>

<local>issueTime</local>

</RELQName>

</qname>

<parameters>

<r:license>

<r:grant>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<mx:adapt/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinephotos.com/Image.jpg"/>

</r:digitalResource>

</r:grant>

<r:issuer>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>X0j9q99yzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

</r:issuer>

</r:license>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>X0j9q99yzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

63

Page 67: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8</parameters>

</RELPropertyName>

<RELSimple xsi:type="xsd:dateTime">2003-10-21T17:00:00</RELSimple>

</property>

<property>

<RELPropertyName>

<qname>

<RELQName>

<ns>urn:mpeg:mpeg21:2003:01-REL-R-NS</ns>

<local>issueContext</local>

</RELQName>

</qname>

<parameters>

<r:license>

<r:grant>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<mx:adapt/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinephotos.com/Image.jpg"/>

</r:digitalResource>

</r:grant>

<r:issuer>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>X0j9q99yzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

</r:issuer>

</r:license>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

64

Page 68: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8 <dsig:RSAKeyValue>

<dsig:Modulus>X0j9q99yzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<r:grant>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<mx:adapt/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinephotos.com/Image.jpg"/>

</r:digitalResource>

</r:grant>

<RELAuthorizationContext>

<properties/>

</RELAuthorizationContext>

</parameters>

</RELPropertyName>

<RELSimple xsi:type="xsd:string">true</RELSimple>

</property>

</properties>

</RELAuthorizationContext>

</context>

<licenses>

<r:license>

<r:grant>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

65

Page 69: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8 <mx:adapt/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinephotos.com/Image.jpg"/>

</r:digitalResource>

</r:grant>

<r:issuer>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>X0j9q99yzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

</r:issuer>

</r:license>

</licenses>

<roots>

<r:grant>

<r:forAll varName="anyResource"/>

<r:issue/>

<r:resource varRef="anyResource"/>

</r:grant>

</roots>

</RELAuthorizationRequest>

8.3.3.2.2 Example that Violates the RulesThe example below shows an REL Authorization Request that does not accomplish the rule for mx:adapt in Section 2.2.5, because of the Resource member of the Authorization Request does not identify a source of adaptation because it is empty.

<RELAuthorizationRequest xmlns="urn:mpeg:mpeg21:2003:01-SW-NS:REL" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:sx="urn:mpeg:mpeg21:2003:01-REL-SX-NS" xmlns:mx="urn:mpeg:mpeg21:2003:01-REL-MX-NS" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:mpeg21:2003:01-SW-NS:REL sw-rel.xsd">

<principal>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

66

Page 70: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8</r:keyHolder>

</principal>

<right>

<mx:adapt/>

</right>

<resource/>

<interval>

<RELInterval>

<start>2003-10-29T17:00:00</start>

<end>2003-10-29T17:59:59</end>

</RELInterval>

</interval>

<context>

<RELAuthorizationContext>

<properties>

<property>

<RELPropertyName>

<qname>

<RELQName>

<ns>urn:mpeg:mpeg21:2003:01-REL-MX-NS</ns>

<local>source</local>

</RELQName>

</qname>

<parameters/>

</RELPropertyName>

<r:keyHolder>

<r:info>

<dsig:KeyName>sourceDevice</dsig:KeyName>

</r:info>

</r:keyHolder>

</property>

<property>

<RELPropertyName>

<qname>

<RELQName>

<ns>urn:mpeg:mpeg21:2003:01-REL-MX-NS</ns>

<local>destination</local>

</RELQName>

</qname>

<parameters/>

</RELPropertyName>

<r:keyHolder>

<r:info>

<dsig:KeyName>destinationDevice</dsig:KeyName>

</r:info>

</r:keyHolder>

67

Page 71: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8</property>

<property>

<RELPropertyName>

<qname>

<RELQName>

<ns>urn:mpeg:mpeg21:2003:01-REL-R-NS</ns>

<local>issueTime</local>

</RELQName>

</qname>

<parameters>

<r:license>

<r:grant>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<mx:adapt/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinephotos.com/Image.jpg"/>

</r:digitalResource>

</r:grant>

<r:issuer>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>X0j9q99yzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

</r:issuer>

</r:license>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>X0j9q99yzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

68

Page 72: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8 </dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

</parameters>

</RELPropertyName>

<RELSimple xsi:type="xsd:dateTime">2003-10-21T17:00:00</RELSimple>

</property>

<property>

<RELPropertyName>

<qname>

<RELQName>

<ns>urn:mpeg:mpeg21:2003:01-REL-R-NS</ns>

<local>issueContext</local>

</RELQName>

</qname>

<parameters>

<r:license>

<r:grant>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<mx:adapt/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinephotos.com/Image.jpg"/>

</r:digitalResource>

</r:grant>

<r:issuer>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>X0j9q99yzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

</r:issuer>

69

Page 73: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8 </r:license>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>X0j9q99yzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<r:grant>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<mx:adapt/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinephotos.com/Image.jpg"/>

</r:digitalResource>

</r:grant>

<RELAuthorizationContext>

<properties/>

</RELAuthorizationContext>

</parameters>

</RELPropertyName>

<RELSimple xsi:type="xsd:string">true</RELSimple>

</property>

</properties>

</RELAuthorizationContext>

</context>

<licenses>

<r:license>

<r:grant>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>KtdToQQyzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

70

Page 74: INTERNATIONAL ORGANISATION FOR … · Web viewThis section is meant to summarize the validation rules for XML documents to be valid MPEG-21 REL expressions (i.e., REL Licenses) beyond

ISO/IEC CD 21000-8 </dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

<mx:adapt/>

<r:digitalResource>

<r:nonSecureIndirect URI="http://www.onlinephotos.com/Image.jpg"/>

</r:digitalResource>

</r:grant>

<r:issuer>

<r:keyHolder>

<r:info>

<dsig:KeyValue>

<dsig:RSAKeyValue>

<dsig:Modulus>X0j9q99yzA==</dsig:Modulus>

<dsig:Exponent>AQABAA==</dsig:Exponent>

</dsig:RSAKeyValue>

</dsig:KeyValue>

</r:info>

</r:keyHolder>

</r:issuer>

</r:license>

</licenses>

<roots>

<r:grant>

<r:forAll varName="anyResource"/>

<r:issue/>

<r:resource varRef="anyResource"/>

</r:grant>

</roots>

</RELAuthorizationRequest>

8.3.4 References1. w5839, ISO/IEC 21000, Part 5, Rights Expression Language, FDIS, July 2003.2. w5931, MPEG-21 REL/RDD Software Implementation Plan v.4, Brisbane, Australia, October

2003.3. w5842, ISO/IEC 21000, Part 6, Rights Data Dictionary, FDIS, July 2003.4. w6068, ISO/IEC 21000, Part 8, MPEG-21 Reference Software, Working Draft v3.0, Brisbane,

Australia, October 2003.

71