Table 5.1 is the table of contents for this clause.
5.2 Abstract syntax of a transmittal 5.2.2 ENCODING ELEMENT grammar 5.2.4 Transmittal root file grammar 5.2.5 Transmittal object file grammar 5.2.6 Transmittal image file grammar |
This clause specifies the abstract syntax of a transmittal when organized into one or more persistent files. It includes not only the actual content of a transmittal but also the information needed to properly process the files that constitute the encoded transmittal.
The following notation is used in this clause:
Metasymbol |
Meaning |
---|---|
::= |
“becomes” or “is realized as” |
<…>* |
0 or more occurrences |
<…>+ |
1 or more occurrences |
<…>° |
0 or 1 occurrence |
<…>n |
exactly n occurrences where n is a positive integer |
<x | y> |
exactly one of x or y |
The abstract syntax of an encoded transmittal shall conform to the formal grammar specified in this clause. The following are the terminal symbols of this formal grammar.
<BEGIN TRANSMITTAL ROOT FILE>
<DRM OBJECT>
<END TRANSMITTAL ROOT FILE>
<ENCODING ELEMENT>
<TRANSMITTAL FILE FORMAT AND VERSION>
<TRANSMITTAL FILE DESCRIPTION>
<TRANSMITTAL NAME>
<ROOT FILE NAME>
<DRM OBJECT FILE REFERENCE>
<IMAGE DATA FILE REFERENCE>
<DATA TABLE DATA FILE REFERENCE>
<DRM OBJECT LABEL>
<BEGIN TRANSMITTAL OBJECT FILE>
<END TRANSMITTAL OBJECT FILE>
<BEGIN TRANSMITTAL IMAGE DATA FILE>
<IMAGE DATA INSTANCE>
<END TRANSMITTAL IMAGE DATA FILE>
<BEGIN TRANSMITTAL DATA TABLE DATA FILE>
<DATA TABLE DATA INSTANCE>
<END TRANSMITTAL DATA TABLE DATA FILE>
<DRM CLASS NAME>
<FIELD>
<DRM OBJECT REFERENCE>
<TRANSMITTAL REFERENCE>
<IMAGE DATA>
<DATA TABLE DATA>
An encoding complying with the abstract transmittal format provides a specification of these terminal symbols that can be optimized for particular purposes.
An ENCODING ELEMENT is one that is not part of the data but is needed by the encoding to properly represent the content or document the content. The symbol <ee> is defined to allow more visual impact for the other symbols during grammar presentation.
<ee> ::= <ENCODING ELEMENT>
The production rule for <transmittal> is:
<transmittal> ::= <transmittal root file> <transmittal content file>*
<transmittal content file> ::= <transmittal object file> |
<transmittal image data file> |
<transmittal data table data file>
The production rule for <transmittal root file> is:
<transmittal root file> ::= <BEGIN TRANSMITTAL ROOT FILE>
<ee>*
<transmittal file descriptor>
<ee>*
<root file descriptor>
<ee>* <root object reference> <ee>*
<DRM OBJECT>*
<ee>*
<END TRANSMITTAL ROOT FILE>
<transmittal file descriptor> ::= < <TRANSMITTAL FILE FORMAT AND VERSION>
<ee>*
<TRANSMITTAL FILE DESCRIPTION>*
<ee>* >
<root object reference> ::= <DRM OBJECT REFERENCE>
<root file descriptor> ::= < <ee>*
<transmittal file list>°
<ee>*
<referenced transmittal list>°
<ee>*
<referenced DRM object list>°
<ee>*
<published DRM object list>°
<ee>*
<TRANSMITTAL NAME>
<ee>*
<ROOT FILE NAME>
<ee>*
>
<transmittal file list> ::= <ee>*
< <OBJECT FILE REFERENCE> |
<IMAGE DATA FILE REFERENCE> |
<DATA TABLE DATA FILE REFERENCE>
>+
<referenced transmittal list> ::= < <ee>*
<TRANSMITTAL NAME>
<ee>*
>+
<referenced DRM object list> ::= < <ee>* <DRM OBJECT LABEL>
<ee>*
<TRANSMITTAL REFERENCE> <ee>*
>+
<published DRM object list> ::= < <ee>* <DRM OBJECT REFERENCE> <ee>*
<DRM OBJECT LABEL>
<ee>*
>+
The production rule for <transmittal object file> is:
<transmittal object file> ::= <BEGIN TRANSMITTAL OBJECT FILE>
<ee>*
<DRM object file descriptor>
<ee>*
<DRM OBJECT>*
<ee>*
<END TRANSMITTAL DRM OBJECT FILE>
<DRM object file descriptor> ::= < <ee>*
<TRANSMITTAL FILE FORMAT AND VERSION>
<ee>*
<referenced file list>°
<ee>*
<ROOT FILE NAME>
>
The production rule for <transmittal image data file> is:
<transmittal image data file> ::= <BEGIN TRANSMITTAL IMAGE DATA FILE>
<ee>*
<DRM object file descriptor>
<ee>*
<IMAGE DATA INSTANCE>*
<ee>*
<END TRANSMITTAL IMAGE DATA FILE>
The production rule for <transmittal data table data file> is:
<transmittal data table data file> ::= <BEGIN TRANSMITTAL DATA TABLE DATA FILE>
<ee>*
<DRM object file descriptor>
<ee>*
<DATA TABLE DATA INSTANCE>*
<ee>*
<END TRANSMITTAL DATA TABLE DATA FILE>
A DRM object represents an instance of a DRM class. Therefore, instances of abstract DRM classes are not encoded. The production rule for <DRM OBJECT> is:
<DRM OBJECT> ::= <DRM CLASS NAME>°
<ee>*
<field list>°
<ee>*
<aggregate reference list>°
<ee>*
<associate reference list>°
<ee>*
<component reference list>°
<ee>*
<IMAGE DATA REFERENCE>° (included for DRM_Image objects only)
<ee>*
<DATA TABLE DATA REFERENCE>° (included for DRM_Data_Table objects only)
<field list> ::= <FIELD>
< <ee>*
<FIELD>
>*
<component reference list> ::= <DRM OBJECT REFERENCE>
< <ee>*
<DRM OBJECT REFERENCE>
>*
<associate reference list> ::= <DRM OBJECT REFERENCE>
< <ee>*
<DRM OBJECT REFERENCE>
>*
<aggregate reference list> ::= <DRM OBJECT REFERENCE>
< <ee>*
<DRM OBJECT REFERENCE>
>*
The tables in 6.3 DRM classes of Part 1 of ISO/IEC 18023 specify the allowable information within each DRM object. For each DRM class, each encoding shall define the form of each of the following terminals based on the allowable information as specified in Part 1 of ISO/IEC 18023:
<FIELD>
<DRM OBJECT REFERENCE>
<IMAGE DATA> (for DRM_Image)
<DATA TABLE DATA> (for DRM_Data_Table)
Each <FIELD> terminal shall encode a single data type as specified for the particular DRM class defined in Clause 6.3 of Part 1 of ISO/IEC 18023. Each encoding shall encode all data types specified in Clause 5 of Part 1 of ISO/IEC 18023 that may exist as a field in a DRM class.
Each <DRM OBJECT REFEREENCE> terminal shall encode appropriate information that allows access to the referenced object. The referenced object shall be encoded elsewhere in the encoded transmittal. This is the encoded representation of the Object data type specified in 5.4.3 Object of Part 1 of ISO/IEC 18023. When used in a <component reference list>, the <DRM OBJECT REFEREENCE> terminals shall reference objects specified in the Composed of rows described in the tables of 6.3 DRM classes of Part 1 of ISO/IEC 18023. When used in an <associate reference list>, the <DRM OBJECT REFEREENCE> terminals shall reference objects specified in the Associated by, Associated to, or Associated with rows described in the tables of 6.3 DRM classes of Part 1 of ISO/IEC 18023. When used in an <aggregate reference list>, the <DRM OBJECT REFERENCE> terminals shall reference objects specified in the Component of rows described in the tables of 6.3 DRM classes of Part 1 of ISO/IEC 18023.
Each <IMAGE DATA> terminal shall encode the data type specified in 5.3.3.108 Image_Data of Part 1 of ISO/IEC 18023.
Each <DATA TABLE DATA> terminal shall encode the data type specified in 5.3.3.63 Data_Table_Data of Part 1 of ISO/IEC 18023.
Each encoding shall also define the placement and order in which this information is encoded for each non-abstract DRM class.
http://www.iso.ch/iso/en/ittf/PubliclyAvailableStandards/ISO_IEC_18023-2_Ed1.html