Information technology — SEDRIS —
Part 2: Abstract transmittal format

5 Transmittal structure

5.1 Introduction and topics

5.1.1 Introduction

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.

5.1.2 Topics

Table 5.1 lists the topics for this clause.

Table 5.1 — Topics

5 Transmittal structure

5.1 Introduction and topics

5.1.1 Introduction

5.1.2 Topics

5.1.3 Notational conventions

5.2 Abstract syntax of a transmittal

5.2.1 Terminals

5.2.2 ENCODING ELEMENT grammar

5.2.3 Transmittal grammar

5.2.4 Transmittal root file grammar

5.2.5 Transmittal object file grammar

5.2.6 Transmittal image file grammar

5.2.7 Transmittal mesh face table data file grammar

5.2.8 Transmittal data table data file grammar

5.2.9 DRM objects

5.1.3 Notational conventions

The following notation is used in this clause:

  1. Upper-case strings are terminals.
  2. Lower-case strings are non-terminals.
  3. The metasymbols in Table 5.2 define productions, grouping, and repetitions.

Table 5.2 — Metasymbols

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

5.2 Abstract syntax of a transmittal

5.2.1 Terminals

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 DATA TABLE DATA FILE>
<BEGIN TRANSMITTAL IMAGE DATA FILE>
<BEGIN TRANSMITTAL MESH FACE TABLE DATA FILE>
<BEGIN TRANSMITTAL OBJECT FILE>
<BEGIN TRANSMITTAL ROOT FILE>
<DATA TABLE DATA>
<DATA TABLE DATA FILE REFERENCE>
<DATA TABLE DATA INSTANCE>
<DRM CLASS NAME>
<DRM OBJECT>
<DRM OBJECT FILE REFERENCE>
<DRM OBJECT LABEL>
<DRM OBJECT REFERENCE>
<END TRANSMITTAL DATA TABLE DATA FILE>
<END TRANSMITTAL IMAGE DATA FILE>
<END TRANSMITTAL MESH FACE TABLE DATA FILE>
<END TRANSMITTAL OBJECT FILE>
<END TRANSMITTAL ROOT FILE>
<ENCODING ELEMENT>
<FIELD>
<IMAGE DATA>
<IMAGE DATA FILE REFERENCE>
<IMAGE DATA INSTANCE>
<MESH FACE TABLE DATA>
<MESH FACE TABLE DATA FILE REFERENCE>
<MESH FACE TABLE DATA INSTANCE>
<ROOT FILE NAME>
<TRANSMITTAL FILE DESCRIPTION>
<TRANSMITTAL FILE FORMAT AND VERSION>
<TRANSMITTAL NAME>
<TRANSMITTAL REFERENCE>

An encoding complying with the abstract transmittal format provides a specification of these terminal symbols that can be optimized for particular purposes.

5.2.2 ENCODING ELEMENT grammar

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>

5.2.3 Transmittal grammar

The production rule for <transmittal> is:

  <transmittal>                 ::= <transmittal root file>
                                    <transmittal content file>* 
  <transmittal content file>    ::= <transmittal object file> |
                                    <transmittal image data file> |
                                    <transmittal mesh face table data file> |
                                    <transmittal data table data file>

5.2.4 Transmittal root file grammar

The production rule for <transmittal root file> is:

  <transmittal root file>              ::= <BEGIN TRANSMITTAL ROOT FILE>
                                           <ee>*
                                           <transmittal file descriptor>
                                           <ee>*
                                           <root object reference>
                                           <ee>*
                                           <root file descriptor>
                                           <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> |
                                             <MESH FACE TABLE DATA FILE REFERENCE> |
                                             <DATA TABLE DATA FILE REFERENCE>
                                           >+
  <referenced transmittal list>        ::= < <ee>*
                                             <TRANSMITTAL NAME>
                                             <ee>*
                                           >+
  <referenced DRM object list>         ::= < <ee>*
                                             <TRANSMITTAL REFERENCE>
                                             <ee>*
                                             <DRM OBJECT LABEL>
                                             <ee>*
                                           >+
  <published DRM object list>          ::= < <ee>*
                                             <DRM OBJECT LABEL>
                                             <ee>*
                                             <DRM OBJECT REFERENCE>
                                             <ee>*
                                           >+

5.2.5 Transmittal object file grammar

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>*
                                             <transmittal file list>°
                                             <ee>*
                                             <ROOT FILE NAME>
                                           >

5.2.6 Transmittal image file grammar

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>

5.2.7 Transmittal mesh face table data file grammar

The production rule for <transmittal data table data file> is:

  <transmittal mesh face table data file>    ::= <BEGIN TRANSMITTAL MESH FACE TABLE DATA FILE>
                                                 <ee>*
                                                 <DRM object file descriptor>
                                                 <ee>*
                                                 <MESH FACE TABLE DATA INSTANCE>*
                                                 <ee>*
                                                 <END TRANSMITTAL MESH FACE TABLE DATA FILE>

5.2.8 Transmittal data table data file grammar

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>

5.2.9 DRM objects

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>*
                   <MESH FACE TABLE DATA REFERENCE>° (included for DRM_Mesh_Face_Table 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.2 DRM class specifications 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)
<MESH FACE TABLE DATA> (for DRM_Mesh_Face_Table)
<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 6.2 DRM class specifications of Part 1 of ISO/IEC 18023. Each encoding shall encode all data types specified in 5 Fundamental data types of Part 1 of ISO/IEC 18023 that may exist as a field in a DRM class.

Each <DRM OBJECT REFERENCE> 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 REFERENCE> terminals shall reference objects specified in the Composed of rows described in the tables of 6.2 DRM class specifications of Part 1 of ISO/IEC 18023. When used in an <associate reference list>, the <DRM OBJECT REFERENCE> terminals shall reference objects specified in the Associated by, Associated to, or Associated with rows described in the tables of 6.2 DRM class specifications 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.2 DRM class specifications of Part 1 of ISO/IEC 18023.

Each <IMAGE DATA> terminal shall encode the data type specified in 5.3.3.94 Image_Data of Part 1 of ISO/IEC 18023.

Each <MESH FACE TABLE DATA> terminal shall encode the data types specified as output parameters in 8.3.30 GetMeshFaceTableData of Part 1 of ISO/IEC 18023.

Each <DATA TABLE DATA> terminal shall encode the data type specified in 5.3.3.55 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://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_IEC_18023-2_Ed1.html