Recommendation T.415 OPEN DOCUMENT ARCHITECTURE (ODA) AND INTERCHANGE FORMAT - OPEN DOCUMENT INTERCHANGE FORMAT (ODIF)1) CONTENTS 1 Scope 2 Normative references 3 Definition 4 Document representation 5 Open document interchange format (ODIF) 5.1 General description 5.2 Interchange format class A 5.3 Interchange format class B 5.4 Descriptors and text units 5.5 Interchange data elements 5.6 Document profile descriptor 5.7 Identifiers and expressions 5.8 Layout descriptors 5.9 Logical descriptors 5.10 Style descriptors 5.11 Default value lists 5.12 Text units Annex A - Coded representation Annex B - Application class tag assignments Annex C - Summary of object identifiers Annex D - Examples 1 Scope 1.1 The purpose of the T.410 Series of Recommendations is to facilitate the interchange of documents. In the context of the T.410 Series, documents are considered to be items such as memoranda, letters, invoices, forms and reports, which may include pictures and tabular material. The content elements used within the documents may include graphic characters, geometric graphics elements and raster graphics elements, all potentially within one document. Note - The T.410 Series is designed to allow for extensions, including typographical features, colour, spreadsheets and additional types of content such as sound. 1.2 The T.410 Series applies to the interchange of documents by means of data communications or the exchange of storage media. ÄÄÄÄÄÄÄ 1) This text is aligned with the final text of the corresponding International Standard ISO 8613-5. 1 Fascicle VII.6 - Rec. T.415 The T.410 Series provides for the interchange of documents for either or both of the following purposes: - to allow presentation as intended by the originator; - to allow processing such as editing and reformatting. The composition of a document in interchange can take several forms: - formatted form, allowing presentation of the document; - processable form, allowing processing of the document; - formatted processable form, allowing both presentation and processing. The T.410 Series also provides for the interchange of ODA information structures used for the processing of interchanged documents. Furthermore, the T.410 Series allows for the interchange of documents containing one or more different types of content such as character text, images, graphics and sound. 1.3 This Recommendation - defines the format of the data stream used to interchange documents structured in accordance with Recommendation T.412; - defines the representation of the constituents which may appear in an interchanged document. Annex A is a summary of an encoding scheme that may be used for interchanging documents. Annex B is a summary of the application class tag assignments made in this Recommendation. Annex C is a summary of the ASN.1 object identifier value assignments made in this Recommendation. Annex D contains examples of data streams. Note 1 - This Recommendation does not specify the coded representation of content elements. Note 2 - Data formats for presentation attributes and coding attributes are defined in other Recommendations of the T.410 Series. 2 Normative references The following Recommendations and International Standards contain provisions which, through reference in this text, constitute provisions of this Recommendation. At the time of publication, the editions indicated were valid. All standards are subject to revision, and parties to agreements based on this Recommendation are encouraged to investigate the possibility of applying the most recent editions of the standards listed below. Members of IEC and ISO maintain registers of currently valid International Standards. - Rec. X.208 (1988): Specification of abstract syntax notation one (ASN.1). - Rec. X.209 (1988): Specification of basic encoding rules for abstract syntax notation one (ASN.1). - ISO 8601: Data elements and interchange formats - Information interchange - Representation of dates and times.2) - ISO 9541-6: Information processing - Font and character information interchange - Part 6: Font and character attribute subsets and applications.2) ÄÄÄÄÄÄÄ 2) To be published. Fascicle VII.6 - Rec. T.415 2 3 Definitions For the purpose of this Recommendation, the definitions given in Recommendation T.411 apply. 4 Document representation A document structured in accordance with the T.410 Series of Recommendations is represented for interchange by the open document interchange format (ODIF). ODIF is an abstract data syntax in which the constituents and attributes of the document are represented by a hierarchy of data structures and data items, specified using the abstract syntax notation ASN.1 defined in Recommendation X.209. The coded representation of each data structure or data item is obtained by applying a set of encoding rules. ODIF is specified in  5. Note - ASN.1 is a formal description method that allows data types relevant to an application to be specified in terms of other data types, including basic types such as "integer" and "octet string" which are defined in Recommendation X.208 itself. Basic encoding rules for ASN.1 are defined in Recommendation X.209 and are summarized in Annex A. 5 Open document interchange format (ODIF) 5.1 General description A document structured in accordance with the T.410 Series of Recommendations is represented by a data stream consisting of one or more data structures of the following types: - document profile descriptor; - layout object descriptor; - layout object class descriptor; - logical object descriptor; - logical object class descriptor; - presentation style descriptor; - layout style descriptor; - text unit. These data structures are called interchange data elements. Within a data stream, the interchange data elements are ordered in accordance with certain rules which are specified below. This Recommendation defines two such sets of rules; they are called interchange format class A and interchange format class B. Which of these sets of rules applies to a given data stream is indicated in the document profile descriptor. In all cases, a data stream contains one and only one document profile descriptor which is always the first interchange data element in the data stream. The document profile descriptor may be the only data structure in the data stream. When an ODIF data stream is used as part of an ASN.1 external data type, the abstract system shall be formed by an ASN.1 sequence-of-type, referring to the interface data element type and the encoding of the data value shall consist of an integral number of octets, formed by applying the ASN.1 basic encoding rules, and the value of the associated ASN.1 object identifier shall be { 2 8 0 0 } 3 Fascicle VII.6 - Rec. T.415 Note - The manner of incorporating the interchange data elements, or the external data type, in an application protocol or the manner of mapping them on service data units (in an OSI environment) is not defined by this Recommendation. 5.2 Interchange format class A According to interchange format class A, a data stream consists of one document profile descriptor and, optionally, one or more interchange data elements of the following types: - layout object descriptor; - layout object class descriptor; - logical object descriptor; - logical object class descriptor; - presentation style descriptor; - layout style descriptor; - text unit. The order of the interchange data elements is as follows: a) document profile descriptor; b) layout object class descriptor; c) logical object class descriptor; d) text units representing generic content portions; e) presentation style descriptor; f) layout style descriptor; g) layout object descriptor; h) logical object descriptor; i) text units representing specific content portions. Within each of the groups of layout object descriptors and logical object descriptors, the order of the descriptors is equal to the sequential order defined in Recommendation T.412. If the data stream contains layout object descriptors, the text units representing specific content portions are ordered according to the sequential layout order; otherwise, they are ordered according to the sequential logical order. Within each of the other groups of interchange data elements, the order is arbitrary. 5.3 Interchange format class B According to interchange format class B, a data stream consists of one document profile descriptor and, optionally, one or more interchange data elements of the following types: - layout object descriptor; - layout object class descriptor; - presentation style descriptor; - text unit. Interchange format class B can be used only to represent documents that do not contain any specific or generic logical structure, i.e. documents that conform to the formatted document architecture class. The order of the interchange data elements is as follows: a) document profile descriptor; b) layout object class descriptors and associated text units; c) presentation style descriptors; d) layout object descriptors and associated text units. Fascicle VII.6 - Rec. T.415 4 Within the group of layout object class descriptors and associated text units, the order is such that a group of descriptors that have identical identifiers, except for the last number of each identifier, follow each other in the data stream without any other descriptor between them. However, each descriptor of an object class for a basic layout object is followed immediately by the associated text units. Within the group of layout object descriptors and associated text units, the order of the descriptors is equal to the sequential order defined in Recommendation T.412. However, each descriptor of a basic layout object is followed immediately by the associated text units. Within the group of presentation style descriptors, the order is arbitrary. 5.4 Descriptors and text units A document profile descriptor, layout object descriptor, layout object class descriptor, logical object descriptor, logical object class descriptor, presentation style descriptor or layout style descriptor consists of simple and composite data items representing the attributes of the constituent concerned. The document profile, each object class, each style and each object is represented by one descriptor. A text unit consists of two parts: a) an attribute field, i.e. a data structure consisting of simple and composite data items representing the attributes of the content portion concerned. b) an information field, i.e. a data structure that is either a data item or a set of data items representing the content elements making up the content portion concerned. Each content portion is represented by one text unit. The data formats of the interchange data elements are specified in  5.5 to 5.12, using the abstract syntax notation ASN.1 defined in Recommendation X.208. Note - Paragraphs 5.5 to 5.12 by themselves do not completely define the data stream format; additional rules are specified in  5.1 to 5.4 of this Recommendation and in other Recommendations of the T.410 Series. For example, the keyword OPTIONAL merely indicates that a particular data structure or data item is not part of every instance of the containing data structure; the conditions controlling the presence or absence of the data structure or data item are specified in Recommendations T.412 and T.414. 5.5 Interchange data elements Interchange-Data-Elements { 2 8 1 5 5 } DEFINITIONS ::= BEGIN EXPORTS Interchange-Data-Element; IMPORTSDocument-Profile-Descriptor FROM Document-Profile-Descriptor -- see  5.6 Layout-Class-Descriptor, Layout-Object-Descriptor, FROM Layout-Descriptors -- see  5.8 Logical-Class-Descriptor, Logical-Object-Descriptor FROM Logical-Descriptors -- see  5.9 Presentation-Style-Descriptor, Layout-Style-Descriptor FROM Style-Descriptors -- see  5.10 Text-Unit FROM Text-Unit; -- see  5.12 Interchange-Data-Element ::= CHOICE { document-profile [0] IMPLICIT Document-Profile-Descriptor, layout-object-class [1] IMPLICIT Layout-Class-Descriptor, layout-object [2] IMPLICIT Layout-Object-Descriptor, 5 Fascicle VII.6 - Rec. T.415 content-portion [3] IMPLICIT Text-Unit, logical-object-class [5] IMPLICIT Logical-Class-Descriptor, logical-object [6] IMPLICIT Logical-Object-Descriptor, presentation-style [7] IMPLICIT Presentation-Style-Descriptor, layout-style [8] IMPLICIT Layout-Style-Descriptor} END 5.6 Document profile descriptor Document-Profile-Descriptor { 2 8 1 5 6 } DEFINITIONS ::= BEGIN EXPORTSDocument-Profile-Descriptor; IMPORTSResource-Name, Object-or-Class-Identifier FROM Identifiers-and-Expressions -- see  5.7 Measure-Pair, Transparency, Colour, Dimension-Pair, One-Of-Four-Angles, Border, Medium-Type, FROM Layout-Descriptors -- see  5.8 Protection FROM Logical-Descriptors -- see  5.9 Content-Architecture-Class, Content-Type, Block-Alignment, Fill-Order FROM Style-Descriptors -- see  5.10 Type-of-Coding FROM Text-Units -- see  5.12 Character-Content-Defaults, Char-Presentation-Feature, Character-Coding-Attribute FROM Character-Profile-Attribute { 2 8 1 6 4 } -- see Recommendation T.416 Raster-Gr-Content-Defaults, Ra-Gr-Presentation-Feature, Ra-Gr-Coding-Attribute FROM Raster-Gr-Profile-Attributes { 2 8 1 7 4 } -- see Recommendation T.417 Geo-Gr-Content-Defaults, Geo-Gr-Presentation-Feature, Geo-Gr-Coding-Attribute FROM Geo-Gr-Profile-Attributes { 2 8 1 8 4 } -- see Recommendation T.418 Font-Reference FROM ISO9541-FONTS { 1 9541 6 1 0 };-- see ISO 9541-6 Document-Profile-Descriptor ::= SET { generic-layout-structure [0] IMPLICIT NumericString OPTIONAL, specific-layout-structure [1] IMPLICIT NumericString OPTIONAL, generic-logical-structure [4] IMPLICIT NumericString OPTIONAL, specific-logical-structure [5] IMPLICIT NumericString OPTIONAL, presentation-styles [6] IMPLICIT NumericString OPTIONAL, layout-styles [7] IMPLICIT NumericString OPTIONAL, -- for the generic structures: -- 'partial-generator-set' is represented by "0", -- 'complete-generator set' is represented by "1", -- 'factor-set' is represented by "2", -- for the other cases, the Numeric string has the value 'present' -- represented by "1". external-document-class [9] Document-Reference OPTIONAL, resource-document [10] Document-Reference OPTIONAL, resources [11] IMPLICIT SET OF SET { resource-identifier Resource-Name object-class-identifier Object-or-Class-Identifier} OPTIONAL, document-characteristics [2] IMPLICIT Document-Characteristics OPTIONAL, document-management-attributes [3] IMPLICIT Document-Management-Attributes OPTIONAL} Document-Characteristics ::= SET { document-application-profile CHOICE { [0] IMPLICIT INTEGER { group-4-facsimile (2)} [4] IMPLICIT OBJECT IDENTIFIER} OPTIONAL, Fascicle VII.6 - Rec. T.415 6 doc-appl-profile-defaults [10] IMPLICIT Doc-Appl-Profile-Defaults OPTIONAL, document-architecture-class [1] IMPLICIT INTEGER { formatted (0), processable (1), formatted-processable (2)} OPTIONAL, content-architecture-classes [5] IMPLICIT SET OF OBJECT IDENTIFIER OPTIONAL, interchange-format-class [6] IMPLICIT INTEGER { if - a (0), if - b (1)} OPTIONAL, oda-version [8] IMPLICIT SEQUENCE { standard-or-recommendation Character-Data, publication-date Date-and-Time} OPTIONAL, non-basic-doc-characteristics [2] IMPLICIT Non-Basic-Doc-Characteristics OPTIONAL, non-basic-struc-characteristics [3] IMPLICIT Non-Basic-Struc-Characteristics OPTIONAL, additional-doc-characteristics [9] IMPLICIT Additional-Doc-Characteristics OPTIONAL} Doc-Appl-Profile-Defaults ::= SET { document-architecture-defaults [0] IMPLICIT Document-Architecture-Defaults OPTIONAL, character-content-defaults [1] IMPLICIT Character-Content-Defaults OPTIONAL, raster-gr-content-defaults [2] IMPLICIT Raster-Gr-Content-Defaults OPTIONAL, geo-gr-content-defaults [3] IMPLICIT Geo-Gr-Content-Defaults OPTIONAL, -- the following tags are reserved for additional types of content defaults: -- [4] videotex, for use in conjunction with CCITT Recommendations -- [5] audio -- [6] dynamic-graphics external-capt-arch-defaults [7] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL}} Document-Architecture-Defaults ::= SET { content-architecture-class [0] IMPLICIT Content-Architecture-Class OPTIONAL, content-type [1] IMPLICIT Content-Type OPTIONAL, page-dimensions [2] IMPLICIT Measure-Pair OPTIONAL, transparency [3] IMPLICIT Transparency OPTIONAL, colour [4] IMPLICIT Colour OPTIONAL, layout-path [5] IMPLICIT One-Of-Four-Angles OPTIONAL, medium-type [6] IMPLICIT Medium-Type OPTIONAL, block-alignment [7] IMPLICIT Block-Alignment OPTIONAL, border [8] IMPLICIT Border OPTIONAL, page-position [9] IMPLICIT Measure-Pair OPTIONAL, type-of-coding [10] IMPLICIT Type-of-Coding OPTIONAL} Non-Basic-Doc-Characteristics ::= SET { profile-character-sets [5] IMPLICIT OCTET STRING OPTIONAL, comments-character-sets [1] IMPLICIT OCTET STRING OPTIONAL, alternative-repr-char-sets [6] IMPLICIT OCTET STRING OPTIONAL, -- each of these octet strings represents a string of escape sequence page-dimensions [2] IMPLICIT SET OF Dimension-Pair OPTIONAL, medium-types [8] IMPLICIT SET OF Medium-Type OPTIONAL, layout-paths [21] IMPLICIT SET OF One-Of-Four-Angles OPTIONAL, transparencies [22] IMPLICIT SET OF Transparency OPTIONAL, 7 Fascicle VII.6 - Rec. T.415 protections [23] IMPLICIT SET OF Protection OPTIONAL, block-alignments [24] IMPLICIT SET OF Block-Alignment OPTIONAL, fill-orders [25] IMPLICIT SET OF Fill-Order OPTIONAL, colours [26] IMPLICIT SET OF Colours OPTIONAL, borders [27] IMPLICIT SET OF Border OPTIONAL, page-positions [28] IMPLICIT SET OF Measure-Pair OPTIONAL, types-of-coding [29] IMPLICIT SET OF Type-of-Coding OPTIONAL, Fascicle VII.6 - Rec. T.415 8 char-presentation-features [9] IMPLICIT SET OF Char-Presentation-Feature OPTIONAL, ra-gr-presentation-features [4] IMPLICIT SET OF Ra-Gr-Presentation-Feature OPTIONAL, geo-gr-presentation-features [12] IMPLICIT SET OF Geo-Gr-Presentation-Feature OPTIONAL, -- the following tags are reserved for additional types of presentation features: -- [13] videotex, for use in conjunction with CCITT Recommendations -- [14] audio -- [15] dynamic-graphics character-coding-attributes [16] IMPLICIT SET OF Character-Coding-Attribute OPTIONAL, ra-gr-coding-attributes [3] IMPLICIT SET OF Ra-Gr-Coding-Attribute OPTIONAL, geo-gr-coding-attributes [17] IMPLICIT SET OF Geo-Gr-Coding-Attribute OPTIONAL, -- the following tags are reserved for additional types of coding attributes: -- [18] videotex, for use in conjunction with CCITT Recommendations -- [19] audio -- [20] dynamic-graphics ext-non-basic-pres-features [10] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL, ext-non-basic-coding attributes [11] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL} Non-Basic-Struc-Characteristics ::= SET { number-of-objects-per-page [0] IMPLICIT INTEGER OPTIONAL} Additional-Doc-Characteristics ::= SET { unit-scaling [3] IMPLICIT SEQUENCE {INTEGER, INTEGER} OPTIONAL, fonts-list [2] IMPLICIT Fonts-List OPTIONAL} Fonts-List ::= SET OF SET { font-identifier INTEGER, font-reference Font-Reference} Document-Management-Attributes ::= SET { document-description [7] IMPLICIT Document-Description OPTIONAL, dates-and-times [0] IMPLICIT Dates-and-Times OPTIONAL, originators [1] IMPLICIT Originators OPTIONAL, other-user-information [2] IMPLICIT Other-User-Information OPTIONAL, external-references [3] IMPLICIT External-References OPTIONAL, local-file-references [4] IMPLICIT Local-File-References OPTIONAL, content-attributes [5] IMPLICIT Content-Attributes OPTIONAL, security-information [6] IMPLICIT Security-Information OPTIONAL} Document-Description ::= SET { title [0] IMPLICIT Character-Data OPTIONAL, subject [1] IMPLICIT Character-Data OPTIONAL, document-type [2] IMPLICIT Character-Data OPTIONAL, abstract [3] IMPLICIT Character-Data OPTIONAL, keywords [4] IMPLICIT SET OF Character-Data OPTIONAL, document-reference [5] IMPLICIT Document-Reference OPTIONAL} Character-Data ::= [APPLICATION 3] IMPLICIT OCTET STRING 9 Fascicle VII.6 - Rec. T.415 -- string of characters from the sets designated by the attribute "profile character sets", -- plus carriage return and line feed Document-Reference ::= CHOICE { unique-reference OBJECT IDENTIFIER, descriptive-reference Character-Data} Fascicle VII.6 - Rec. T.415 10 Dates-and-Times ::= SET { document-date-and-time [0] IMPLICIT Date-and-Time OPTIONAL, creation-date-and-time [1] IMPLICIT Date-and-Time OPTIONAL, local-filing-date-and-time [2] IMPLICIT SEQUENCE OF Date-and-Time OPTIONAL, expiry-date-and-time [3] IMPLICIT Date-and-Time OPTIONAL, start-date-and-time [4] IMPLICIT Date-and-Time OPTIONAL, purge-date-and-time [5] IMPLICIT Date-and-Time OPTIONAL, release-date-and-time [6] IMPLICIT Date-and-Time OPTIONAL, revision-history [7] IMPLICIT SEQUENCE OF SET { revision-date-and-time [0] IMPLICIT Date-and-Time OPTIONAL, version-number [1] IMPLICIT Character-Data OPTIONAL revisors [2] IMPLICIT SET OF SET { names [0] IMPLICIT SET OF Personal-Name OPTIONAL, position [1] IMPLICIT Character-Data OPTIONAL, organization [2] IMPLICIT Character-Data OPTIONAL} OPTIONAL, version-reference [3] Document-Reference OPTIONAL, user-comments [4] IMPLICIT Character-Data OPTIONAL} OPTIONAL} Date-and-Time ::= [APPLICATION 4] IMPLICIT PrintableString -- string of characters representing a date and, optionally, a time in accordance with -- ISO 8601 Originators ::= SET { organizations [0] IMPLICIT SET OF Character-Data OPTIONAL, preparers [1] IMPLICIT SEQUENCE OF SET { personal-name [0] IMPLICIT Personal-Name OPTIONAL, organization [1] IMPLICIT Character-Data OPTIONAL} OPTIONAL, owners [2] IMPLICIT SEQUENCE OF SET { personal-name [0] IMPLICIT Personal-Name OPTIONAL, organization [1] IMPLICIT Character-Data OPTIONAL} OPTIONAL, authors [3] IMPLICIT SEQUENCE OF SET { personal-name [0] IMPLICIT Personal-Name OPTIONAL, organization [1] IMPLICIT Character-Data OPTIONAL} OPTIONAL, Personal-Name ::= [APPLICATION 6] IMPLICIT SET { surname [0] IMPLICIT Character-Data, givenname [1] IMPLICIT Character-Data OPTIONAL, initials [2] IMPLICIT Character-Data OPTIONAL, title [3] IMPLICIT Character-Data OPTIONAL} Other-User-Information ::= SET { copyright [0] IMPLICIT SET OF SET { copyright-information [0] IMPLICIT SET OF Character-Data OPTIONAL, copyright-dates [1] IMPLICIT SET OF Date-and-Time OPTIONAL} OPTIONAL, status [1] IMPLICIT Character-Data OPTIONAL, 11 Fascicle VII.6 - Rec. T.415 user-specific-codes [2] IMPLICIT SET OF Character-Data OPTIONAL, distribution-list [3] IMPLICIT SEQUENCE OF SET { personal-name [0] IMPLICIT Personal-Name OPTIONAL, organization [1] IMPLICIT Character-Data OPTIONAL} OPTIONAL, additional-information [5] ANY OPTIONAL} External-References ::= SET { references-to-other-documents [0] IMPLICIT SET OF Document-Reference OPTIONAL, superseded-documents [1] IMPLICIT SET OF Document-Reference OPTIONAL} Fascicle VII.6 - Rec. T.415 12 Local-File-Reference ::= SET OF SET { file-name [0] IMPLICIT Character-Data OPTIONAL, location [1] IMPLICIT Character-Data OPTIONAL, user-comments [2] IMPLICIT Character-Data OPTIONAL} Content-Attributes ::= SET { document-size [1] IMPLICIT INTEGER OPTIONAL, number-of-pages [2] IMPLICIT INTEGER OPTIONAL, languages [4] IMPLICIT INTEGER OF Character-Data OPTIONAL} Security-Information ::= SET { authorization CHOICE { person [0] IMPLICIT Personal-Name, organization [4] IMPLICIT Character-Data} OPTIONAL, security-classification [1] IMPLICIT Character-Data OPTIONAL, access-rights [2] IMPLICIT SET OF Character-Data OPTIONAL} END 5.7 Identifiers and expressions Identifiers-and-Expressions { 2 8 1 5 7 } DEFINITIONS ::= BEGIN EXPORTSContent-Portion-Identifier, Object-or-Class-Identifier, Style-Identifier, Layout-Category-Name, Resource-Name, Binding-Name, Construction-Expression, Object-Id-Expression, Numeric-Expression, String-Expression; IMPORTSLayout-Object-Type FROM Layout-Descriptors -- see  5.8 Logical-Object-Type FROM Logical-Descriptors; -- see  5.9 Content-Portion-Identifier ::= [APPLICATION 0] IMPLICIT PrintableString -- only digits and space are used in the present version of the standard; other characters -- are reserved for extensions Object-or-Class-Identifier ::= [APPLICATION 1] IMPLICIT PrintableString -- only digits and space are used in the present version of the standard; other characters -- are reserved for extensions; a "null" value is represented by an empty string Style-Identifier ::= [APPLICATION 5] IMPLICIT PrintableString -- only digits and space are used in the present version of the standard, other characters -- are reserved for extensions; a "null" value is represented by an empty string Layout-Category-Name ::= PrintableString -- a "null" value is represented by an empty string Resource-Name ::= PrintableString 13 Fascicle VII.6 - Rec. T.415 Binding-Name ::= PrintableString Construction-Expression ::= CHOICE { construction-type Construction-Type, single-term-construction [3] Construction-Term} Construction-Type ::= CHOICE { sequence-construction [0] IMPLICIT Term-Sequence, aggregate-construction [1] IMPLICIT Term-Sequence, choice-construction [2] IMPLICIT Term-Sequence} Fascicle VII.6 - Rec. T.415 14 Term-Sequence ::= SEQUENCE OF Construction-Term Construction-Term ::= CHOICE { required-construction-factor [0] Construction-Factor, optional-construction-factor [1] Construction-Factor, repetitive-construction-factor [2] Construction-Factor, optional-repetitive-factor [3] Construction-Factor} Construction-Factor ::= CHOICE { object-class-identifier Object-Class-Identifier, construction-type Construction-Type} Object-Id-Expression ::= CHOICE { current-object-function [0] IMPLICIT NULL, preceding-object-function [1] Object-Id-expression, superior-object-function [3] Object-Id-Expression, current-instance-function [4] Current-Instance-Function} Numeric-Expression ::= CHOICE { numeric-literal [0] IMPLICIT INTEGER, increment-application [1] Numeric-Expression, decrement-application [2] Numeric-Expression, ordinal-application [3] CHOICE { identifier Object-or-Class-Identifier, expression Object-Id-Expression}, binding-reference [4] IMPLICIT Binding-Reference} Binding-Reference ::= SET { object-reference CHOICE { identifier Object-or-Class-Identifier, expression Binding-Selection-Function}, binding-identifier Binding-Name} Binding-Selection-Function ::= CHOICE { current-object-function [0] IMPLICIT NULL, preceding-function [1] Object-Id-Expression, superior-function [3] Object-Id-Expression, current-instance-function [4] Current-Instance-Function} Current-Instance-Function ::= SEQUENCE { first-parameter CHOICE { identifier [0] IMPLICIT Object-or-Class-Identifier, layout-object-type [1] IMPLICIT Layout-Object-Type, logical-object-type [2] IMPLICIT Logical-Object-Type}, second-parameter CHOICE { identifier Object-or-Class-Identifier, expression Object-Id-Expression}} String-Expression ::= SEQUENCE OF Atomic-String-Expression Atomic-String-Expression ::= CHOICE { string-literal [0] IMPLICIT OCTET STRING, binding-reference [2] IMPLICIT Binding-Reference, make-string-application [3] Numeric-Expression, upper-alpha-application [4] Numeric-Expression, lower-alpha-application [5] Numeric-Expression, upper-roman-application [6] Numeric-Expression, lower-roman-application [7] Numeric-Expression} END 5.8 Layout descriptors Layout-Descriptors { 2 8 1 5 8 } DEFINITIONS ::= BEGIN EXPORTSLayout-Object-Descriptor, Layout-Class-Descriptor, Layout-Object-Type, Transparency, Comment-String, Binding-Pair, One-Of-Four-Angles, Measure-Pair, 15 Fascicle VII.6 - Rec. T.415 Dimension-Pair, Medium-Pair, Colour, Border; Fascicle VII.6 - Rec. T.415 16 IMPORTSObject-or-Class-Identifier, Style-Identifier, Layout-Category-Name, Resource-Name, Binding-Name, Construction-Expression, Object-Id-Expression, Numeric-Expression, String-Expression FROM Identifiers-and-Expressions -- see  5.7 Presentation-Attributes FROM Style-Descriptors -- see  5.10 Default-Value-Lists-Layout FROM Default-Value-Lists; -- see  5.11 Position-Spec ::= SET { offset [0] IMPLICIT SET { leading [0] IMPLICIT INTEGER OPTIONAL, trailing [1] IMPLICIT INTEGER OPTIONAL, left-hand [2] IMPLICIT INTEGER OPTIONAL, right-hand [3] IMPLICIT INTEGER OPTIONAL} OPTIONAL, separation [1] IMPLICIT SET { leading [0] IMPLICIT INTEGER OPTIONAL, trailing [1] IMPLICIT INTEGER OPTIONAL, centre [2] IMPLICIT INTEGER OPTIONAL} OPTIONAL, alignment [2] IMPLICIT INTEGER { right-hand (0), centred (1), left-hand (2)} OPTIONAL, fill-order [3] IMPLICIT INTEGER { normal (0), reverse (1)} OPTIONAL} Dimension-Pair ::= SEQUENCE { horizontal [0] IMPLICIT INTEGER, vertical CHOICE { fixed [0] IMPLICIT INTEGER, variable [1] IMPLICIT INTEGER}} Dimension-Spec ::= SEQUENCE { horizontal Dimension, vertical Dimension} Dimension ::= CHOICE { fixed [0] IMPLICIT INTEGER, rule-a [1] IMPLICIT SET { minimum [0] IMPLICIT INTEGER OPTIONAL, maximum [1] IMPLICIT INTEGER OPTIONAL}, rule-b [2] IMPLICIT SET { minimum [0] IMPLICIT INTEGER OPTIONAL, maximum [1] IMPLICIT INTEGER OPTIONAL}, maximum-size [3] IMPLICIT NULL} Transparency ::= INTEGER {transparent (0), opaque (1)} Comment-String ::= OCTET STRING -- string of characters from the sets designated by the document profile attribute "comments -- character sets", plus code extension control functions, carriage return and line feed Binding-Pair ::= SET { binding-identifier [0] IMPLICIT Binding-Name, binding-value CHOICE { [1] Object-Id-Expression, [2] Numeric-Expression, [3] String-Expression, [4] IMPLICIT Object-or-Class Identifier, [5] IMPLICIT INTEGER, [6] IMPLICIT OCTET STRING}} 17 Fascicle VII.6 - Rec. T.415 One-Of-Four-Angles ::= INTEGER {d0 (0), d90 (1), d180 (2), d270 (3)} Fascicle VII.6 - Rec. T.415 18 Measure-Pair ::= SEQUENCE { horizontal [0] IMPLICIT INTEGER, vertical [0] IMPLICIT INTEGER} Medium-Type ::= SEQUENCE { nominal-page-size Measure-Pair OPTIONAL, side-of-sheet INTEGER {unspecified (0), recto (1), verso (2)} OPTIONAL} Colour ::= INTEGER {colourless (0), white (1)} Border ::= SET { left-hand-edge [0] IMPLICIT Border-Edge OPTIONAL, right-hand-edge [1] IMPLICIT Border-Edge OPTIONAL, trailing-edge [2] IMPLICIT Border-Edge OPTIONAL, leading-edge [3] IMPLICIT Border-Edge OPTIONAL} Border-Edge ::= SET { line-width [0] IMPLICIT INTEGER OPTIONAL, line-type [1] IMPLICIT INTEGER { invisible (0), solid (1), dashed (2), dot (3), dash-dot (4), dash-dot-dot (5)} OPTIONAL, freespace-width [2] IMPLICIT INTEGER OPTIONAL} -- a "null" border edge is represented by an empty set Layout-Object-Descriptor ::= SEQUENCE { object-type Layout-Object-Type OPTIONAL, descriptor-body Layout-Object-Descriptor-Body OPTIONAL} Layout-Object-Type ::= INTEGER { document-layout-root (0), page-set (1), page (2), frame (3), block (4)} Layout-Object-Descriptor-Body ::= SET { object-identifier Object-or-Class-Identifier OPTIONAL, subordinates [0] IMPLICIT SEQUENCE OF NumericString OPTIONAL, content-portions [1] IMPLICIT SEQUENCE OF NumericString OPTIONAL, object-class [2] IMPLICIT Object-or-Class-Identifier OPTIONAL, position [3] IMPLICIT Measure-pair OPTIONAL, dimensions [4] IMPLICIT Dimension-Pair OPTIONAL, transparency [5] IMPLICIT Transparency OPTIONAL, presentation-attributes [6] IMPLICIT Presentation-Attributes OPTIONAL, default-value-lists [7] IMPLICIT Default-Value-Lists-Layout OPTIONAL, user-readable-comments [8] IMPLICIT Comment-String OPTIONAL, bindings [9] IMPLICIT SET OF Binding-Pair OPTIONAL, layout-path [11] IMPLICIT One-Of-Four-Angles OPTIONAL, imaging-order [12] IMPLICIT SEQUENCE OF NumericString OPTIONAL, permitted-categories [13] IMPLICIT SET OF Layout-Category-Name OPTIONAL, -- a "null" value is represented by an empty set user-visible-name [14] IMPLICIT Comment-String OPTIONAL, page-position [15] IMPLICIT Measure-Pair OPTIONAL, medium-page [16] IMPLICIT Medium-Type OPTIONAL, presentation-style [17] IMPLICIT Style-Identifier OPTIONAL, balance [21] IMPLICIT SET OF Object-or-Class-Identifier OPTIONAL, 19 Fascicle VII.6 - Rec. T.415 -- a "null" value is represented by an empty set colour [22] IMPLICIT Colour OPTIONAL, border [23] IMPLICIT Border OPTIONAL, application-comments [25] IMPLICIT OCTET STRING OPTIONAL} Fascicle VII.6 - Rec. T.415 20 Layout-Class-Descriptor ::= SEQUENCE { object-type Layout-Object-Type, descriptor-body Layout-Class-Descriptor-Body} Layout-Class-Descriptor-Body ::= SET { object-class-identifier Object-or-Class-Identifier, generator-for-subordinates [0] Construction-Expression OPTIONAL, content-portions [1] IMPLICIT SEQUENCE OF NumericString OPTIONAL, position CHOICE { fixed-position [3] IMPLICIT Measure-Pair, variable-position [26] IMPLICIT Position-Spec} OPTIONAL, dimensions [4] IMPLICIT Dimension-Spec OPTIONAL, transparency [5] IMPLICIT Transparency OPTIONAL, presentation-attributes [6] IMPLICIT Presentation-Attributes OPTIONAL, default-value-lists [7] IMPLICIT Default-Value-Lists-Layout OPTIONAL, user-readable-comments [8] IMPLICIT Comment-String OPTIONAL, bindings [9] IMPLICIT SET OF Binding-Pair OPTIONAL, content-generator [10] IMPLICIT String-Expression OPTIONAL, layout-path [11] IMPLICIT One-Of-Four-Angles OPTIONAL, permitted-categories [13] IMPLICIT SET OF Layout-Category-Name OPTIONAL, -- a "null" value is represented by an empty setw user-visible-name [14] IMPLICIT Comment-String OPTIONAL, page-position [15] IMPLICIT Measure-Pair OPTIONAL, medium-type [16] IMPLICIT Medium-Type OPTIONAL, presentation-style [17] IMPLICIT Style-Identifier OPTIONAL, logical-source [18] IMPLICIT Object-or-Class-Identifier OPTIONAL, balance [21] IMPLICIT SET OF Object-Id-Expression OPTIONAL, -- a "null" value is represented by an empty set colour [22] IMPLICIT Colour OPTIONAL, border [23] IMPLICIT Border OPTIONAL, resource [24] IMPLICIT Resource-Name OPTIONAL, application-comments [25] IMPLICIT OCTET STRING OPTIONAL} END 5.9 Logical descriptors Logical-Descriptors { 2 8 1 5 9 } DEFINITIONS ::= BEGIN EXPORTSLogical-Object-Descriptor, Logical-Class-Descriptor, Logical-Object-Type, Protection; IMPORTSObject-or-Class-Identifier, Style-Identifier, Resource-Name, Construction-Expression, String-Expression FROM Identifiers-and-Expressions -- see  5.7 Comment-String, Binding-pair FROM Layout-Descriptors -- see  5.8 Presentation-Attributes FROM Style-Descriptors -- see  5.10 Default-Value-Lists-Logical FROM Default-Value-Lists; -- see  5.11 Logical-Object-Descriptor ::= SEQUENCE { object-type Logical-Object-Type OPTIONAL, descriptor-body Logical-Object-Descriptor-Body OPTIONAL} 21 Fascicle VII.6 - Rec. T.415 Logical-Object-Type ::= INTEGER { document-logical-root (0), composite-logical-object (1), basic-logical-object (2)} Fascicle VII.6 - Rec. T.415 22 Logical-Object-Descriptor-Body ::= SET { object-identifier Object-or-Class-Identifier OPTIONAL, subordinates [0] IMPLICIT SEQUENCE OF NumericString OPTIONAL, content-portions [1] IMPLICIT SEQUENCE OF NumericString OPTIONAL, object-class [2] IMPLICIT Object-or-Class-Identifier OPTIONAL, presentation-attributes [6] IMPLICIT Presentation-Attributes OPTIONAL, -- only for use for the attribute content-architecture-class, the content architecture -- specific attributes can only be referenced by use of presentation style default-value-lists [7] IMPLICIT Default-Value-Lists-Logical OPTIONAL, user-readable-comments [8] IMPLICIT Comment-String OPTIONAL, bindings [9] IMPLICIT SET OF Binding-Pair OPTIONAL, content-generator [10] IMPLICIT String-Expression OPTIONAL, user-visible-name [14] IMPLICIT Comment-String OPTIONAL, presentation-style [17] IMPLICIT Style-Identifier OPTIONAL, layout-style [19] IMPLICIT Style-Identifier OPTIONAL, protection [20] IMPLICIT Protection OPTIONAL, application-comments [25] IMPLICIT OCTET STRING OPTIONAL} Logical-Class-Descriptor ::= SEQUENCE { object-type Logical-Object-Type, descriptor-body Logical-Class-Descriptor-Body} Logical-Class-Descriptor-Body ::= SET { object-class-identifier Object-or-Class-Identifier, generator-for-subordonates [0] Construction-Expression OPTIONAL, content-portions [1] IMPLICIT SEQUENCE OF NumericString OPTIONAL, presentation-attributes [6] IMPLICIT Presentation-Attributes OPTIONAL, -- only for use for the attribute content-architecture-class, the content architecture -- specific attributes can only be referenced by use of presentation style default-value-lists [7] IMPLICIT Default-Value-Lists-Logical OPTIONAL, user-readable-comments [8] IMPLICIT Comment-String OPTIONAL, bindings [9] IMPLICIT SET OF Binding-Pair OPTIONAL, content-generator [10] IMPLICIT String-Expression OPTIONAL, user-visible-name [14] IMPLICIT Comment-String OPTIONAL, presentation-style [17] IMPLICIT Style-Identifier OPTIONAL, layout-style [19] IMPLICIT Style-Identifier OPTIONAL, protection [20] IMPLICIT Protection OPTIONAL, resource [24] IMPLICIT Resource-Name OPTIONAL, application-comments [25] IMPLICIT OCTET STRING OPTIONAL} Protection ::= INTEGER {unprotected (0), protected (1)} END 5.10 Style descriptors Style-Descriptors { 2 8 1 5 10 } DEFINITIONS ::= BEGIN EXPORTSPresentation-Style-Descriptor, Presentation-Attributes, 23 Fascicle VII.6 - Rec. T.415 Content-Type, Content-Architecture-Class, Layout-Style-Descriptor, Fill-Order, Block-Alignment; Fascicle VII.6 - Rec. T.415 24 IMPORTSObject-or-Class-Identifier, Style-Identifier, Layout-Category-Name, Object-Id-Expression, FROM Identifiers-and-Expressions -- see  5.7 Comment-String, Transparency, Colour, Border, Layout-Object-Type FROM Layout-Descriptors -- see  5.8 Character-Attributes FROM Character-Presentation-Attributes { 2 8 1 6 2 }-- see Recommendation T.416 Raster-Graphics-Attributes FROM Raster-Gr-Presentation-Attributes { 2 8 1 7 2 }-- see Recommendation T.417 Geometric-Graphics-Attributes FROM Geo-Gr-Presentation-Attributes { 2 8 1 8 2 } -- see Recommendation T.418 Presentation-Style-Descriptor ::= SET { style-identifier Style-Identifier, user-readable-comments [0] IMPLICIT Comment-String OPTIONAL, user-visible-name [1] IMPLICIT Comment-String OPTIONAL, transparency [2] IMPLICIT Transparency OPTIONAL, presentation-attributes [3] IMPLICIT Presentation-Attributes OPTIONAL, colour [4] IMPLICIT Colour OPTIONAL, border [5] IMPLICIT Border OPTIONAL} Presentation-Attributes ::= SET { content-type Content-Type OPTIONAL, content-architecture-class Content-Architecture-Class OPTIONAL, character-attributes [0] IMPLICIT Character-Attributes OPTIONAL, raster-graphics-attributes [1] IMPLICIT Raster-Graphics-Attributes OPTIONAL, geometric-graphics-attributes [2] IMPLICIT Geometric-Graphics-Attributes OPTIONAL, -- the following tags are reserved for additional types of presentation attributes: -- [3] videotex for use in conjunction with CCITT Recommendations -- [4] audio -- [5] dynamic-graphics ext-cont-arch-pres-attributes [6] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL} Content-Type ::= [APPLICATION 2] IMPLICIT INTEGER { formatted-raster-graphics (1)} Content-Architecture-Class ::= OBJECT IDENTIFIER Layout-Style-Descriptor ::= SET { style-identifier Style-Identifier, user-readable-comments [0] IMPLICIT Comment-String OPTIONAL, user-visible-name [1] IMPLICIT Comment-String OPTIONAL, layout-directives [4] IMPLICIT Layout-Directives OPTIONAL} Layout-Directives ::= SET { indivisibility CHOICE { to-layout-object-class [0] IMPLICIT Object-or-Class-Identifier, to-layout-category [1] IMPLICIT Layout-Category-Name, to-layout-object-type [2] IMPLICIT Layout-Object-Type, null [15] IMPLICIT NULL} OPTIONAL, separation [3] IMPLICIT Separation OPTIONAL, offset [4] IMPLICIT Offset OPTIONAL, fill-order [5] IMPLICIT Fill-Order OPTIONAL, concatenation [6] IMPLICIT Concatenation OPTIONAL, new-layout-object CHOICE { to-layout-object-class [7] IMPLICIT Object-or-Class-Identifier, to-layout-category [8] IMPLICIT Layout-Category-Name, to-layout-object-type [9] IMPLICIT Layout-Object-Type, null [16] IMPLICIT NULL} OPTIONAL, same-layout-object [10] IMPLICIT Same-Layout-Object OPTIONAL, 25 Fascicle VII.6 - Rec. T.415 layout-object-class [11] IMPLICIT Object-or-Class-Identifier OPTIONAL, Fascicle VII.6 - Rec. T.415 26 layout-category [12] IMPLICIT Layout-Category-Name OPTIONAL, synchronization CHOICE { [13] IMPLICIT Object-or-Class-Identifier, [17] Object-Id-Expression, [18] IMPLICIT NULL} OPTIONAL, block-alignment [14] IMPLICIT Block-Alignment OPTIONAL} Separation ::= SET { leading [0] IMPLICIT INTEGER OPTIONAL, trailing [1] IMPLICIT INTEGER OPTIONAL, centre [2] IMPLICIT INTEGER OPTIONAL} Offset ::= SET { right-hand [0] IMPLICIT INTEGER OPTIONAL, left-hand [1] IMPLICIT INTEGER OPTIONAL, trailing [2] IMPLICIT INTEGER OPTIONAL, leading [3] IMPLICIT INTEGER OPTIONAL} Fill-Order ::= INTEGER {normal (0), reverse (1)} Concatenation ::= INTEGER {non-concatenated (0), concatenated (1)} Same-Layout-Object ::= SET { to-logical-object CHOICE { [0] IMPLICIT Object-or-Class-Identifier, [4] Object-Id-Expression, [5] IMPLICIT NULL}, CHOICE { to-layout-object-class [1] IMPLICIT Object-or-Class-Identifier, to-layout-category [2] IMPLICIT Layout-Category-Name, to-layout-object-type [3] IMPLICIT Layout-Object-Type} OPTIONAL} Block-Alignment ::= INTEGER { right-hand (0), left-hand (1), centred (2), null (3)} END 5.11 Default value lists Default-Value-Lists { 2 8 1 5 11 } DEFINITIONS ::= BEGIN EXPORTSDefault-Value-Lists-Logical, Default-Value-Lists-Layout; IMPORTSStyle-Identifier, Layout-Category-Name FROM Identifier-and-Expressions -- see  5.7 Measure-Pair, One-Of-Four-Angles, Medium-Type, Dimension-Pair, Transparency, Colour, Border FROM Layout-Descriptors -- see  5.8 Protection FROM Logical-Descriptors -- see  5.9 Presentation-Attributes FROM Style-Descriptors; -- see  5.10 Default-Value-Lists-Layout ::= SET { page-attributes [2] IMPLICIT Page-Attributes OPTIONAL, frame-attributes [3] IMPLICIT Frame-Attributes OPTIONAL, block-attributes [4] IMPLICIT Block-Attributes OPTIONAL} Default-Value-Lists-Logical ::= SET { composite-logical-attributes [5] IMPLICIT Composite-Logical-Attributes OPTIONAL, basic-logical-attributes [6] IMPLICIT Basic-Logical-Attributes OPTIONAL} Page-Attributes ::= SET { dimensions < Attribute OPTIONAL, 27 Fascicle VII.6 - Rec. T.415 transparency < Attribute OPTIONAL, presentation-attributes < Attribute OPTIONAL, Fascicle VII.6 - Rec. T.415 28 page-position < Attribute OPTIONAL, medium-page < Attribute OPTIONAL, presentation-style < Attribute OPTIONAL, colour < Attribute OPTIONAL, Frame-Attributes ::= SET { position < Attribute OPTIONAL, dimensions < Attribute OPTIONAL, transparency < Attribute OPTIONAL, layout-path < Attribute OPTIONAL, permitted-categories < Attribute OPTIONAL, colour < Attribute OPTIONAL, border < Attribute OPTIONAL} Block-Attributes ::= SET { position < Attribute OPTIONAL, dimensions < Attribute OPTIONAL, transparency < Attribute OPTIONAL, presentation-attributes < Attribute OPTIONAL, presentation-style < Attribute OPTIONAL, colour < Attribute OPTIONAL, border < Attribute OPTIONAL} Composite-Logical-Attributes ::= SET { protection < Attribute OPTIONAL, layout-style < Attribute OPTIONAL} Basic-Logical-Attributes ::= SET { presentation-attributes < Attribute OPTIONAL, -- only for use for the attribute content-architecture-class, the content architecture -- specific attributes can only be referenced by use of presentation style protection < Attribute OPTIONAL, presentation-style < Attribute OPTIONAL, layout-style < Attribute OPTIONAL} Attribute ::= CHOICE { position [0] IMPLICIT Measure-Pair, dimensions [1] IMPLICIT Dimension-Pair, transparency [2] IMPLICIT Transparency, presentation-attributes [3] IMPLICIT Presentation-Attributes, layout-path [4] IMPLICIT One-Of-Four-Angles, page-position [5] IMPLICIT Measure-Pair, medium-type [6] IMPLICIT Medium-Type, permitted-categories [7] IMPLICIT SET OF Layout-Category-Name, protection [8] IMPLICIT Protection, presentation-style [9] IMPLICIT Style-Identifier, layout-style [10] IMPLICIT Style-Identifier, colour [11] IMPLICIT Colour, border [12] IMPLICIT Border} END 5.12 Text units Text-Units { 2 8 1 5 12 } DEFINITIONS ::= BEGIN EXPORTSText-Unit, Type-Of-Coding; 29 Fascicle VII.6 - Rec. T.415 IMPORTSContent-Portion-Identifier FROM Identifiers-and-Expressions -- see  5.7 Character-Coding-Attributes FROM Character-Coding-Attributes { 2 8 1 6 3 }-- see Recommendation T.416 Raster-Gr-Coding-Attributes FROM Raster-Gr-Coding-Attributes { 2 8 1 7 3 }-- see Recommendation T.417 Geo-Gr-Coding-Attributes FROM Geo-Gr-Coding-Attributes { 2 8 1 8 3 } -- see Recommendation T.418 Text-Unit ::= SEQUENCE { content-portion-attributes Content-Portion-Attributes OPTIONAL, content-information Content-Information} Content-Portion-Attributes ::= SET { content-identifier-layout Content-Portion-Identifier OPTIONAL, content-identifier-logical [4] IMPLICIT Content-Portion-Identifier OPTIONAL, type-of-coding Type-Of-Coding OPTIONAL, coding-attributes CHOICE { character-coding-attributes [1] IMPLICIT Character-Coding-Attributes, raster-gr-coding-attributes [2] IMPLICIT Raster-Gr-Coding-Attributes, geo-gr-coding-attributes [7] IMPLICIT Geo-Gr-Coding-Attributes, videotex-coding-attributes [8] IMPLICIT Videotex-Coding-Attributes, -- the following tags are reserved for additional types of coding attributes: -- [9] audio -- [10] dynamic-graphics ext-contr-arch-coding-attributes[11] IMPLICIT EXTERNAL} OPTIONAL, alternative-representation [3] IMPLICIT Alternative-Representation OPTIONAL} Content-Information ::= OCTET STRING Type-Of-Coding ::= CHOICE { [0] IMPLICIT INTEGER {t6 (1)}, [6] IMPLICIT OBJECT IDENTIFIER} Alternative-Representation ::= OCTET STRING -- string of characters from the sets designated by the document profile attribute -- "alternative representation character sets", plus carriage return and line feed END ANNEX A (to Recommendation T.415) Coded representation (Informative) This Annex is a summary of the basic encoding rules for the abstract syntax notation ASN.1 defined in Recommendation X.209. The coded representation of each data structure or data item that constitutes, or constitutes part of, a descriptor or a text unit consists of a type field, a length field and a value field. Fascicle VII.6 - Rec. T.415 30 If the data item concerned is an elementary data item, then the type field specifies the elementary data type, the length field specifies the length of the value field, and the value field represents the value of the data item. If the data structure or data item concerned is not elementary, then the type field identifies the attribute or group of attributes corresponding to the data structure or data item, the length field specifies the length of the value field, and the value field consists of one or more triplets, each of which is composed of a type field, a length field and a value field, representing the subordinate data structures and data items. The type field (which is called "identifier octets" in Recommendation X.209) consists of one or more bytes. The bits of the first byte are used as follows: bits 8 and 7: tag class (00: universal, 01: application, 01: context-specific, 11: private); bit 6: contents encoding form (0: simple, 1: structured); bits 5 to 1: 00000 to 11110: tag number; 11111 indicates a multi-octet type field. The following tag numbers for universal tags have been assigned in Recommendations X.208 and X.209. Built-in data types Defined data types 0: end-of-contents 18: numeric string 1: Boolean 19: printable string 2: integer 20: teletex string 3: bit string 21: videotex string 4: octet string 22: IA5 string 5: null 23: UTC time 6: object identifier 24: generalized time 7: object descriptor 25: graphic character string 8: external 26: general string 9: real 27: visible string 10: enumerated 11: encrypted 16: sequence 17: set Data items of type end-of-contents, Boolean, integer or null are simple (elementary data items). Sequences and sets are structured (data structures with subordinate data items). Data items of type bit string, octet string or any of the defined data types can be either simple or structured. The length field consists of one or more bytes. It takes one of three forms: short, long and indefinite. The bits of the first byte are used as follows: bit 8:length field form(0: short, 1: long or indefinite); bits 7 to 1:if bit 8 = 0: number of bytes of the value field; if bit 8 = 1: number of bytes of the length field following the first byte; 0000000 indicates the indefinite form of the length field. A data structure or data item with an indefinite length field must be structured and must be terminated by a delimiter consisting of an end-of-contents (EOC) item. An EOC item consists of two bytes: a type field of one byte and a length field of one byte. Both are equal to zero. An EOC item has no value field. 31 Fascicle VII.6 - Rec. T.415 ANNEX B (to Recommendation T.415) Application class tag assignments (Informative) The application class tag assignments made in various sections of this Recommendation are summarized in the table below. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Tag ³ Data type ³ Paragraph ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄ´ ³ APPLICATION 0 ³ Content-Portion-Identifier ³ 5.7 ³ ³ APPLICATION 1 ³ Object-or-Class-Identifier ³ 5.7 ³ ³ APPLICATION 2 ³ Content-Type ³ 5.10 ³ ³ APPLICATION 3 ³ Character-Data ³ 5.6 ³ ³ APPLICATION 4 ³ Date-and-Time ³ 5.6 ³ ³ APPLICATION 5 ³ Style-Identifier ³ 5.7 ³ ³ APPLICATION 6 ³ Personal-Name ³ 5.6 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÙ ANNEX C (to Recommendation T.415) Summary of object identifiers (Informative) Values of ASN.1 object identifiers are assigned in various sections in this Recommendation. These are summarized below. w ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄ¿ ³ Object identifier³ Meaning ³Paragraph³ ³ value ³ ³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄ´ ³ { 2 8 0 0 } ³ Identifies external data type ³ 5.1 ³ ³ ³ ³ ³ ³ { 2 8 1 5 5 } ³ Identifies module; ³ 5.5 ³ ³ ³ interchange data elements ³ ³ ³ ³ ³ ³ ³ { 2 8 1 5 6 } ³ Identifies modulel; ³ 5.6 ³ ³ ³ document profile descriptor ³ ³ ³ ³ ³ ³ ³ { 2 8 1 5 7 } ³ Identifies module; ³ 5.7 ³ ³ ³ identifiers and expressions ³ ³ ³ ³ ³ ³ ³ { 2 8 1 5 8 } ³ Identifies module; ³ 5.8 ³ ³ ³ layout descriptors ³ ³ ³ ³ ³ ³ ³ { 2 8 1 5 9 } ³ Identifies module; ³ 5.9 ³ ³ ³ logical descriptors ³ ³ ³ ³ ³ ³ ³ { 2 8 1 5 10 } ³ Identifies module; ³ 5.10 ³ ³ ³ style descriptors ³ ³ ³ ³ ³ ³ Fascicle VII.6 - Rec. T.415 32 ³ { 2 8 1 5 11 } ³ Identifies module; ³ 5.11 ³ ³ ³ default value lists ³ ³ ³ ³ ³ ³ ³ { 2 8 1 5 12 } ³ Identifies module; ³ 5.12 ³ ³ ³ text units ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÙ 33 Fascicle VII.6 - Rec. T.415