PUBLICATIONS

NBSIR 88-3823

A 11 10 2 SSM227

Ongoing Implementation Agreements

for Open Systems Interconnection

Protocols

Volume 1

Stable Virtual Terminal & Document

Architecture and Interchange Format

Based on the Proceedings of the

NBS/OSI Implementor’s Workshop

Plenary Assembly Held May 6, 1988

National Bureau of Standards

Gaithersburg, MD 20899

Robert Rosenthal, Editor

U.S. DEPARTMENT OF COMMERCE

National Bureau of Standards

Institute for Computer Sciences and Technology

Gaithersburg, MD 20899

July 1988

75 Ymti Stimulating America's Progress

1913-1988

0

I 5 EPARTMENT OF COMMERCE

> 8

- 382 ) AL bureau of standards

188

.FtCE

NBSIR 88-3823

ONGOING IMPLEMENTATION AGREEMENTS

FOR OPEN SYSTEMS INTERCONNECTION

PROTOCOLS

VOLUME 1:

STABLE VIRTUAL TERMINAL & DOCUMENT

ARCHITECTURE AND INTERCHANGE FORMAT

, , T

*1 bur«‘“ ot Standards

Gaithersburg, Maryland 20899

AJBsc

Clcioo

. USL,

no. ?8-3fe3

mi

Based on the Proceedings of the

NBS/OSI Implementor’s Workshop

Plenary Assembly Held May 6, 1988

National Bureau of Standards

Gaithersburg, MD 20899

Robert Rosenthal, Editor

U.S. DEPARTMENT OF COMMERCE

National Bureau of Standards

Institute for Computer Sciences and Technology

Gaithersburg, MD 20899

July 1988

U.S. DEPARTMENT OF COMMERCE, C. William Verity, Secretary

NATIONAL BUREAU OF STANDARDS, Ernest Ambler, Director

Table of Contents

1. ISO VIRTUAL TERMINAL PROTOCOL . 1

1.1 INTRODUCTION ' 1

1.2 SCOPE AND FIELD OF APPLICATION 1

1.3 STATUS 1

1.4 ERRATA 2

1.5 OONFORMANCE 2

1.6 PROTOCOL 4

1.6.1 Protocol Elements 4

1.6.2 Mapping of Protocol Elements 4

1.6.3 Protocol Data Unit Structure 4

1.7 TELNET PROFILE 4

1.8 TRANSPARENT PROFILE 10

1.9 APPENDIX A ...... 12

1.9.1 Specific ASE Requirement 12

2. OFFICE DOCUMENT ARCHITECTURE AND INTERCHANGE FORMAT 1

2.1 PART I - DOCUMENT ARCHITECTURE AND INTERCHANGE FORMAT ... 1

2.1.1 Introduction 1

2.1.2 Primary References . 1

2.1.3 Additional References . 2

2.1.4 Scope and Field of Application 4

2.1.5 Status 4

2.1.6 Errata 5

2.1.7 Conformance ...... 5

2.2 PART II - NBS DOCUMENT APPLICATION PROFILE 7

2.2.1 Characteristics Supported by this DAP 7

2.2. 1.1 Logical characteristics 7

2.2. 1.2 Layout characteristics 10

2. 2. 1.3 Content Characteristics 19

2.2.2 Technical Specification 19

2.2.2.

1

Summary of Technical Specification 19

2.2.3 Logical Structure 36

2.2.4 Layout Structure 57

2.2.5 Content-Architecture 91

2.2.5.

1

Character-Content-Architecture 91

2. 2. 5.

2

Raster-Graphics-C^ntent-Architecture .... 99

2.2.6 Document Profile 140

2.2.7 Document Interchange Format 142

2.2.8 Relationship to Other DAPS 145

iii
List of Figures

Figure 1.1 Conformance Status for VT Facilities ........... 3

Figure 2.1 Examples of layout within body area ........... 13

Figure 2.2 Example of text flow around figure ............ 16

Figure 2.3 Example of synchronized text. .............. 17

iv
1. ISO VIRTUAL TERMINAL PROTOCOL

1.1 INTRODUCTION '

The NBS/OSI Workshop Virtual Terminal (VT) SIG is making

implementation agreements for the OSX Basic Class VT Service and

Protocol, 9040 and 9041, including the first addenda to both 9040 and

9041.

These implementation agreements fall into the following categories.

o Functionality to be implemented, i.e. , functional units,

etc.

.

o Identification and specification of VT profiles to be

supported by conforming implementations.

o Agreements with regard to implementation issues not

specified in ISO 9040 and 9041 and their addenda.

o Resolution of problems with ISO 9040 and 9041 identified

during implementation.

o Statement of requirements to meet conformance to these

agreements.

1.2 SCOPE AND FIELD OF APPLICATION

The TELNET profile is intended to support the following usage

o a simple line at a time or character at a time dialogue

o an application level gateway supporting TEXNET/VT

interoperation

.

The Transparent profile supports the exchange of uninterpreted

sequences of characters. This includes support of VT-users who wish

to control terminals directly through the use of embedded control

characters and escape sequences.

1.3 STATUS

This phase of the VT Agreements was completed May 5, 1988. No future

enhancements will be made to this phase.

1-1
1.4 ERRATA

1.5 CONFORMANCE

Conformant VT implementations are required to support the 9041 Clause

13 requirements plus the additional conformance requirements

identified below.

Figure 1.1 shows conformance status for VT facilities which are

optional in the ISO VT standard. The terms used in the figure are

defined as follows:

o "Mandatory" indicated the facility must be provided by all

implementations which conform to these agreements.

o "Optional" indicates that the VT facility is not required to

meet minimum conformance requirements but has been

identified as providing additional useful capabilities.

o "Profile dependent" indicates that the requirement for the

facility, if any, is included in the profile definitions.

" Not addressed" indicates that the VT facility is outside

the scope of these agreements.

o
* Conformance Status Optional Mandatory Profile

Development

Not

Addressed

Profile Switch Functional

Unit

X

Multiple Interaction

Negotiation Functional

Unit

X

Negotiated Release X

Urgent Data X

Break X

Delivery Control X

Enhanced Access Rules X

Structured COS X

Blocks Functional Unit X

Fields Functional Unit X

RIOs X

S-mode X

A-mode X

Figure 1.1 Conformance Status for VT Facilities

It is not anticipated that new profiles will use quarantined delivery

control.

For each mode of operation, (A-mode and S-mode) which is implemented,

the default profile for that mode as defined in ISO 9040 must be

supported. Implementations that support A-mode must support the Amode default profile and at least one additional workshop approved Amode profile. The Transparent profile does not count as an additional

A-mode profile. Implementations that support S-mode must support the

S-mode default profile and at least one additional workshop approved

S-mode profile.

1-3
For each profile inplemented, VTE parameter ranges or values specified

in that workshop agreed profile and associated notes must be

supported.

1.6 PROTOCOL

1.6.1 Protocol Elements

All Protocol Elements supported by the Switch Profile Negotiation

and Break functional units have been selected.

"

1.6.2

Mapping of Protocol Elements

Mapping of protocol elements on to underlying ACSE or

Presentation Services is as defined in ISO 9041.

1.6.3

Protocol Data Unit Structure

Protocol data unit structure is as defined in ISO 9041.

1.7 TELNET PROFILE

This profile provides support for TELNET-like operation for users of

the ISO Virtual Terminal Service. It is based on the second DIS

version of the ISO 9040 and 9041 documents.

The profile has the following arguments:

1. Which is used to represent the line length as the value of VTE

parameter x-window for both display objects. This argument is

mandatory and takes a nonnegative integer value. This argument

is identified by the identifier for x-window for display object

D.

2. Which is used to designate the default repertoire for both

display objects. This argument is optional, if not present the

full US ASCII set is the default. This parameter is identified

by the identifier for repertoire assignment for the display

object D.

The profile is defined as follows:

Display-obj ects=

{

{ display-obj ect-name=D, * ( DISPLAY) * do~access=,,WACAH

, * (the association is initiated by the

"terminal!rVP~USER) * dimensions="two"

,

1-4
x-dimension=

{

x-bound=1

1

unbounded'

x-addressincp"no constraint",

x-absolute="no"

,

x-window=rl

},

y-tlimension=

{

y-bound="unbounded"

y-addressing^"higher only",

y-absolute="no"

,

y-windowK)

),

repertoire-capability=2

,

repertoire-assignment^rofile-argument-r2

,

* (optional ;default={<ES02/8 4/2 , "void" , <ES02/1 4/0}

full ASCII 7-bit (GO+CO) )*

repertoire-assignment=<ESO 2/5 2/15 4/2,

* (Virtual Terminal Service Transparent Set, used for

"binary" TELNET option, always available)*

},

{

display-obj ect-name=K, * (KEYBOARD) * do-access=,rVZACI"

,

dimensions="two"

,

x-dimension=

{

x-bound="unbounded"

,

x-addressing=1

1

no constraint",

x-absolute="two"

,

x-windo^=rl

},

y-diinension=

}

y-bound=' * unbounded1 ' y-addressincp="higher only",

y-absolute="no"

,

y-windowN)

>,

repertoire-capability=2

,

repertoire-assignment=profile-argument-r2

,

* (optional ;default={<ES02/8 4/2 , "void" , <ESC>2/1

4/0}

full ASCII 7-bit (GO+CO) )*

repertoire-assignment=<ESC> 2/5 2/15 4/2,

* (Virtual Terminal Service Transparent Set, used

for "binary" TELNET option, always available)*

} , },

Control-obj ect=

1-5
{

{

CX>naine=SY,* ( SYNCHRONIZE) * GQ-access="not-subject-to-access-control"

,

(X>-<^tegory=Mboolean"

,

00~size==l,

CO~priority^"urgent"

,

00“trigger="selected"

,

},

{

CO-name=DI , * (DISPIAY-SIQJAL) * 00TMaccess=,fVZACA"

,

CD-category^,, booiean"

,

G0-size=5,

QO-prioritys=,, norrnalH

, CO-trigger^"selected"

}

{

CD-nan^KB, * (KEYB0ARD-SIO3AL) * GCHaccess="WACI1

1

f QO=category="bool@an"

CO-size^S,

(XHpriority^"normal

CO-trigger=

1 se1ected1

1

}

{

CO-name=OT , * (negotiation control object for initiator)*

00~access^9tl$ACI"

CO-category^8 ’boolean"

CO-size=4,

CO-priority^1

1

normal "

,

CO-trigger^"selected"

}

{

CX>-naxneF=NA, * (negotiation control object for acceptor)*

QO“access="WACA."

CO-category^"boolean"

G0-size=4

,

CO-prioritys="normal

CO-trigger="selected"

}

{

CO-name^GA, * (go ahead)*

00~access="not subject to access control"

,

CO-categoryi="boolean"

,

CO-size=l

CO“priority="normal

GO”trigger="selected"

}

),

Device-obj ects=

{

1“6
{

device-name=DISPLAY-DEVICE

,

device-display-obj ect=D

,

device-default-CO-initial-value?=l , "true" , * ("on") * device-minimum-X-array-length=l , * (no constraint) * device-minimum-Y-array-length=l , * (no constraint) * device-control-obj ect={ SY , NA, DI )

,

* (SYNC , NEGOTIATE-ACCEFTOR, DISPLAY-SIGNAL) * device-terndnation-event-1ist=NULL

,

device-default-GO-access=,rWACA"

,

device-default-CO-priority="normal"

* (other device parameters assume corresponding DO

values) *

},

{

device-name=KEYBQARD-DEVICE

,

device-display-obj ect=K,

device-default-00-access=,rWACI"

,

device-default-O0-priority=="normal"

device-default-CO-initial-value=l . "true" , * ( "on" ) * device-minimum-X-array-length=l , * (no constraint) * device-minimum-Y-array-length=l , * (no constraint) * device-control-obj ect={ SY , NI , KB}

,

* (SYNC , NEGCTIATE-INITIAIOR, KEYBOARD-SIGNAL) * device-termination-event-1ist=NULL

*( other device parameters assume corresponding EXD values) *

Type of delivery control = sinple-delivery-control

.

1. Users of this profile should refer to the TELNET specification

(MIL-STD-1782) and RFCs 854 and 855 for semantics of the TELNET

commands. These documents can be obtained by contacting SRI

International, DON Network Information Center, 333 Ravenswood

Ave., Menlo Park, CA 94025, (415) 859-3695.

2. This profile can be used only in A-mode.

3. Booleans in the KB and DI control objects are used in this

profile to correspond to TELNET commands as follows:

Notes:

Control Object Boolean TEH N kt

DI/KB

DI/KB

DI/KB

DI/KB

DI/KB

1

2

3

4

5

IP

AO

AYT

CM

BREAK

1-7
The equivalent of a TELNET command is achieved by sending a

control object update toggling the boolean that corresponds to

the desired TELNET command.

4. An update to the GA control object is equivalent to the TELNET Go

Ahead command.

5. The equivalent of a TELNET SYNCH command is achieved by updating

the SY control object and immediately updating the DI (or KB)

control object with the EM boolean set "true". IP, AO, AYT, or

BREAK commands may be accompanied by a SYNCH command by updating

the SY control object and then updating the DI or KB control

object toggling both the EM and the other desired boolean. When

an update to the SY control object is received subsequent display

object updates are discarded until an update to the DI or KB

control object is received toggling the EM bit. If a VT-BREAK is

received after an SY CD update has been received and prior to the

corresponding DI or I® 00 update toggling the EM boolean, the

discarding of updates is terminated * This is necessary because

the VT BREAK may have caused the DI of KB 00 update to be purged.

6. The TELNET EC (erase character) command will be mapped to a

pointer relative (x:= x-1) update and an erase current update.

The TELNET EL (erase line) command should be mapped to an erasefull -x-array update, (an erase operation where the extent is

defined as start-x, current) and a pointer update to set x = 1.

7. The HI and NA control objects are used to emulate the TELNET

option negotiation facility. The facility is symmetric, allowing

either party to open negotiation for a change of mode, and every

negotiation must be accepted or rejected by the opposite party.

The rules for negotiation for each of the option controls are as

stated in RFC 854:

a. Only open negotiation for a change from the current

state.

b. Only acknowledge negotiation for a change from the

current state.

c. Do not send any other object updates with a negotiation

outstanding.

For full symmetry, both the NT and NA control objects have the

same value and consist of 4 booleans with the following

semantics:

BIT Option Control Value -

1 Remote Echo "False" Echo is local; "true"

echo remote

1-8
2 Suppress Go Ahead "False" Go Ahead; "true"

suppress Go Ahead

3 true = binary WACA, false = ASCII WACA

4 true = binary WACI, false = ASCII WACI

Booleans 3 and 4 control the use of the Transparent repertoire

for the D and K display objects respectively. A value of "true"

indicates the use of the binary repertoire? "false" indicates

the use of the negotiated repertoire. When a party wants to

change a repertoire assignment, it must complete a successful

TELNET negotiation to change the option control. Then the party

with the access rights to the display object in question is

required to perform the corresponding secondary attribute model

update.

8. No termination event list is specified so that data buffering and

delivery can be controlled according to context. If local

echoing is enabled, the local newline or enter event shall

trigger a* VT-DELIVER request. With remote echo a timeout or

buffer length may be used to trigger a VT-DEKEVER request. This

buffer length may be 1.

9. The VT next x-array update will be sent in place of the TELNET

NVT "CR,LF" sequence.

10. Option negotiation in TELNET can take place at any time during a

session and modifies option settings one at a time. As Multiple

Interaction Negotiation is not required by the NBS/OSI

Implementor's Agreements, negotiation of TELNET options other

than echo, character set, and the use of go-ahead is not

supported by this profile.

11. In addition to constraints presented by VIE parameters, this

profile permits only backward explicit addressing for the pointer

dimension of both display objects. The x address of the pointer

can be moved forward only by implicit pointer addressing.

Addressing of the y dimension is limited to the next x-array

operation.

12. While the "binary" repertoire is being used no mapping to pointer

addressing or erase operations will be done.

13. The repertoire designation "7-bit ASCII (CO and GO)" refers to

the repertoire invoked by ISO 2022 defined character set

designating escape sequences <ESO 2/8 4/2, "void", <ESO 2/1

4/0. The repertoire designation "7-bit ASCII (GO only)" refers

to the repertoire invoked by the ISO 2022 defined character set

designating escape sequence <ESO 2/8 4/2. The designation

"binary" refers to the "Virtual Terminal Service Transparent Set"

registered in the International Register under ISO 2375 and

invoked by the escape sequence <ESO 2/5 2/15 4/2.

1-9
14 . If the "go ahead" has been negotiated then following a VT-BREAK,

only the association acceptor has the right to send data. In the

event of VT-BREAK the echo control objects are reinitialized to

"false", meaning local echo. If remote echo is desired it must

be re-negotiated following VT-BREAK.

CONFORMANCE

The following character sets are required:

o The GO character set for U.S. 7-bit ASCII (values 32-

126)

o The full U.S. 7-bit ASCII (values 0-127)

o The transparent character set, (see Note 13)

.

1.8 TRANSPARENT PROFILE

This profile is intended to provide a transparent mode of operation

which allows VT-users to exchange transparently uninterpreted

sequences of characters but with the added benefit of delivery control

to enable the VT-users to determine when the character sequences are

to be delivered. This profile may be used when VT-users wish to

control terminals directly through the use of embedded control

characters.

Profile argument rl is optional and enables negotiation of a value

for the VTE-parameter repertoire-assignment for the two display

objects (which always have the same value of repertoire assignment

when the profile is called) . If omitted, the Virtual Terminal

Transparent Set, ISO 2375 register value 125, is used as the default.

Display-objects * (double occurrence) *=

{ (display-object-name=DISPLAY“OBJECT-l,

do-access="WACA"

,

dimensions=l,

x-dimensions=

{x-addressings="no"*(no explicit motion)*

* ( x-bound, x-absolute, and x-window assume default

},

*(erasure_capability, emphasis-capability

,

foreground-colour-capability, background-colourcapability

& repertoire-capability assume default values)*

repertoire-assignment^rofile-argument-rl

( display-obj ect-name=DISPIAY”0BJECr-2

,

do-acGess=,fV2ACX"

,

dimensions^!,

X“dimension=

{ x-addressing="no" * ( no explicit motion)*

1-10
* (x-bound, x-absolute , and x-window assume

default values)*

),

* (erasure-capability, emphasis-capability,

foreground-colour-capability, background-colourcapability

& repertoire-capability assume default values)*

repertoire-assignment=profile-argument-rl

>},

type-of-delivery-control=simple-delivery-control

1. Use of this profile requires that the value of service

parameter VT-mode for the VT-association is "A-Mode".

2. This profile is intended primarily for applications

requiring a simultaneous two way exchange of sequences of

uninterpreted characters. The semantics usually associated

with the display object are not used; for the purposes of

this profile, the primary attributes of the character-box

graphic elements are actually octets which are passed

directly to the real device. There is no relationship

between the elements of the X-array and the character boxes

of the real device; the secondary attributes of the display

object are not utilized. The only operation on the display

object which must be supported is the text operation. An

alternative repertoire may be selected.

3. Support for the default (transparent) character set is

required. It is strongly recommended that the profile

parameter not be used.

1-11
1.9 APPENDIX A

1.9.1 Specific ASE Retirement

For specific ASE Requirements identified by the Upper Layer SIG

for Virtual Terminals , (See Volume 2 Ongoing Agreements Document,

Continuing Agreements Chapter 9.10c

1-12
2. OFFICE DOCUMENT ARCHITECTURE AND INTERCHANGE FORMAT 2.1

PART I ~ DOCUMENT ARCHITECTURE AND INTERCHANGE FORMAT

2.1.1 Introduction

Section 2 defines an Implementation Agreement based on Office

Document Architecture (ODA) and Interchange Format, as defined in

International Standard (ISO) 8613 and provides detailed

specification for the implementor. (Note that throughout this

agreement, references to ISO 8613 indicate the IS version, 1988)

.

Such an agreement is termed a Document Application Profile

according to ISO 8613.

ISO 8613 has seven parts:

Part 1 of the IS gives an introduction to the

standard as a whole and provides a description of

the general principles of ODA?

Part 2 defines the

reference document

Part 4 defines the

Part 5 defines the

Part 6 defines the

architectures?

Part 7 defines the

architectures?

Part 8 defines the

architectures.

document structure model and a

processing model?

document profile?

interchange formats?

character content

raster graphics content

geometric graphics content

ISO 8613 is equivalent to the CCITT T.410 series of

Recommendations. This Implementation Agreement uses ISO 8613

as the base standard.

2.1.2 Primary References

The following documents are referenced in the statement of the

agreements relating to Office Document Architecture.

ISO 8613/1 - Information processing : Text and Office

Systems? Office Document Architecture (ODA) and Interchange

Format Part 1: Introduction and General Principles

2-1
ISO 8613/2 - Information processing : Text and Office

Systems; Office Document Architecture (ODA) and Interchange

Format Part 2: Document Structures

ISO 8613/4 - Information processing ; Text and Office

Systems; Office Document Architecture (ODA) and Interchange

Format Part 4; Document Profile

ISO 8613/5 - Information processing ; Text and Office

Systems; Office Document Architecture (ODA) and Interchange

Format Part 5: Office Document Interchange Format

ISO 8613/6 - Information processing : Text and Office

Systems; Office Document Architecture (ODA) and Interchange

Format Part 6: Character Content Architectures

ISO 8613/7 - Information processing : Text and Office

Systems; Office Document Architecture (ODA) and Interchange

Format Part 7; Paster Graphics Content Architectures

ISO 8613/8 “ Information processing ; Text and Office

Systems; Office Document Architecture (ODA) and Interchange

Format Part 8: Geometric Graphics Content Architectures

2.1.3 Additional References

ISO Standards

ISO 8859-1 - Information Processing - 8-bit Single-byte Coded

Graphic Character Sets - Part 1: Latin Alphabet No. 1

ISO 8859-2 - Information Processing - 8-bit Single-byte Coded

Graphic Character Sets - Part 2; Latin Alphabet No. 2

DIS 8859-3 - Information Processing - 8-bit Single-Byte Coded

Graphic Character Sets - Part 3: Latin Alphabet No. 3

ISO 6937-1 - Information Processing - Coded Character Sets for

Text Communication - Part 1: General Introduction

ISO 6937-2 - Information Processing - Coded Character Sets for

Text Communication - Part 2; Latin Alphabetic and

Non-Alphabetic Graphic Characters

ISO 2022 - Information Processing - ISO 7-Bit and 8-Bit Coded

Character Sets - Code Extension Techniques

ISO 8632-1 - Information Processing Systems - Computer Graphics - Metafile for the Storage and Transfer of Picture Description

Information - Part 1: Functional Specification

2-2
ISO 8632-2 - Information Processing Systems - Computer Graphics - Metafile for the Storage and Transfer of Picture Description

Information - Part 2: Character Encoding

ISO 8632-3 - Information Processing Systems - Computer Graphics - Metafile for the Storage and Transfer of Picture Description

Information - Part 3: Binary Encoding

ISO 8632-4 - Information Processing Systems - Computer Graphics - Metafile for the Storage and Transfer of Picture Description

Information - Part 4: Clear Text Encoding

ISO 646 - Information Processing - ISO 7-Bit Coded Character Set

for Information Interchange

ISO 8824 - Information Processing Systems - Open Systems

Interconnection - Specification of Abstract Syntax Notation One

(ASN.l)

ISO 8825 - Information Processing Systems - Open Systems

Interconnection - Specification of Basic Encoding Rules for

Abstract Syntax Notation One (ASN.l)

CCTIT Recommendations

T.6 - Facsimile Coding Schemes and Coding Control Functions for

Group 4 Facsimile Apparatus 1984

T.4 - Standardization of Group 3 Facsimile Apparatus for

Document Transmission 1984

T.411 - Open Document Architecture (ODA) and Interchange Format - Introduction and General Principles 1988

T. 412 - Open Document Architecture (ODA) and Interchange Format - Document Structures 1988

T.414 - Open Document Architecture (ODA) and Interchange Format - Document Profile 1988

T.415 - Open Document Architecture (ODA) and Interchange Format - Document Interchange Format (ODIF) 1988

T.416 - Open Document Architecture (ODA) and Interchange Format - Character Content Architectures 1988

T. 417 - Open Document Architecture (ODA) and Interchange Format - Raster Graphics Content Architectures 1988

2-3
T.418 - Open Document Architecture (ODA) and Interchange Format - Geometric Graphics Content Architectures 1988

T.501 - Document Application Profile MM for the Interchange of

Formatted Mixed Mode Documents 1988

T.502 - Document Application Profile EMI for the Interchange of

Processable Form Documents 1988

T.503 - Document Application Profile for the Interchange of

Group 4 Facsimile Documents 1988

Other References

INTAP-S007-03 - Multi-media (ODA/ODIF) Functional Standard

Detail Description (AE.llln-J), Small Function Set Profiles of

Document Interchange Format with Layout Information

INTAP-S007-04 - Multi-media (ODA/ODIF) Functional Standard

Detail Description (AE.112n“J) , Medium Function Set Profiles of

Document Interchange Format with layout Information

Technical and Office Protocols (TOP) Version 3.0 Specification

2.1.4 SCOPE AND FIELD OF APPLICATION

This implementation agreement defines a document application

profile (DAP) suitable for interchanging documents in formatted

form* processable form, or formatted processable form in

accordance with ISO 8613.

The DAP is intended for interchange of compound documents between

document processing systems. It is intended for documents

potentially containing character text, raster graphics, and

geometric graphics.

The documents addressed by this DAP range from simple memos to

highly structured technical documents. Other DAPs may be defined

in the future for other levels of document processing

requirements.

2.1.5 STATUS

This is the first version of the stable on-going agreement dated

June 1988.

2-4
2 . 1.6 ERRATA

None.

2.1.7 CONFORMANCE

Introduction

This section defines conformance requirements and provides

guidelines for the interpretation of results of conformance

testing.

Conformance Requirements

Conformance to this document application profile is defined in

terms of an irrplementation ' s ability to act as an originator

and/or recipient of data streams conformant to the syntax and

semantics of ISO 8613 as well as meet all the requirements listed

below:

IF THE IMPLEMENTATION IS AN ORIGINATOR :

1)

generate data streams, for one or more of the document

architecture classes

a) formatted document architecture (FDA)

b) processable document architecture (PDA)

c) formatted processable document architecture (FPDA)

2) for each document architecture class supported,

generate data streams that include only constituents

specified in the relevant sections of this

implementation agreement.

3) for each constituent of each document architecture

class supported, generate data streams that include

only those attributes and combinations of attributes

permitted by the relevant sections of this

implementation agreement.

4) either

i) for each attribute of each constituent of each

document architecture class supported, generate

data streams that contain only basic attribute

values as specified by the relevant sections of

this implementation agreement.

2-5
or

ii) for each attribute of each constituent of each

document architecture class supported, generate

data streams that contain both basic and non-basic

attribute values as specified in the relevant

sections of this implementation agreement.

IF THE B^]^3XEM]ATI0N IS A RECIPIENT ;

5) receive data streams, for one or more of the document

architecture classes

a) formatted document architecture (FDA)

b) processable document architecture (PEA)

c) formatted processable document architecture (FPDA)

6) for each document architecture class supported, receive

data streams that include any of the constituents

specified in the relevant sections of this

implementation agreement.

7) for each constituent of each document architecture

class supported, receive data streams that include any

of the attributes or any combination of attributes

permitted by the relevant sections of this

implementation agreement.

8) either

i) for each attribute of each constituent of each

document architecture class supported, receive

data streams that contain only basic attribute

values as specified by the relevant sections of

this implementation agreement.

or

ii) for each attribute of each constituent of each

document architecture class supported, receive

data streams that contain both basic and non-basic

attribute values as specified in the relevant

sections of this implementation agreement.

Conformance Testing Definitions

Any implementation that can correctly generate data streams in

2-6
accordance with the conformance requirements listed above in 1)

,

2), 3) and 4)i, is defined as a "minimal conforming originator."

Any implementation that can correctly receive data streams in

accordance with the conformance requirements listed above in 5),

6), 7), and 8)1, is defined as a "minimal conforming recipient."

2.2 PART II - NBS DOCUMENT APPLICATION PROFILE

2.2.1 Characteristics Supported bv this DAP

The following sections describe the logical and layout features

that can be represented in documents conforming to this document

application profile. The features are described in terms that

are typical of the user-perceived capabilities of current

document processors. The features are grouped into logical

features and layout features in order to relate them to their ODA

representation

.

Documents conforming to this document application profile may

contain any or all of the following content architectures:

a) character text,

b) raster graphics,

c) geometric graphics.

2 . 2 . 1 . 1 Logical characteristics

Document logical structure

The logical structure of documents comprise numbered

segments (e.g. , chapters, sections or numbered paragraphs),

passages, paragraphs, figures and footnotes. Numbered

segments can be nested and automatic numbering systems are

provided for.

The logical structure of a document conforming to this

document application profile consists of a hierarchy of

logical objects. The following is an example of a generic

document logical structure derived from this document

application profile:

2-7
Document

Passage (s)

Paragraph

Text

Footnote

Footnote reference

Footnote body

Text

Figure

Text

Figure

Section level 1

Section number level 1

Section title

Passage

Paragraph

Figure

Section level 2

Document structure elements

Document

A document is composed of a sequence of numbered segments or

passages each of which is optionally titled and consists of

a sequence of paragraphs and/or figures and/or further

passages or numbered segments.

Passage

A passage consists of any logical sequence of paragraphs, figures , and/or further passages or numbered segments that

can be regarded as an entity for reading or for layout

presentation.

For example, separate passages may be provided for:

(a) the contents to be placed on the title page of a

report,

(b) the body of the report, and

(c) the contents to be placed in appendices.

A table is a particular case of a passage. A single

paragraph or a single figure is a simple case of a passage.

Segment

2-8
A segment is a part of a document which has an automatic

number which precedes any other contents and which serves to

identify the segment uniquely.

The contents of a segment may begin with a segment title

starting on the same line as the segment number.

The document originator may define different classes of

segments having in common same presentation features and/or

same layout features. For example, the document originator

may define a class of segments which always begin on a new

page, and another class of segments which are laid out using

a special left or right margin offset.

An automatically generated segment number consists of either

a number or a series of numbers separated by instances of an

arbitrary specified character string separator. In the case

of a series of numbers, the segment number is equal to the

automatically generated segment number (if any) of the

enclosing segment followed by a single index number to

uniquely identify the segment.

Index numbers are generated sequentially within any numbered

segment. The method of numbering may be a combination of

the following:

a) Arabic numerals

b) Upper/lower case letters

c) Upper/lower case Roman numerals

Paragraph

A paragraph is a contiguous amount of content in the

intended reading order; a paragraph may, for example,

contain a mixture of embedded figures, footnote references,

and character text.

A paragraph may contain zero, one or more embedded footnote

references. Multiple consecutive footnote references,

without intervening text, are also permitted.

A paragraph may contain zero, one or more embedded figures

and, optionally, figure references. Multiple consecutive

figures and/or figure references, without intervening text,

are permitted.

A paragraph may comprise a number of character sequences

concatenated together, for example if the character

sequences were separately derived or generated.

The document originator may define different classes of

paragraphs having in common some presentation features

2-9
and/or some layout features. For example, the document

originator may define classes of paragraphs for "abstract",

"standard paragraph", and "summary".

Figure

A figure is an amount of geometric graphics or raster

graphics content designed to occupy a rectangular area.

One or more paragraphs can be associated with a figure, for

example to provide captions or notes.

Footnote

A footnote consists of a footnote reference and a footnote

body.

The footnote body is a contiguous amount of text that can be

read out of sequence from the paragraph containing a

reference to it.

Footnote reference

A footnote reference may have an automatically generated

label or one supplied by the user. (Both types of footnote

references may be present.) If the label is automatically

generated then the label may be represented by Arabic

numerals, upper or lower case Roman numerals, or upper or

lower case alphabetic characters.

Automatically generated footnote numbers are incremented

sequentially from an initial value which may be set to any

non-negative value at the beginning of the document and

reset at any segment or passage, as required.

Reference

A general purpose reference mechanism is provided within

paragraph. For example, this reference may be used to

reference figures, page numbers, chapter numbers, etc. in

other parts of the document.

2 . 2 . 1 . 2 Layout characteristics

Document Layout Structure

2-10
The page layout structure allows for several pagesets (e.g.

,

for introductory material and annexes in addition to the

main text body, which could be in chapters.) The body area

of a page may contain multiple columns and areas for

graphics. Header and footer contents can also include

figures.

The following is an example of a generic document layout

structure derived from this document application profile:

Document

Page set

Page

Header area

Body area

Single frame

Multiple columns

Individual frame (s)

Mixed set of frames

Footer area

Document layout structure elements

Document

A document consists of a sequence of one or more page sets.

Page set

The pages within a page set all have the same dimensions and

orientation (landscape or portrait) but may differ in layout

and/or content of the header and footer areas.

There may be an optional first page of one particular page

layout and this may be followed by either of the following:

a) Repeated pages with the same layout

b) Repeated pages designed for alternating recto and

verso layout

Page layout

This document application profile supports various page

dimensions including the assured reproduction area of the

ISO A4, North American letter, North American legal, and ISO

A3. The default is the common assured reproduction area of

ISO A4 which is equivalent to North American letter.

2-11
A page layout consists of:

a) An optional header area that is reserved for

header contents

b) A single body area

c) An optional footer area that is reserved for

footer contents

Particular header and footer contents are associated with

each page layout.

Body area layout

The body area may be subdivided into rectangular frames.

Thus the layout may consist of any sequence of:

a) Single frame of fixed width, equal or less than

body area width, and fixed height or height

adjustable to fit contents

b) Set of multiple column frames of fixed widths per

column and fixed height or height adjustable to

fit contents

c) Individual frames with fixed position and

dimensions

d) Mixed set of frames with various properties, e.g.,

fixed-size figure frame with fixed-sized caption

frame beneath and adjustable height text frame

beside both

See figure 1 for illustrations.

Frames which have fixed position and dimensions are

permitted to overlap.

Header area layout

This is a rectangular area above the body area. It may be

subdivided into a number of rectangular frames, for example

to contain textual information and graphics such as company

logos.

2-12
- Body Area

Figure 2.1 Examples of layout within body area

Footer area layout

This is a rectangular area below the body area. It may be

sub-divided into a number of rectangular frames, for example

to contain textual information and graphics such as company

logos.

.

2-13
Header contents and footer contents

Header contents or footer contents may consist of a sequence

of paragraphs and/or figures that are constrained to be laid

out entirely within the corresponding header or footer area.

One or more automatically generated page numbers may be

included anywhere within header contents and/or footer

contents.

Header contents or footer contents must not include any

footnote or footnote reference or automatic segment numbers.

Page numbering

An automatically generated page number may occur at any

position within header contents or footer contents. Page

numbers may represented in Arabic numerals, lower/upper case

Roman numerals or lower/upper case letters.

Page numbers are generated sequentially and the sequence can

be restarted from any positive integer value at the

beginning of any page set.

Layout of document logical contents

The sequence of passages and/or segments is laid out in one

or more body areas such that it flows through the sequence

of pages in the document.

Controls are needed in order to break the flow of contents

at appropriate points. For example, following the passages

to be placed on the title page of a document it may be

required to control the flow in order to direct subsequent

text onto a new page of a different page layout.

layout of passage (or segment) contents

A passage may be laid out in any of the following ways :

a) As separate passages (see below)

b) Below the previous text within a containing

passage

c) As a sequence of passages

Layout of passage contents

Controls are available to guide the layout of passages or

their subordinate paragraphs and figures.

A passage can be positioned at a fixed position (e.g. the

2-14
start) of a new body area or in a new frame below the

previous contents of a body area.

In case of sets of multiple columns, content generally flows

from the bottom of one column of the set to the top of the

next column to the right.

Regardless of content type, the various paragraphs and

figures in a passage may be laid out within specified

frames.

The various methods of subdivision of body areas may be

combined with certain frames being designated for flawing

text and other frames for particular contents. Thus text

may appear to flow around other contents. For example,

several figures can be contained within a passage and effect

of text flow around the figures and their captions can be

produced. See figure 2 for illustration.

A new set of multiple frames can occur beneath a similar

set. Thus parallel text (e.g. , multilingual) dan be

synchronized or a table effect can be generated. See figure

3 for illustration..

A variation of the table technique can be used for labelling

and annotating paragraphs.

A complete passage can be constrained to be contained in the

same body area or frame (by indivisibility)

.

Layout controls

The following properties may be specified to control where

body area or page breaks occur:

a) New column set (New Layout Object)

This specifies that the contents should be laid out in

the first column (or frame) of a new set of columns (or

frames)

.

b) Unconditional column break (New Layout Object)

This indicates that the contents must be displayed in

the next column (or frame)

.

2-15
Body Area

text -

— text —

- continued

Figure 2.2 Exanple of text flow around figure

Note: "Caption" and "Notes” contain formatted

character content.

2-16
Body Area

Figure 2.3 Example of synchronized text.

c) Layout object class

This indicates that the contents concerned must be

displayed in a specified frame, e.g. , to control figure

positioning.

d) New page set (New layout Object)

This indicates that the contents should be laid out in

a new page set.

e) New page layout (New layout Object)

This indicates that the contents should be laid out on

a new page of a particular page layout.

f) Unconditional page break (New layout Object)
This indicates that the contents must be displayed in

the body area of the next page.

g) Indivisibility

This indicates that a passage (segment, paragraph or

figure) must be laid out within a single frame, body

area or page set.

h) Same page/same area (Same layout Object)

This specifies that the start of a passage, numbered

segment, paragraph, or figure, for example, must be

laid out in the same frame or body area as the end of

the previous content (for example, to keep a first

paragraph with a title)

layout of paragraph contents

A paragraph may or may not specify its own margins,

alignment and tab stops. The indentation of the first line

may be different from the remainder of the paragraph. The

separation between successive paragraphs can be controlled.

Within a passage the contents of a paragraph may be laid out

in two or more frames to allow text to flow around a figure.

The figure may or may not be logically associated with that

paragraph.

By using the widow and orphan features, layout of paragraphs

can also be controlled in order to determine how a paragraph

should be divided across two pages.

The orphan size specifies the minimum number of lines of

text that must be allocated to the first body area or frame.

The widow size specifies the miniinum number of lines of text

that must be allocated to the last body area or frame when a

paragraph is split over two or more body areas or frames.

Layout of figure contents

A figure may occur beneath the previous contents of a body

area or frame or can be specified to occupy a particular

frame.

Any paragraphs associated with the figure, for example, to

provide captions or notes, can be positioned to occupy

rectangular areas positioned above, below or beside the

figure.

Layout of footnote contents

2-18
A footnote body my be placed at the bottom of a body area

of a page and my or my not be constrained to be entirely

in the same body area as the reference to it. If multiple

footnotes occur in the same body area the corresponding

footnote bodies can be placed in the body area in the same

order as the reading order of their references.

2 . 2 . 1 . 3 Content Characteristics

A document my contain any of the following types of

content:

character text utilizing graphic characters as defined

in ISO 6937 and ISO 8859 together with character

presentation techniques defined in ISO 8613/6;

raster graphics images encoded according to CCOT

Recommendations T.4 and T.6 and in unencoded bitmap

form; and

geometric graphics images in accordance with the

minimum capabilities of ISO 8632, each figure

consisting of a single picture only.

2.2.2 TECHNICAL SPECIFICATION

2. 2. 2.1 Summary of Technical Specification

Overview

The NBS DAP, in accordance with ISO 8613, allows documents

to be represented in the following forms:

processable form, which facilitates

the revision of a document by a

recipient;

formatted form, which facilities the

reproduction of a document as

intended by the originator;

formatted processable form, which

facilitates the reproduction of a

document as intended by the

2-19
originator or facilitates the

revision of a document.

Specification of Constituents

This section specifies the required and optional

constituents used for the representation of documents that

conform to the NBS DAP.

Constituents specified as 'required' must occur in any

document that conforms to the NBS DAP. Constituents listed

as 'optional' may or may not be present in the document

depending upon the requirements of the particular document.

Formatted Form Documents

Required Constituents

a document profile

layout object descriptions representing a specific layout

structure

Optional Constituents

layout object class descriptions representing a 'partial 6 generic layout structure

presentation styles

Processable Form Documents

Required Constituents

a document profile

logical object class descriptions representing a

1 complete ' generic logical structure

logical object descriptions representing a specific

logical structure

Optional Constituents

layout object class descriptions representing a

'complete' generic layout structure

layout styles

- presentation styles

2~20
Formatted Processable Form Documents

Required Constituents

a document profile

logical object class descriptions representing a

' complete ' generic logical structure

logical object descriptions representing a specific

logical structure

layout object class descriptions representing a

1 complete 1 generic layout structure

layout object descriptions representing a specific layout

structure

Optional Constituents

layout styles

presentation styles

Notation and Constraints

Introduction

This section presents the notation used in the diagrams and

tables which define the permissible structures and attribute

values for this document application profile.

There are two sets of diagrams: one describing the logical

structure and one describing the layout structure. There

are six tables describing attribute value ranges for logical

constituents, layout constituents, character content, raster

graphics content, geometric graphics content, and the

document profile.

Although the layout of these tables is similar, same

differences exist. In general, constraints are expressed

for constituents by listing an ODA attribute name together

with a set of permissible values identified for those

attributes required to be present in the interchanged stream

and for those additionally permitted in the interchanged

stream. For example,

content-architecture-class { cp | cfp

}

2-21
specifies for a given constituent that the contentarchitecture-class attribute in this DAP may take one of the

values character-processable or character-formattedprocessable.

Attributes in the tables specifying values for the

character, raster, and geometric content also specify BASIC,

NON-BASIC, and DEFAULT values as well as detailing for which

content architecture class the attribute may be specified.

For example,

select-graphic-rendition BASIC

NON-BASIC

DEFAULT

CLASS

{0. .7,9,10. .19,

21. .27,29}

{NONE}

{ 0 }

{cf,cp,cfp}

specifies, for a given content-information attribute, that

the select-graphic-rendition control function may be one or

more of the basic values representing normal intensity (0)

bold (1) , faint (2) , italicized ( 3 ) , underlined (4) and so

on; that no non-basic values may be specified; that the

default is normal intensity (0) ; and that the control

function may be specified for any of the character content

architecture classes.

There are no non-basic values allowed for attributes in the

logical and layout object and object class descriptions.

The respective default values, when different from IS 8613,

are specified in the document profile attribute "document

application profile defaults." For example,

dimensions { horizontal { #fbced{ 9240}

}

#vertical{#fixed{ 12400} }

}

specifies for the document profile attribute dimensions that

the default values for the horizontal and vertical are equal

to the common assured reproduction area of ISO A4 and North

American Letter.

Notation

This section informally describes a meta-language used to

define, in terms of a two-level grammar, the NBS notation

used in the specification of this document application

profile.

The first level provides production rules for the direct

specification of attribute values whereas the second level

grammar provides productions for the indirect specification

2-22
of the attributes "bindings", "generator for subordinates"

and "content generator".

The notation used in this Implementation Agreement is an

extension of the notation defined in Annex A of IS 8613/2.

Grammar Meta-Language

The grammars have a BNF-style that uses the following meta-language

symbols:

Used to specify that the string of symbols on the right-hand

side is to be substituted for the non-terminal symbol on the

left-handside

-> Used to indicate that the non-terminal symbol on the lefthand side evaluates to the string of symbols on the righthand side;

Used to separate alternatives;

< > Used as a pair of symbols to delimit a non-terminal symbol;

« » Used as a pair of symbols to delimit a nonterminal symbol

that is specified in the second-level grammar; — — Used as a pair of symbols to delimit a comment string;

{ } Used as a pair of symbols to delimit a syntactical unit;

[ Used as a pair of symbols to delimit an optional syntactical

unit;

. . Used following a syntactical unit to indicate that the

syntactical unit may be repeated;

1 " Used as a pair of symbols to delimit a terminal symbol;

+ Used to indicate a string concatenation

First level Grammar

<attribute-specification> : : = <attribute-name> [ ** ]

{ <conditional

value>|

<attrlbute-value-range>

}

<attribute-name> : : = — An attribute name from ISO

8613—

2-23
<conditional-value> ::=€ASE {<boolean expression^' { "<simplevalue>" }"}...

<boolean-expression> : :=[<namexrel-op>] <atamic-value>

<attribute-value-range> : s= <composite-value> | <sirtple-value>

<ccmposite-value> : <single-range> | <set-range> | <seq-range>

<single-range> : := "# ,e <parameter-name> <attributevalueTMrange>

<pararoeter-name> i := —A parameter or sub-parameter name

from ISO 8613—

<set-range> »»{» <simple-value> [ <siirple-value>] . . . "

}

8!

<s@q-range> {<simpl@-value>} . . *

88 }IS

<simple-=value> s s=<constraint> | <keyword>

|

<atomic-value>

|

<expr-value>

<constraint> i ?=<binding-constraint> | <constr-e>qpr-Gonstraint> | «content-gen-constraint» | <reference-constraint>

<^indirig-constraint> % ^‘'nUTnAUZAnON" "(" {<<bindingname»} e9 . ")"

|

'^NI^tATION'6 "(" {«bind±ng-

• name»} e . a ”) 18

<constr-e>qpr"Gonstraint> :=<:opl> 11 (•* <constr-exprconstraints ")" | <opN> "(" <constructionlist>") "

|

<DAP-constituent>

<opl> : : ~«iter» | «poss»

«opt» | «rep» | «optrep»

<opN> “ ° -«ser» «any» «set» | «cho» «seq» «agg»

<construction-list> : : ^coristr-TMexpr“constraint> j <constr-expr-ccnstraint>

<construction-1ist>

2-24
<reference-constraint> : := —string literal

<keyword> : :="AS_8613" | "NONE" | "N/A"

<DAP-constituent>

name> [ " . "<variable>]

: :=<DAP-constituent-

<DAP-constituent-nanve> : := Logdoc, Passage,

NumberedSegnent , Number, Title,

Paragraph, FNote, FTJBody, Figure, Text

Reference, Ref, Raster, Geometric, HdrOr-Ftr-Content, PageNumber, laydoc,

Pageset, Page, RPage, VPage, Header,

Footer, BodyArea, FrameA, FrameB,

FrameC, FrameD, FrameE, FrameF, FrameG

FrameH, Framel, FraroeJ, FrameK, Block

<variable>

t

: := — string literal that distinguishes a

particular instantiation of the DAP

constituent . —

<expr-value> : : =<function-value> | <e^q?r>

<function-value> :

: ={ "OBJECI-CIASS-ID-OF" " ( " { <DAPconstituent>

[

{ "

|

1

<DAP-constituent> }

{ "OBJECT-ID-OF" "("{ <DAP-constituent>

[ { ”

|

<DAP-constituent>} . .

. ] } ") "

}

<expr> : : =<sinple-expr> | <exprxrel-opxsiirpleexpr>|

MSIZE"<rel-opxsinple-expr>

<sirnple-expr> : :=<term> | <siiiple-e>^rxadd^p><term>

<term> : : =<atomic-value> | <termxmultopxatomic-value>

<atamic-value> .Any attribute value specified in ISO

8613 Part 2,4, 6,7 or 8

<rel-op> :: = «•=»

| ••<"| »».«•| »•<>

| '»<=»| »>=»| ii —

<add-op> 11= h-j-h

|

*• >•

<mult-op> . ii*h

| myii

<name> :

: ={ [ <DAP-constituent>" # " ] <attrlbute-name>

[ n #

u <parameter-name>] . . .

}

2-25
Keywords

**Used to denote that if this attribute is specified for a constituent in

the generic structure then the corresponding attribute in the specific

structure may not be specified. Note that the use of facility is

currently under study.

AS_8613

Used to denote that any value may be specified that is permitted in ISO

8613.

NONE

Used to indicate that there are no valid values for this attribute or

parameter.

N/A

Used to denote that there is no applicable attribute value

OBJECTjCXASSjrojDF

Used to specify any object call identifier from the set of instances of a

particular constituent constraint.

OBJECTJTOOF

Used to specify any object identifier from the set of instances of a

particular constituent constraint.

STYIEJDF

Used to specify any style identifier from the set of instances of a

particular style constraint.

INTTTMJZMTQN

Constrains bindings that identify which binding name value pairs can be

initialized for a particular constituent constraint . Note that a table

is provided in the second level grammar that defines the allowed

initialization for all instances of bindings.

IWOTUXAIXON

Used to identify a binding that provides an expression value. A BNF

specification is provided in the second level grammar that defines the

allowed expressions for all instances of bindings.

Delimiters

[•

(«

<. , /*

} Used to delimit a syntactical unit.

] Used to delimit optional units.

) Used as a general delimiter.

> Used to delimit a non-terminal symbol.

.*/ Used to delimit a comment.

Separators

,

: Used to separate set elements.

: Used to separate alternatives.

2-26
. . : Used to specify a range of integers or characters.

# : Used to announce a parameter and attribute value range.

. : Used to distinguish instances of object classes or objects.

Relational operators = : equality.

> : greater than.

< : less than.

>= : greater than or equal to.

<= : less than or equal to.

o : not equal. — : equivalent to.

Arithmetic Operators

+ : addition.

: subtraction.

* : multiplication.

/ : division.

Second-level Grammar — The valid construction expressions for an object class (i.e. the

allowable values for the attribute "generator for subordinates") are

specified using a meta-construction defined in the first-level

grammar. The semantics of a meta-construction are defined such that

the result of its evaluation is a construction expression. The result

of evaluating a <DAP-constituent> is the identifier of an object class

derived from the named constituent constraint. The terminals

comprising <opl> and <opN> are called construction operators and are

defined in the following second-level grammar. —

— The operator opt evaluates to a construction expression composed of an

optional construction factor specifying an object class identifier or

construction expression which is derived from the specified

construction expression constraint. —

«opt» -> "OPT" {—object class identifier

—contained expression—

}

— The operator rep evaluates to a construction expression composed of an

repetitive construction factor specifying an object class identifier

or construction expression which is derived from the specified

construction expression constraint. —

«rep» -> "REP" {—object class identifier— | —contained expression—

)

— The operator optrep evaluates to a construction expression composed of

an optional repetitive construction factor specifying an object class

2-27
identifier or construction expression which is derived from the

specified construction expression constraint. -- «optrep» -> "OPTREP" {—object class identifier— | —contained expression—}

The operator cho evaluates to a construction expression composed of an

choice construction factor specifying an object class identifier or

construction expression which is derived from the specified

construction expression constraint. —

«cho» -> "CHO" {—object class identifier— | —contained expression—

}

The operator seq evaluates to a construction expression composed of an

sequence construction factor specifying an object class identifier or

construction expression which is derived from the specified

construction expression constrainte —

«seq» -> "SEQ” {—object class identifier— | —contain©! expression—

}

The operator agg evaluates to a construction expression composed of an

aggregate construction factor specifying an object class identifier or

construction expression which is derived from the specified

construction expression constraint. —

«agg» => * 8AGGle {—object class identifier— | —contained expression—

}

The operator iter evaluates to either no construction expression or a

construction expression which evaluates to a sequence of objects

belonging to object classes derived from the specified construction

expression constraint. The object classes need be neither identical

nor distinct. —

«iter» i <null-constr-e>pr> | <iter-constr-expr>

<null-constr-expr> -> null construction expression—

<iter-constr-expr> -> <constr-term>

"SEQ11 <term-sequence>

,eAGG!l <tem-sequence>

“GHO" <term~sequence>

<term-sequence> ; ;= <constr“tenn> | <constr“tem> <term”sequenc@>

: := <constr“factor>

"OPT' 8 <coristr-factor>

ispEP® 1 cconstr-factor>

<constr~term>
"OPTREP" <constr-factor>

<constr-factor> : := —object class identifier— | —contained expression— — The operator poss evaluates to either no construction expression or a

construction expression which evaluates to either an empty sequence or

an object belonging to a class derived from the specified construction

expression constraint. —

«poss» : := <null-constr-expr> | <poss-constr-expr>

<null-constr-*expr> -> —null construction expression

<poss-constr-expr> -> <constr-term> | "CHO" <term-sequence>

<term-sequence> <constr-term>

<constr-term> <term-sequence>

<constr-term> cconstr-factor>

"OPT" <constr-factor>

<constr-factor> —object class identifier—

—contained expression

—• The operator ser evaluates to either no construction expression or a

construction expression which evaluates to a sequence of objects one

instance of each belonging to an object class derived from the

construction expression constraint specified in the corresponding

position in the construction list.

«ser» : := <nul1-constr-expr> | <ser-constr-expr>

<null-constr-expr> -> —null construction expression

<ser-constr-expr> -> <constr-”terin>

"SEQ" <tena-sequence>

"CHO" <term-sequence>

<term-sequence> <constr-term> | <constr-term> <term-sequence>

<constr-term> <constr-factor>

<constr-factor> —object class identifier— | —contained expression—

“

The operator any evaluates to either no construction expression or a

construction expression which evaluates to an object belonging to an

2-29
object class derived from any one of the specified construction

expression constraints.

«any» : := <nul1-constr-expr> | <any-constr-expr>

<null-constr-expr> ~> —null construction expression

<any-constr-expr> > <constr-term>

,8 CHO" <term-sequence>

<term-sequence> : <constr-term> | <constr-terrn> <term^eguence>

<constr-term> : := <constr-factor>

cconstr-factor> : := —object class identifier— j —contained expression—

The operator set evaluates to either no construction expression or a

construction expression which evaluates to a sequence of objects? one

instance of each belonging to an object class derived from a distinct

construction expression constraint within the specified list, in any

order. —

«set» : s= <null-constr-expr> | <set~constr-@sq?r>

—null construction expression—

<constr-term> | "SEQ8e <term-sequence>

"AGG" <term-sequence>

ei CH08t <term-sequence>

<constr-term> j <constr~term> <term-sequenee>

cconstr-factor>

*—object class identifier— | •—contained expressi on

This document application profile permits bindings to be used for

automatic numbering schemes, e.gC| page numbers and section numbers.

This production describes the conventions to be used. The constituent

constraints identify bindings by names which describe the use of each

binding o Any number of bindings may be used corresponding to each

name. —

<null“Constr-expr> ->

<set-constr-expr> ->

<tem-sequ@nce> : v-

<constr-term> i °-

<constr-factor> : ^

«binding name» : s= <numbers> |

98 PGnum88

| <numberstrings> | <prefixes> | <suffixes> | <separators>

2-30
<numbers>

<aiumberstrings>

<prefixes>

<suffixes>

<separators>

<n>

"number"" + <n>

"numberstring-" + <n>

"prefix-" + <n>

"suffix-" + <n>

"separator-" + <n>

—any character string from the set of

characters: "0" . . "9"—

A numberstring binding can be initialized in an object superior to the

relevant numbering scheme (e.g., a passage can initialize a numbering

scheme for subordinate sections) . A number binding can be initialized

at each hierarchical level (e.g., section) to start the numbering

sequence for subordinates. The prefix, separator and suffix bindings

can be initialized at a level above the numbering scheme and can be

re-specified at any level within the numbering scheme.

Binding Names Initial value

number-n

FGnum

numberstring-n

prefix-n

suffix-n

separator-n

any non-negative number

any non-negative number

space character

string literal

string literal

string literal

The binding "numberstring" of the numbered object can be used to

construct the character string representation of the number. If the

numbered objects are all of the same object class, the ORDINAL()

numeric function application can be used to create the sequence. If

the numbered objects are of different object classes, sequences are

generated by incrementing the value of another binding called numbern.—

<number-n> : := INC ( B_REF ( PREC (CURRjDBJ) ) (number-n)

)

— The "numberstring" binding is referenced by a content generator in a

subordinate of the numbered object.—

<numberstring-n>

<hierarchic expm>

<simple expm>

: := <hierarchic expm> | <simple expm>

: : = B_REF ( SUP__0BJ ( CURRjDBJ) ) ( numberstring-n)

+ B_REF(SUP_OBJ(CURR_OBJ))

(separator-n) + <sirnple expm>

: := <string functions

(B_REF (CURRjDBJ) (number-n)

)

j <string function> (ORE) ( CURRjDBJ)

)

2-31
| <string- literal>

<string function> : := MK_STR | U_ALFHA | L_ALfflA

U_ROM | L_ROM — There are four possible ways of determining the value for the

attribute "content generator/8 as follows: —

«content”gen-constraint» : := <content~generator-l>

<content-generator-2>

<content-generator-3>

<content-generator-4>

<content-generator-l> : := <num stl> | <pre stl> + <num stl> [ <num stl> + <suf stl> | <pre stl> + <num stl> + <suf stl>

<num stl> : : = B_REF (SUPJOBJ (CURROBJ)

)

( numberstring~n)

<pre stl> tt= B_REF(SUPjDBJ (CURRJOBJ) ) (prefix*=n)

| <string literal>

<suf stl> ::= B__REF (SCJPjOBJ (OJRR_OBJ) ) (suffix-n)

| <string literal>

<content“generator*“2> s := <pgnum st2> j <pgpre st2> +

<pgnum st2> <pgnum st2> +

<pgsuf st2> <pgpre st2> +

<pgnum st2> + <pgsuf st2>

<pgpre st2> : := <string literal>

<pgnum st2> s := MKJSTR (<numeric egression2>)

U_ALPHA (<numeric expr@ssion2>)

L_ALFHA (<numeric expression2>)

U_RQM (cnumeric expression2>)

L_RCM (<numeric expression2>)

<numeric egression2> B_REF ( SUP ( CURR_INST ( <class

or type>

,

CURRJDBJ) ) ) (number)

<class or type> frame | page

OBJECT ID OF (

{ FrameA

PrameH Framel

FrameK Page | VPage})

Frames | Frames

FrameJ

RPage |

<content-generator-3>
MKJSTR (<numeric expression3>)

U_ALFHA (<numeric expression3>)

L_ALFHA (<numeric expressions>)

UJRQM (<numeric expression3>)

L RCM (<numeric egression3>)

<numeric expression.3> : := B_REF (SUP (CURR_INST ( frame

,

CURR_OBJ) ) ) (PGnum)

<content-generator-4>

<num st4>

<pre st4>

: := <num st4> | <pre st4> + <num st4> | <num

st4> + <suf st4> -| <pre st4> + <num st4>

+ <suf st4>

B_REF ( <any-obj ect>

)

( numberstring-n)

B_REF ( <any-obj ect>) (prefix-n) | <string

literal>

<suf st4> B_REF ( <any-obj ect>) (suffix-n) | <string

literal>

<any-object> OBJECT_IF_OD ({ Logdoc | Passage

NumberedSegment | Number | Title

FNote | FNBody | Figure | Text

Ref | Raster | Geometric

Content | PageNumber Laydoc

Page i RPage I VPage Header

BodyArea FrameA FrameB FrameC

FrameE FrameF FrameG FrameH

FrameJ FrameK Block})

Paragraph

Reference

Hdr-Or-FtrPageset

Footer

FrameD

Framel

2-33
LogDoc

U

U

Diagram of logical Structure (1 of 2)
Y

Z

Y

Diagram of Logical Structure (2 of 2)

2-35
2.2.3 LOGICAL STRUCTURE

Logdoc

REQUIRED

•—-Generic—

Object-Type

Obj ect-Class-Identifier

Generator-For-Subordinates

Application-Comments

—Specific—

Obj ect-Identifier

Object-Class

Subordinates

REMITTED

—Generic—

Layout-Style

Resource

User-Readable-Cqmments

User-Visible-Name

Bindings

Default-Value-Lists

Protection

—Specific—

Layout-Style

User-Readable-Comments

User-Visible-Name

Bindings

Default-Value-Lists

Protection

Application-Comments

{ document-logical-root

}

{AS_8613}

{ ser (poss (Title)

,

any ( iter (any (Paragraph,

Figure , NumberedSegment

,

Text, Raster, Geometric) )

iter ( any ( Paragraph , Figure

,

Passage , Text, Raster,

Geometric) ) ) )

}

{ "Logdoc"

}

(AS_8613

}

{OBJECT CLASS ID OF (Logdoc) }

{AS_8613

}

{ STYLEjOF ( L-stylel)

}

{ AS__8613

)

{ A8_J5613

}

(AS_8613)

{ BJITIALIZATION (number,

numberstring, prefix

,

suffix, separator)

}

(AS_8613)

{ AS_8613

}

{STYLEjOF (L-stylel)

)

{AS__8613

)

{ AS__8613

}

{ DUTTALTZATION (number

,

numberstring, prefix

suffix, separator)

}

{AS__8613

)

{AS_8613

}

{ '’Logdoc11 }

2-36
Passage

REQUIRED —Generic—

Object-Type

Obj ect-Class-Identifier

Generator-For-Subordinates

Geometric) ) ) )

)

Application-Comments —Specific—

Obj ect-Identifier

Object-Class

Subordinates

PERMITTED

—Generic

Resource

User-Readable-Cornments

User-Visible-Name

Bindings

Protection

Layout-Style

—Specific

User-Readable-Comments

User-Visible-Name

Bindings

Protection

Layout-Style

Application-Comments

{ composite-logical-obj ect

}

{AS_8613}

{ ser (poss (Title)

,

any ( iter (any (Paragraph,

Figure , NumberedSegment

,

Text, Raster, Geometric)

,

iter ( any ( Paragraph, Figure

,

Passage , Text , Raster

,

{ "Passage"

)

(AS_8613

}

{ OBJECT_CLASS_IDjOF ( Passage) )

{ AS_8613

}

(AS_8613

(AS_8613

(AS_8613)

{ INITIALIZATION (number,

numberstring, prefix

,

suffix, separator)

}

{ AS_8613 }

'

{ STYLE_OF ( L-Style3 ) }

{AS_8613}

(AS_8613

}

{ INITIALIZATION (number

,

numberstring, prefix

,

suffix, separator)

}

{AS_8613

}

{ STYLE__OF ( L-Style3 )

)

{ "Passage"

)

2-37
NumberedSegment

REQUIRED

—Generic

Object-Type

Obj ect-Class-Identifier

Generator-For-Subordinates

Bindings

Application-Comments

—Specific

Obj ect-Identifier

Object-Class

Subordinates

PERMUTED

-GenericResource

User-Readable-Comments

User-Visible-Name

Bindings

Protection

Layout-Style

—Specific

User-Readable-Comments

User-Visible-Name

Bindings

Protection

Layout-Style

Application-Carranents

{ camposite-logical-cbj ect

}

{AS_8613}

{seq (Number, (ser(poss (Title)

,

any ( iter (any (Paragraph,

Figure, NumberedSegment

Text, Raster, Geometric) )

,

iter ( any ( Paragraph, Figure

,

Passage , Text, Raster

,

Geometric) )))})}

{MANIHJLATION (number)

}

{ "NumberedSegment"

)

(AS_8613

}

{ OBJECT_CLASS_ID_OF

(NumberedSegment)

)

{AS_8613

}

(AS_8613)

{AS_8613}

(AS__8613)

( INITIALIZATION (number,

numberstring, prefix

,

suffix, separator)

MANIRJLATION (numberstring)

}

(AS_86.13

)

{ STYLEjDF (L-Style3 )

)

(AS_8613)

(AS_8613

}

( INITIALIZATION (number,

numberstring, prefix

,

suffix , separator)

MANIRJIATION (number,

numberstring)

)

{AS_8613}

{ STYLEjDF ( L-Style3 ) }

( "NumberedSegment"

}

2-38
Number

REQUIRED —Generic

Object-Type

Obj ect-Class-Identifier

Content-Generator

Application-Comments —Specific

Obj ect-Identifier

Object-Class

PERMITTED —Generic

Resource

Presentation-Style

Content-Architecture-Class

User-Readable-Comments

User-Visible-Name

Protection

Layout-Style —Specific

Presentation-Style

Content-Architecture-Class

Content-Generator

User-Readable-Comments

User-Visible-Name

Protection

Layout-Style

Application-Comments

{ basic-logical-obj ect

}

{AS_8613}

{ <content-generator-1>

}

{ "Number"

}

{AS_8613

}

{ OBJECT_CLASS_ID_OF (Number)

}

{AS_8613

}

{ STYLEjDF ( P-Stylel) }

CASE

cf {28260}

cp {2 8 2 6 1}

cfp {28262}

{AS_8613

}

{AS_8613}

{AS_8613

{ STYLEjDF (L-Style4 ) }

{ STYLEJDF ( PjStylel) }

CASE

cf {28260}

cp {28261}

cfp {2 8 2 6 2}

{ <content-generator-l>

}

{AS_8613

}

{AS_8613}

{AS_8613

}

{ STYLE_OF ( L-Style4 ) }

{"Number"}

2-39
Title

REQUIRED —Generic

Object-Type

Obj ect-Class-Identifier

Generator-for-Subordinates

Application-Comments

—Specific—

Obj ect-Identifier

Object-Class

Subordinates

PERMUTED —GenericResource

User-Readable-Comments

User-Visible-Name

Protection

Layout-Style

—Specific—

User-Readable-Comments

User-Visible-Name

Protection

Layout-Style

Application-Comments

{ conposite-logical-obj ect

}

{AS_8613}

{Paragraph}

{ ''Title"

}

{AS_8613}

{ OBJECT_CLASS_ID__OF (Title) }

{ AS_8613

}

(AS_8613

}

{AS_8613}

{AS_8613}

{ AS_8613

}

{ STYLEjDF ( L-Style3 ) }

{AS_8613}

{AS_8613

}

(AS__8613

}

{ STYLE_OF ( L-Style3 ) }

{"Title"}
Paragraph

REQUIRED —Generic'

Object-Type

Obj ect-Class-Identifier

Generator-for-Subordinates

Application-Coinments

—Specific

Obj ect-Identifier

Object-Class

Subordinates

PERMITTED —Generic

Resource

User-Readable-Comments

User-Vislble-Name

Protection

Layout-Style —Specific

User-Readable-Comments

User-Visible-Name

Protection

Layout-Style

Application-Comments

{ composite-logical-obj ect

}

{AS_8613

}

{ iter (any (Text , PNote

,

Reference , Figure , Raster,

Geometric) )

}

{"Paragraph"}

{AS_8613

}

{ OBJECT_CLASS_ID_OF

(Paragraph)

}

{AS_8613

}

{AS_8613

}

{AS_8613

{AS_8613

{AS_8613

{ STYLEjOF ( L-Style3 ) }

{AS_8613

}

(AS_8613

(AS_8613)

{ STYLE__OF ( L-Style3 )

}

{ "Paragraph"

}

2-41
FNdte

REQUIRED —Generic

Object-Type { composite-logical-obj ect

}

Obj ect-Class-Identifier { AS_8613

}

Generator-for-Subordinates {ser (Number, FNBody)

}

Application-Ccmments { "FNote"

}

—Specific

Obj ect-Identifier {AS 8613}

Object-Class {OBJECT CLASS ID OF(FNote)

Subordinates

PERMITTED

{AS 8613}

—Generic—

Resource {AS 8613}

User-Readable-Comments {AS 8613}

User-Visible-Name {AS_8613

}

Bindings { INITIALIZATION (numberstring,

number)

MANIKJXATION (numberstring,

number)

Protection {AS 8613}

Layout-Style {STYLE 0F(L-Style3)

}

—Specific—

User-Readable-Comments {AS 8613}

User-Visible-Name {AS_8613}

Bindings { INITTALIZATION (numberstring,

number)

MANIRJIATION (numberstring,

number}

Protection {AS 8613}

Layout-Style {STYLE 0F(L-Style3) }

Application-Comments { "FNote"

}
INBody

REQUIRED —Generic'

Object-Type

Obj ect-Class-Identifier

Generator-for-Subordinates

Layout-Style

Application-Comments —Specific

Obj ect-Identifier

Object-Class

Subordinates

PERMITTED

—Generic

Resource

User-Readable-Comments

User-Visible-Name

Protection —Specific

Layout-Style

User-Readable-Comments

User-Visible-Name

Protection

Application-Comments

{ composite-logical-obj ect

}

{AS_8613

}

(ser (Number, (iter (Text) ) )

}

{ STYLEjOF (L-Style3 )

}

{"FNBody"}

{AS_8613

}

( OBJECT_CLASS_ip_OF (FNBody) }

{AS_8613}

{AS_8613

}

{AS_8613

}

{AS_8613

}

{AS_8613

{ STYLEjOF (L-Style3) }

{AS_8613

}

(AS_8613)

{AS_8613

)

{ "FNBody"

)

2-43
Figure

REQUIRED —Generic

Object-Type

Obj ect-Class-Identifier

Generator-for-Subordinate

Application-Comments —Specific

Obj ect-Identifier

Object-Class

Subordinates

pppMTTnrn

-GenericResource

User-Readable-Coiranents

User-Visible-Name

Bindings

Protection

Layout-Style

—Specific—

User-Readable-Comments

User-Visible-Name

Bindings

Protection

Layout-Style

Application-Comments

{ conposite-logical-obj ect

}

(AS__8613

}

{ ser (poss (Number) ,poss (Title)

,

iter (any (Paragraph, Text

,

Raster, Geometric) ) )

}

{ "Figure"

)

{ AS_8613

}

{ 0BJECT_CLA5S_ID_0F ( Figure)

}

(AS_8613)

(AS_8613)

(AS_8613)

(AS_8613)

(MANIPULATION (number,

numberstring)

}

(AS_8613)

{ STYLEjDF ( L-Style3 )

}

(A5_8613)

(AS_8613)

( MANIKJLATION ( number

,

numberstring)

)

(AS_8613)

(STYLE 0F(L-Style3) ) ("Figure")

2-44
Text

REQUIRED —Generic

Object-Type

Obj ect-Class-Identifier

Application-Ccaiiments —Specific

Obj ect-Identifier

Object-Class

PERMITTED —Generic

Resource

Presentation-Style

Content-Architecture-Class

User-Readable-Comments

User-Visible-Name

Protection

Layout-Style

Content-Portions —Specific

Presentation-Style

Content-Arxdiitecture-Class

User-Readable-Comments

User-Visible-Name

Protection

Layout-Style

Content-Portions

Application-Comments

{ basic-logical-obj ect

}

{ AS_8613

}

{ "Text"

}

{AS_8613}

{ OBJECT_CIASS_ID_OF (Text)

}

{ AS_8613

}

{ STYLE_OF ( P-Style2 ) }

CASE

cf {28260}

cp {2 8 2 6 1}

cfp {28262}

{AS_8613

}

{AS_8613}

{AS_8613}

{ STYLEjOF ( L-Style5 ) }

{AS_8613

}

{ STYLEjOF ( P-Style2 ) }

CASE

cf {28260}

cp {2 8 2 6 1}

cfp {28262}

{AS_8613}

{AS_8613

}

{AS_8613

{ STYLE_OF ( L-Style5 ) }

{AS_8613

}

{"Text"}

2-45
Reference

REQUIRED —Generic

Object-Type

Obj ect-Class-Identifier

Generator-for-Subordinates

Application-Comments —Specific

Obj ect-Identifier

Object-Class

Subordinates

EERMTITED

—GenericResource

User-Readable-Comments

User-Visible-Name

Bindings

Protection

Layout-Style

—Specific

User-Readable-Comments

User-Visible-Name

Bindings

Protection

Layout-Style

Application-Comments

{ composite-logical-obj ect

}

(AS__8613

}

{ ser (poss (Text) ,Rsf

,

poss (Text) )

)

( "Reference"

}

{ AS__8613

}

{ OBJECT_CLASS_ID_OF

(Reference)

}

{AS_8613}

{AS_86X3}

{AS_86X3}

(AS__8613

}

{ MANIPULATION ( numberstring

,

number)

)

(AS__8613)

{ STYLE_OF ( Lr-Style3 ) )

{AS_8613}

(AS__8613)

(MANIPULATION (nunberstring,

number)

)

(AS_86X3)

( STYLEjOF ( L-Style3 ) }

{ "Reference"

)

2-46
Ref

REQUIRED —Generic

Object-Type

Obj ect-Class-Identifier

Application-Comments —Specific

Obj ect-Identifier

Object-Class

PERMITTED —Generic

Content-Generator

Content-Portions

Resource

Presentation-Style

Content-Architecture-Class

User-Readable-Comments

User-Visible-Name

Protection

Layout-Style —Specific

Content-Generator

Content-Portions

Presentation-Style

Content-Architecture-Class

User-Readable-Comments

User-Vislble-Name

Protection

Layout-Style

Application-Comments

{ basic-logical-obj ect

}

{AS_8613

}

{"Ref"}

{AS_8613

{ OBJECT_CLASS_ID_OF (Ref) }

{ <content-generator-4>

}

{AS_8613

}

{AS_8613}

{ STYLEjOF ( P-Style2 ) }

CASE

cp {28261}

cfp {28262}

{AS_8613

}

{AS_8613

}

{AS_8613

{ STYLEjOF ( L-Style5 ) }

{ <content-generator-4>

}

{AS_8613}

{ STYLEjOF ( P-Style2 )

}

CASE

cp {28261}

cfp {28262}

{ AS_8613

}

{AS_8613

}

{AS_8613}

{ STYLEjOF ( L-Style5 ) }

{"Ref"}

2-47
Raster

REQUIRED

-—Generic

Object-Type

Obj ect-Class-Identifier

i^plication-Coraments —Specific

{ basic-logical-obj ect)

{A5__8613}

{ "Raster"

}

Obj ect-Identifier

Object-Class

PERMITTED —Generic

{AS 8613}

{ OBJECT_CIASS_ID_OF (Raster) }

Content^Portions

Content-Architecture-Class

Resource

Presentation-Style

User-Readable-Carnments

User-Visible-Name

Protection

Layout-Style

—Specific

(AS 8613} {28272} /* rfp */

{AS 8613}

{STYLE 0F(P-Style3)

}

{AS 8613}

{AS 8613}

{AS 8613}

{ STYLEjOF ( Ir-Style6 ) }

Content-Portions

Content-Architecture-Class

Presentation-Style

User-Readable-Comments

User-Visible-Name

Protection

Layout-Style

Application-Camments

{AS 8613} {28272} /* rfp */

{STYLE 0F(P-Style3) }

(AS 8613}

{AS 8613}

{AS 8613}

{ STYLEjOF (L-Style6)

}

{ "Raster"

}

2-48
Geometric

REQUIRED —Generic

Obj ect-Type

Obj ect-Class-Identifier

Application-Comments —Specific

Obj ect-Identifier

Object-Class

PERMITTED —Generic

Content-Portions

Content-Architecture-Class

Resource

Presentation-Style

User-Readable-Comments

User-Vislble-Name

Protection

Layout-Style —Specific

Content-Portions

Content-Architecture-Class

Presentation-Style

User-Readable-Carnments

User-Visible-Name

Protection

Layout-Style

Application-Comments

{ basic-logical-obj ect

}

{AS_8613

}

{ "Geometric"

}

{AS_8613

}

{ OBJECT_CLASS_ID_OF

(Geometric)

}

{AS_8613

}

{28280} /* gfp */

{AS_8613

}

{ STYLEjOF ( P-Style4 )

}

{AS_8613

}

(AS_8613

{AS_8613

{ STYLE_0F ( LnStyle6 ) }

(AS_8613

}

{28280} /* gfp */

{ STYLEjOF ( P-Style4 ) }

{AS_8613

}

{AS_8613}

{AS_8613

}

{STYIE_0F(]>Style6)

}

{ "Geometric"

}

2-49
Hdr-Or^Ftr-Q^ntent

REQUIRED —Generic

Object-Type

Obj ect-Class-Identifier

Generator-for-Subordinates

Application-Comment

PERMITTED —GenericResource

User-Readable-Comments

User-Visible-Name

Protection

{ carrpDsite-loqical-obj ect

}

{AS_8613}

{ iter ( any (Raster, Geometric

,

Text, PageNumber) )

}

{ "Hdr-or-Ftr-Content"

}

{AS_8613

}

{AS_8613}

{AS_8613}

{AS_8613}

2-50
PageNumber

REQUIRED —Generic

Object-Type

Obj ect-Class-Identifier

Content-Generator

implication-comments

PERMITTED —Generic

{ basic-logical-obj ect

}

{AS_8613

}

{ <content-generator-2>

}

{ "PageNumber"

}

Resource

Presentation-Style

Content-Architecture-Class

User-Readable-Comments

User-Visible-Name

Protection

Layout-Style

L-Stylel

REQUIRED

{AS 8613}

{STYLE 0F(P-Style2)

}

{28261} /* cp */

{AS 8613}

{AS 8613}

{AS 8613}

{ STYLEjOF ( L-Style2 ) }

Layout-Style-Identifier

Layout-Obj ect-Class

PERMITTED

{AS 8613}

{AS_8613

}

User-Readable-Comments

User-Visible-Name

{AS 8613}

{AS_8613

}

L-Style2

REQUIRED

Layout-Style-Identifier

PERMITTED

{AS_8613

}

Block-Alignment

Concatenation

Indivisibility

Layout-Category

Layout-Obj ect-Class

New-Layout-Obj ect

Same-Layout-Obj ect

{AS 8613}

{AS 8613}

{AS 8613}

{AS 8613}

{AS 8613}

{AS 8613}

{AS 8613}

2-51
Offset

Separation

User-Readable-Coinments

User-Visible-Name

{AS 8613}

(AS 8613}

{AS 8613}

{AS_8613

}

L-Style3

REQUIRED

Layout-Style-Identifier

PERMITTED

{ AS_8613

}

Indivisibility

Layout-Obj ect-Class

New-Layout-Obj ect

Same-Layout-Obj ect

Synchronisation

User-Readable-Coraments

User-Visible-Name

{AS 8613}

{AS 8613}

{AS 8613}

{AS 8613}

{AS 8613}

{AS 8613}

{A5__8613

}

L-Style4

REQUIRED

Layout-Style-Identifier

PERMITTED

{A5_8613

}

Block-Alignment

Concatenation

Indivisibility

Layout-Category

layout-Obj ect-Class

New-Layout-Obj ect

Offset

Same-Layout-Obj ect

Separation

Synchronisation

User-Readable-Comments

User-Visible-Name

{AS 8613}

{AS 8613}

{AS 8613}

{AS 8613}

{AS 8613}

{AS 8613}

{AS 8613}

{AS 8613}

{AS 8613}

{AS 8613}

{AS 8613}

{ AS_8613

}

L-Style5

REQUIRED

Layout-Style-Identifier

PERMUTED

{ ASJ3613

}

2-52
Block-Alignment {AS 8613}

Concatenation {AS 8613}

Fill-Order {AS 8613}

Indivisibility {AS 8613}

Layout-Category {AS 8613}

Layout-Obj ect-Class {AS 8613}

New-Layout-Obj ect {AS 8613}

Offset {AS 8613}

Same-Layout-Obj ect {AS 8613}

Separation {AS 8613}

Synchronisation {AS 8613}

User-Readable-Comments {AS 8613}

User-Visible-Name {AS 8613}

L-Style6

REQUIRED

Layout-Style-Identifier

PERMITTED

Block-Alignment

Indivisibility

Layout-Category

Layout-Obj ect-Class

New-Layout-Obj ecrt

Offset

Same-Layout-Obj ect

Separation

Synchronisation

User-Readable-Cornments

User-Visible-Name

P-Stylel

{AS_8613

}

{AS_8613

{AS_8613

{AS_8613

{AS_8613}

{ AS_8613

}

{AS_8613

}

{AS_8613

{AS_8613

{ AS_8613

}

{AS_8613

{AS_8613}

REQUIRED

Presentation-Style-Identifier {AS_8613

}

PERMITTED

Border

Character-PresentationAttributes

Colour

Transparency

User-Readable-Comments

User-Visible-Name

{AS_8613

}

/* see section on character

content */

{AS_8613 }

‘

{AS_8613

}

{AS__8613

{AS_8613

}

2-53
P-Style2

REQUIRED

Presentation-Style-Identifier {AS 8613}

Content-Architecture-Class

PERMITTED

Border

Character-PresentationAttributes

Colour

Transparency

User-Readable-Comments

User-Vislble-Name

CASE

cp {2 8 2 6 1}

Cfp {28262}

{AS_8613

}

/* see section on character

content */

{AS_8613 }

‘

{AS__8613

}

{AS_S613}

{AS__8613

P-Style3

REQUIRED

Rresentation-Sty1e-Identi fier {AS_8613}

Content-Architecture-Class {2 8 2 7 2} /* rfp */

FEHVETXTED

Border

Colour

Raster-Graphic-PresentationAttributes

Transparency

User-Readable-Comments

User-Vislble-Name

{ AS_8613

}

{AS__8613

}

/* see section on raster

graphics content */

{AS_8613

}

{AS 8613}

{AS^8613}

P-Style4

REQUIRED

Presentation-Style-Identifier {AS_8613}

Content-Architecture-Class {28272} /* gfp */

PERMITTED

Border {AS_8613}

Colour {AS_8613}

Geometric-Graphic-Presentation-/* see section on geometric

Attributes content */
Transparency

User-Readable-Comments

User-Visible-Name

{AS_8613

}

{AS_8613

{AS_8613

}

X X

W

Diagram of Layout Structure (1 of 2)

2-55
X

Y Z Y

Y

Z

Diagram of layout Structure (2 of 2)

2-56
2.2.4 LAYOUT STRUCTURE

Laydoc

REQUIRED —Generic

Object-Type

Obj ect-Class-Identifier

Generator-for-Subondinates

Application-Cornments —Specific

Obj ect-Identifier

Object-Class

fda

fpda

Subordinates

PERMITTED —Generic

Resource

User-Readable-Comments

User-Visible-Name

Default-Value-Lists

Bindings —Specific

Object-Type

Object-Class

fda

fpda

User-Readable-Comments

User-Visible-Name

Default-Value-Lists

Bindings

Application-Comments

{ document-layout-root

}

{AS_8613

}

{ iter (pageset)

}

{ "laydoc"

}

{AS_8613

}

CASE

(N/A)

{ OBJECT_CLASS_ID_OF ( Laydoc) }

{ AS_8613

}

{AS_8613}

{AS_8613

(AS_8613 }

• {AS_8613

{Initialization (PGnum)

}

{ document-layout-root

}

CASE

{ OBJECT_CIASS_ID_OF ( Laydoc) }

{N/A}

{AS_8613

}

{AS_8613

{AS_8613}

{Initialization (PGnum)}

{ "Laydoc"

}

2-57
PageSet

In the expression for "Generator for Subordinates" in this

object, there are two instances each of the objects ' Rpage . x ' and

‘ Vpage . y ' . The dot notation is used to show that both

occurrences of Rpage. x are objects of the type * Rpage 1 , and if

they are used in a generic structure, they must both refer to the

same single occurrence of an 'Rpage' object class.

REQUIRED

—Generic—

Object-Type

Obj ect-Class-Identifier

Generator-for-Subordinates

Application-Comments

{pageset}

{ AS_8613

}

{ ser (poss ( Page) , any ( rep ( Page)

,

seq (poss (Rpage . x)

poss ( rep ( seq (Vpage . y

Rpage. x) )

poss (Vpage.y) ) ) )

}

( "PageSet"

)

—Specific

Obj ect-Identifier

Object-Class

(AS_8613)

CASE

fda (N/A)

fpda { 0BJECT_C1ASS_ID_0F (PageSet)

)

Subordinates { AS_8613)

PERMITTED

—Generic—

(AS_8613)

(AS__8613

}

(AS_8613

{ Initialization (PGnum)

}

—SpecificResource

User-Readable-Comments

User-Visible-Name

Bindings

Object-Type

Object-Class

User-Readable-Comments

User-Visible-Name

Bindings

Application-Comments

(pageset)

CASE

fda (OBJECT CLASS ID OF (PageSet)

)

fpda (N/A)

(AS_8613)

(AS_8613)

(Initialization (PGnum)

)

( "PageSet"

}

2-58
Page

REQUIRED —Generic

Object-Type

Obj ect-Class-Identifier

Generator-for-Subordinates

Application-Comments —Specific

Obj ect-Identifier

Object-Class

fda

fpda

Subordinates

PKkM I'l'I'KI) —Generic—

{page}

{AS_8613

}

{set (any (opt (Frame J,

poss (Header) )

,

any (Frame K,

poss ( BodyArea) )

,

any (opt (Frame J,

poss (Footer) ) )

}

{ "Page"

}

{AS_8613}

CASE

(N/A)

{ OBJECT_CLASS_ID_OF ( Page) }

{AS_8613

}

Resource

Dimensions

Medium-Type

User-Readable-Comments

User-Visible-Name

Transparency

Colour

Page-Position

Bindings

{ AS_8613

}

/*Assured reproduction areas for

IS0-A4, IS0-A3 , NAL,

North American Legal,

for each with both portrait and

landscape orientations */

/*Nominal Page Size{ISO-A4, ISO-A3,

NAL, North American Legal,

for each with both portrait and

landscape orientations*/

{#Side Of Sheet { 'unspecified' }

}

{AS_8613}

{ AS_8613

}

{AS_8613}

{AS_8613>

{AS_8613

{MANIRJLATION (PGnum)

}

(Page}

CASE

fda

fpda

—Specific

Object-Type

Object-Class

2-59

{ OBJECT_CLASS_ID_OF ( Page) }

{N/A}
Dimensions

Medium-Type

User-Readable-Comments

User-Visible-Name

Transparency

Page-Position

Colour

Bindings

Application-Comments

/*Assured reproduction areas for

ISO—A4 , ISO-A3, NAL,

North American Legal,

for each with both portrait and

landscape orientations*/

/*Naminal Page Size{IS0-A4, ISO-A3,

NAL, North American Legal, for

each with both portrait and

landscape orientations*/

(#Side Of Sheet{ 'unspecified* }

}

(AS__8613

}

{AS__8613

}

{AS__8613

{AS_8613}

{AS_8613}

{MANIPULATION (PGnum) }

{ "Page"

}

RELATIONS

Dimensions — SIBLING (Vpage( #dimensions) )

Dimensions = SIBLING (Rpage{ #dimensions) ) ?

Note: the relations formulae are used to satisfy the

constraint that all pages within an instance of a

Pageset must have the same dimensions * Relations apply

to both generic and specific structures.

Note: Dimensions for ISO A4, ISO A3, and NAL, nominal page

size and assured reproduction area are as defined in

ISO 8613-2.

For North American Legal the dimensions are:

nominal page: 10200 x 16800

assured reproduction area: 9500 x 16000

2-60
RPage

REQUIRED —Generic

Object-Type

Obj ect-Class-Identifier

Generator-for-Subordinates

Medium-Type

Application-Comments

—Specific—

Obj ect-Identifier

Object-Class

fda

fpda

Subordinates

PERMITTED —Generic

Resource

Dimensions

Bindings

User-Readable-Comments

User-Visible-Name

Transparency

Page-Position

Colour —Specific

Object-Type

Object-Class

fda

fpda

Dimensions

{page}

{ AS_8613

}

{set (any (opt (Frame J,

poss (Header) ) , any (Frame K,

poss (BodyArea) ) , any (opt (Frame J

,

poss (Footer) ) )

}

/*Nominal Page Size{ISO-A4, ISO-A3,

NAL, North American Legal, for

each with both portrait and

landscape orientations*/

{ #Side Of Sheet{

' recto ' }

}

{ "Rpage"

}

{AS_8613

}

CASE

{N/A}

{OBJECT_CLASS_ID_OF (RPage) }

{AS_8613

}

{AS_8613

}

/*Assured reproduction areas for

IS0-A4 , ISO-A3, NAL,

North American Legal, for each with

both portrait and landscape

orientations*/

{MANIPULATION (PGnum) }

{AS_8613

}

{ AS_8613

{AS_8613}

{AS__8613

{AS_8613}

{page}

CASE

{ OBJECT_CLASS_ID_OF (RPage) }

{N/A}

/*Assured reproduction areas for

IS0-A4 , ISO-A3 , NAL,

2-61
Medium-Type

Bindings

User-Readable-Comments

User-Visible-Name

Transparency

Page-Position

Colour

Application-Comments

North American Legal, for each with

both portrait and landscape

orientations*/

/*Nominal Page Size{ISO-A4, ISO-A3,

NAL, North American legal, for

each with both portrait and

landscape orientations*/

{ #Side Of Sheet

{

1 recto ' }

}

{MANIRJIATION (FGnum) }

{AS_8613}

(AS__8613

}

{ AS_8613

{ AS__8613

{AS_8613}

{ "Rpage"

}

RELATIONS

Dimensions = SIBLING (Vpage( #dimensions) ) ? Dimensions = SIBLING (Page (#dimensions) )

Note: Dimensions for ISO A4, ISO A3, and HAL, nominal page

size and assured reproduction area are as defined in

ISO 8613-2.

For North American Legal the dimensions are:

nominal page: 10200 x 16800

assured reproduction area: 9500 x 16000

2-62
VPage

REQUIRED

—Generic

Object-Type

Obj ect-Class-Identifier

Generator-for-Subordinates

Medium-Type

Application-Comments

(page)

(AS_8613

)

{set (any (opt (Frame J,

poss (Header) ), any (Frame K,

poss (BodyArea) ) , any (opt (Frame J,

poss (Footer) ) )

}

/*Nominal Page Size{IS0-A4, ISO-A3,

NAL, North American Legal, for

each with both portrait and

landscape orientations*/

{#Side Of Sheet{ 'verso' }

}

{ "Vpage"

)

—Specific

Obj ect-Identifier

Object-Class

fda

fpda

Subordinates

PERMITTED

(AS_8613)

CASE

{N/A}

{ OEJECT_CIASS_ID_OF (VPage) }

(AS_8613

}

—Generic

Resource

Dimensions

Bindings

User-Readable-Comments

User-Visible-Name

Transparency

Page-Position

Colour

{AS_8613

)

/*Assured reproduction areas for

ISO-A4, ISO-A3, NAL, North

American Legal, for each with both

portrait and landscape

orientations*/

{ MANIPULATION ( PGnum)

)

{AS_8613

}

{ AS_8613

)

(AS_8613)

(AS_8613

}

{AS_8613} —Specific

Object-Type

Object-Class

Dimensions

{page}

CASE

fda { OBJECT_CLASS_ID_OF (VPage)

}

fpda {N/A}

/*Assured reproduction areas for

ISO-A4 , ISO-A3 , NAL, North

2-63
Medium-Type

Bindings

User-Readable-Comments

User-Visible-Name

Transparency

Page-Position

Colour

Application-Comments

American legal, for each with both

portrait and landscape

orientations*/

/*Nominal Page Size{ ISO-A4 , ISO-A3

NAL, North American Legal, for

each with both portrait and

landscape orientations*/

{#Side Of Sheet{ 'verso 5 }

}

{ MANIPULATION ( PGnum) }

{ A5__8613

}

{AS_8613

{AS_8613}

{AS_8613

}

{AS_8613

{ "Vpage"

}

RELATIONS

Dimensions = SIBLING (Page (#dimensions) )

Dimensions — SIBLING (Rpage( #dimensions) )

Note: Dimensions for ISO A4, ISO A3, and NAL, nominal page

size and assured reproduction area are as defined in

ISO 8613-2.

For North American Legal the dimensions are:

nominal page: 10200 x 16800

assured reproduction area: 9500 x 16000

2-64
Header

REQUIRED —Generic

Object-Type

Obj ect-Class-Identifier

Generator-for-Subordinates

Position

Dimensions

Application-Comments —Specific

Obj ect-Identifier

Object-Class

fda

fpda

Subordinates

PERMITTED —Generic

{frame}

(AS_8613

}

{ iter ( any ( FrameH

,

FrameC,FrameG) )

}

{ #fixed{AS_8613 }

}

{ horizontal { #fixed{AS_8613 } }

}

{#vertical{#fixed{AS_8613} }

}

{ "Header"

}

{AS_8613}

CASE

{N/A}

{OBJECT_CIASS_ID_OF (Header) }

{AS_8613

}

Resource

User-Readable-Comments

User-Visible-Name

Transparency

Colour

Border

Layout-Path —Specific

Object-Type

Object-Class

fda

fpda

Position

Dimensions

User-Readable-Comments

User-Visible-Name

Transparency

Colour

Border

Layout-Path

Imaging-Order

{AS_8613

}

{ AS_8613

{AS_8613

(AS_8613

{AS_8613}

{AS_8613

}

{90, 270}

{frame}

CASE

{ OBJECT_CLASS_ID_OF (Header) }

{N/A}

{AS_8613

}

{ horizontal { #fixed{AS_8613 } }

}

{ #vertical { #fixed{AS_8613 } }

}

{AS_8613

}

{ AS_8613

}

{AS_8613

{AS_8613}

{AS_8613

}

{90,270}

{AS_8613

}

2-65
Application-Comments { "Header"

}

RELATIONS

Position#y > (SIBLING ( BodyArea ( #d±mensions#y +

#position#y) ) ; Position#y . >(SXBITNG (Footer (#dimensions#y +

#position#y) ) ?

Note: The relations formulae are used to satisfy the

constraint that Header frames. Body frames and Footer

frames must not overlap. It is also assumed that the

bottom of a header frame must be higher up on the page

than the top of either a body frame or a footer frame,

and that the bottom of a body frame must be higher up

on the page than the top of a footer frame.

2-66
Footer

REQUIRED —Generic-

Object-Type

Obj ect-Class-Identifier

Generator-for-Subordinates

Position

Dimensions

Application-Comments

<—Specific

Obj ect-Identifier

Object-Class

fda

fpda

Subordinates

PERMITTED —Generic

Resource

User-Readable-Comments

User-Visible-Name

Transparency

Colour

Border

Layout-Path —Specific

Object-Type

Object-Class

fda

fpda

Position

Dimensions

User-Readable-Comments

User-Visible-Name

Transparency

Colour

Border

Layout-Path

Imaging-Order

Application-Comments

{frame}

{ AS_8613

}

{ iter ( any (FrameH,

FrameC, FrameG) )

}

{ #fixed{AS_8613 }

}

(AS_8613

}

{ "Footer"

}

{AS_8613

}

CASE

(N/A)

{ OBJECr_CIASS_ID_OF ( Footer) }

{AS_8613

}

{ AS_8613

}

{AS_8613

{AS_8613

{ AS__8613

{AS_8613

(AS_8613

{90,270}

{frame}

CASE

{ OBJECT_CLASS_ID_OF ( Footer)

}

{N/A}

{ AS_8613

}

{ #fixed{AS_8613 }

}

{AS_8613

}

{AS_8613

}

{AS_8613}

{AS_8613

{ AS_8613

}

{90,270}

{AS_8613

{ "Footer"

}

2-67
BodyArea

REQUIRED —Generic—

Object-Type

Obj ect-Class-Identifier

Generator-for-Subordinates

Position

Dimensions

Application-Comments

{frame}

{AS_8613

}

{ iter ( any ( FrameB, FrameC

FrameD, FrameF

,

FrameG,FrameH) )

}

{ #fixed{AS_8613 }

}

{ horizontal { #fixed{AS_8613 } }

}

{ #vertical { #fixed{AS__8613 } }

}

{ "BodyArea"

}

—Specific

Obj ect-Identifier

Object-Class

Subordinates

{AS_8613}

CASE

fda {N/A}

fpda { OBJECT_CLASS ID C)F (BodyArea)

}

{AS__8613

}

PERMITTED

—Generic—

Resource

User-Readable-Comments

User-Visible-Name

Transparency

Colour

Border

Layout-Path

—Specific—

{A5_8613}

{AS_8613

}

{AS_8613

(AS_8613

}

(AS_8613

{ A5_8613

}

{90,270}

Object-Type

Object-Class

Position

Dimensions

User-Readable-Comments

User-Visible-Name

Transparency

Colour

Border

Layout-Path

Imaging-Order

Application-Conments

{frame}

CASE

fda { OBJECT_CLASS_ID_OF ( BodyArea)

}

fpda {N/A}

{AS__8613

}

{AS_8613

{AS_8613}

(AS_8613

}

{AS_8613}

{A8_8613}

{ASJ613}

{90,270}

{AS_8613}

{ "Body Area11 }

2-68
RELATIONS

Position#y > SIBLING (Footer (#dimensions#y +

#position#y) )

2-69
FrameA

FrameA is a region of the page typically representing a column.

The direct subordinates are blocks of content. FrameA is at a

fixed position within its superior frame. The dimension

orthogonal to the layout path is fixed; in the direction of the

layout path, the dimension is the minimum size needed to contain

the subordinates.

REQUIRED —Generic

Object-Type

Obj ect-Class-Identifier

Position

Dimensions

Applicat.ion-Commen.ts

—Specific—

Obj ect-Identifier

Object-Class

Subordinates

PERMITTED —Generic—

Permitted Categories

Resource

User-Readable-Ccmments

User“Visible-Name

Transparency

Colour

Border

—Specific

{frame}

CASE

fda { OBJECT_CLASS_ID_OF ( FrameA)

}

fpda {N/A}

{AS_8613}

(AS_8613

}

{AS_8613}

{AS_8613}

{AS_8613}

{A5_8613

}

Object-Type

Object-Class

Position

Dimensions

Permitted Categories

User-Readable-Comments

User-Visible-Name

Transparency

{ AS_8613

}

{AS_8613}

{AS__8613}

{AS__8613}

{AS_8613}

{ AS_8613

}

(AS_8613

}

{AS_8613}

CASE

fda (N/A)

fpda {OBJECT_CIASS_ID_OF (FrameA) }

{ QBJECT_1D_0F ( Block) }

(frame)

{AS__8613}

{ #fixed (AS_8613 }

}

{ #horizontal { fixed , default

}

#vertical { Rule-B}

}

{"FrameA”}

2-70
Colour

Border

Imaging-Order

Application-Comments

{AS_8613

}

{AS_8613

}

{AS_8613

{"FrameA"}

2-71
FrameB

FrameB is a region of the page, typically representing a number

of columns. The direct subordinates may only be frames of type A

or I. The position is variable (i.e„, determined by a rule).

The dimension orthogonal to the layout path is maximum for the

position; in the direction of the layout path, the dimension is

the minimum size needed to contain the subordinates.

REQUIRED

—Generic—

Object-Type

Obj ect-Class-Identifier

Generator-for-Subordinat.es

Position

Dimensions

Application-Comments

(frame)

(AS_8613)

(iter(cho(FrameA,FrameI) )

)

{ #variable{AS_8613 )

)

{ ^horizontal ( fixed

(AS_8613 }

, default)

^vertical ( Rule-B)

}

(

ss FrameB*8 ) —Specific—

(AS__8613

)

CASE

fda (N/A)

fpda ( OBJECTjCLASS__ip_OF (FrameB) ) (AS_8613)

PERMITTED

—Generic—

Obj ect-Identifier

Object-Class

Subordinates

Resource

User-Readable-Comments

User-Visible-Name

Transparency

Colour

Border

Layout-Path

Balance

—Specific—

Object-Type

Object-Class

fda

fpda

Position

Dimensions

User-Readable-Comments

(AS_8613)

(AS_8613)

(AS_8613)

(AS_8613)

( AS__8613

)

(AS_8613

)

(90,270)

(AS_8613)

(frame)

CASE

( OBJECT _CIASS XD_OF (FrameB) ) (N/A)

(AS_8613)

(AS_8613)

(AS_8613)

2-72
User-Visible-Name

Transparency

Colour

Border

Layout-Path

Imaging-Order

Balance

Application-Comments

{AS_8613

}

{AS_8613

}

{AS_8613

{AS_8613

{90,270}

(AS_8613

}

{ AS__8613

("FrameB")

2-73
FrameC

FrameC is a region of the page, typically representing an area of

variable dimension within a column, such as is needed to contain

a paragraph of text or a figure. This provides for varying

layout on pages (columns or pages) as the document is edited.

The direct subordinates are blocks of content. The position is

variable (i.e., determined by a rule). The dimension orthogonal

to the layout path is maximum for the position; in the direction

of the layout path, the dimension is the minimum size needed to

contain the subordinate block (s)

REQUIRED —Generic

Object-Type

Obj ect-Class-Identifier

Position

Dimensions

Application-Comments

—Specific—

Obj ect-Identifier

Object-Glass

fda

fpda

Subordinates

PERMITTED

—Generic—

{frame}

{AS_8613

}

{ #variable { A3_8613 }

}

{ #horizontal { fixed

{A8_8613}, default),

#vertical { Rule-B}

}

{ "FrameC"

}

{A8_8613}

CASE

(N/A)

{ OBJECT__CIASS__ID_OF ( FrameC)

}

{ 0BJECT__ID__0F ( Block) }

Resource

User-Readable-Comments

User-Visible-Name

Transparency

Colour

Border

Permitted-Categories

{AS_8613

}

{AS_8613

}

{AS_8613}

(AS_8613)

{AS__8613

(AS__8613)

{AS_8613

}

—Specific

Object-Type

Object-Class

fda

fpda

(frame)

CASE

{ OBJECT_CIASS__XD OF ( FrameC) }

{N/A}

(AS_8613

}

{ #horizontal { default

}

Position

Dimensions

2-74
User-Readable-Comments

User-Visible-Name

Transparency

Colour

Border

Imaging-Order

.Application-Comments

Permitted-Categories

#vertical { AS_8613 }

}

{AS_8613

}

{AS_8613

}

{AS_8613

(AS_8613

(AS_8613

{AS_8613

{"FrameC"}

{AS_8613}

2-75
FrameD

FrameD is a region of the page, typically representing an area of

variable dimension within a column, containing a number of items

side by side (e.g., text flowing around a picture) . The direct

subordinates may only be frames of type E. The position is

variable (i.e., determined by a rule) . The dimension orthogonal

to the layout path is maximum for the position; in the direction

of the layout path, the dimension is the minimum size needed to

contain the first laid out subordinate (e.g., the picture)

REQUIRED

—Generic

Object-Type

Obj ect-Class-Identifier

Generator-for-Subordinates

Position

Dimensions

Application-Comments

Layout-Path

—Specific—

Obj ect-Identifier

Object-Class

Subordinates

PERMITTED

-GenericResource

User Readable Comments

User Visible Name

Transparency

Colour

Border

Bindings

—Specific—

Object-Type

Object-Class

Position

Dimensions

2-76

(frame)

CASE

fda (OBJECT__CLASSmipjOF (FrameD)

)

fpda (N/A)

{ AS_8613

)

{ ^horizontal { default }

}

( AS__8613

}

(AS_8613

}

(AS_8613

)

(AS_8613)

(AS__8613)

(AS__8613

}

{ MANIPULATION (PGnum) }

(AS_8613)

CASE

fda (N/A)

fpda ( OBJECTJCLASS_ID__0F ( FrameD) }

(AS__8613

}

(frame)

(AS__8613

)

( iter (poss (FrameE) )

)

( #variable ( AS_8613 )

)

( #horizontal ( default

)

#vertical ( Rule-A)

)

(''FrameD")

( 0 , 180 )
User Readable Comments

User Visible Name

Transparency

Colour

Border

Imaging Order

Bindings

Application Comments

{ #vertical { AS_8613 }

}

{AS_8613

}

{AS_8613

{AS_8613

}

{AS_8613

{AS_8613

{AS_8613

}

{ MANIPULATION ( PGnum)

}

{"FrameD"}

2-77
FrameE

FrameE is a region of the page, typically representing same text

or a picture, that is side by side with the frames of this type

within a superior frame of type D. The direct subordinates are

blocks of content. The position is variable (i.e., determined by

a rule) . The dimension orthogonal to the layout path is the

minimum size needed to contain the subordinate block (s) . In the

direction of the layout path, the dimension is either a fixed

dimension or is a computed dimension equal to either the minimum

size needed to contain the subordinate block (s) (e.g., picture),

or the maximum size for the position (e.g. , text)

REQUIRED —Generic

Obj ect-TYpe { frame

}

Object-Class-Identifier (AS__8613)

Position (fvariable position(AS__8613)

}

Dimensions ( #horizontal ( Kul@-B, fixed, default}

,

#vertical ( RuLe-B)

}

Permitted-Categories { ASJ3613

}

Application-Comments { "FrameE"

}

—Specific

Obj ect-Identifier

Object-Class

Subordinates

Permitted-Categories

(AS__8613)

CASE

fda {N/A}

fpda { OBJECT_CLASS_ID_OF (FrameE)

)

{ OBJECT_ID_QF ( Block)

}

(AS_8613

}

PERMITTED

-GenericResource

User-Readable-Coronents

User-Visible-Name

Transparency

Colour

Border

{AS_8613}

(AS_8613

}

(AS_8613)

(AS__8613)

(AS__8613

(AS_8613)

—Specific

Object-Type

Object-Class

fda

fpda

Position

(frame)

CASE

{ OBJECT_CLASS__ID_jOF (FrameE) }

(N/A)

(AS__8613

)

2-78
Dimensions

User-Readable-Comments

User-Visible-Name

Transparency

Colour

Border

Imaging-Order

Application-Comments

{AS_8613

}

{AS_8613

}

{AS_8613

{AS_8613

{AS_8613

{AS_8613

}

{AS_8613

{"FrameE"}

2-79
FrameF

Frame F is a region of the page typically used to contain a

footnote. The direct subordinates are blocks of content. The

frame is positioned within its superior in reverse order at a

fixed position from its superior in the direction orthogonal to

the layout path and at a variable position in the direction of

the layout path. The dimension orthogonal to the layout path is

maximum for the position; in the direction of the layout path,

the dimension is the minimum size needed to contain the

subordinate blocks.

REQUIRED —Generic—

Object-Type

Obj ect-Class-Identifier

Position

Dimensions

Permitted-Categories

Application-Comments

—Specific—

{frame}

{A3_8613

}

{ #variable{ #fill

order{reversal} } , #offset{AS_8613 }

,

#separation{AS_8613 }

,

#alignment{AS_8613 }

}

{ #horizontal { default

}

#vertical { Rule-B}

}

{AS__8613

}

{"FrameF”}

Obj ect-Identifier

Object-Class

Subordinates

Permitted-Categories

{AS_8613

}

CASE

fda {N/A}

fpda {OBJECT_CLASS_ID_pF (FrameF)

}

{OBJECT-OF (Block) }

{AS_8613}

PERMITTED

—Generic

Resource

User-Readable-Comments

User-Visible-Name

Transparency

Colour

Border

{ AS_8613

}

{AS_8613

}

{AS_8613}

{AS_8613

{AS_8613}

{ASm8613

}

{frame}

CASE

—Specific—

Object-Type

Object-Class

2-80
Position

Dimensions

fda {OBJECT CLASS ID OF(FrameF) }

fpda {N/A}

(AS_8613

}

{ ^horizontal { default

}

#vertical{AS 8613}}

User-Readable-Comments

User-Visible-Name

Transparency

Colour

Border

Imaging-Order

Application-Comments

(AS 8613}

{AS 8613}

{AS 8613}

{AS 8613}

{AS 8613}

{AS 8613}

{ "FrameF"

}

2-81
Frames

Frames ia a region of the page, typically representing a set of

pieces of content placed at defined positions. This provides for

complex, fixed, relatively positioned pieces of content,

including overlapping pieces of content (e.g. , overlapping

pictures or pictures and text) . The direct subordinates are

blocks of content. The position relative to the superior is

fixed; the dimensions are also fixed.

REQUIRED —Generic

Object-Type

Obj ect-Class-Identifier

Position

Dimensions

Application-Comments

—Specific—

Obj ect-Identifier

Object-Class

fda

fpda

Subordinates

PERMITTED

—Generic

Generator-For-Subordinates

Resource

User-Readable-Comments

User-Visible-Name

Transparency

Colour

Border

Permitted-Categories

—Specific—

Object-Type

Object-Class

fda

fpda

Position

Dimensions

User-Readable-Cornments

User-Visible-Name

{frame}

{AS_8613

}

{ #fixed{AS_8613 }

}

{ horizontal { AS_8613

}

#vertical { AS_8613 }

}

{"FrameG"}

{ASJ3613}

CASE

{N/A}

{ OBJECT__CLASS___ID_OF ( FrameG) }

{ OBJECI“ ID_OF (Block)

}

(seq (Block)

}

{AS_8613}

{AS_8613}

{AS_8613}

{ AS_8613

}

{AS__8613}

{AS_8613}

{AS_8613}

{frame}

CASE

{ OBJECT_CIASS__ip_OF ( FrameG)

}

{N/A}

{AS_8613

}

{AS__8613

{AS_8613

{AS__8613

2-82
Transparency

Colour

Border

Imaging-Order

Application-Comments

Permitted-Categories

{AS_8613

}

{AS_8613

{AS_8613

}

(AS_8613

}

{"FrameG"}

{ AS_8613

}

2-83
FrameH

FrameH is a region of the page, typically representing a variable

piece of logical information in the header or footer area of a

page (e.g. , current chapter number) . The direct subordinates are

blocks of content. The frame, in all cases, specifies that its

content is derived from the use of the attribute "logical source"

referring to a logical object of "header or footer content." The

position is variable (i.e., determined by a rule.) The dimension

orthogonal to the layout path is maximum for the position; in the

direction of the layout path, the dimension is the minimum size

needed to contain the subordinate blocks.

REQUIRED —Generic

Obj ect-Type

Obj ect"Class-Identifier

Position

Dimensions

Logical-Source

Application-Comments

—Specific—

Obj ect-Identifier

Object-Class

Subordinates

PERMITTED

—Generic—

Resource

User-Readable-Comments

User-Visible-Name

Border

Layout-Path

Generator-for-Subordinates

—Specific—

Obj ect-Type { frame

}

Object-Class CASE

fda { OBJECT_CLASS__ipjOF (FrameH)

}

fpda (N/A)

Position (AS__8613

}

{ AS_8613

}

(AS_8613

}

(AS_8613)

{AS_8613

}

{AS_8613

)

{iter (Block)

}

(AS__8613

)

CASE

fda (N/A)

fpda { OBJECT_CLASS_ID_pF (FrameH)

}

{ OBJECT_ID_OF ( Block) )

(frame)

{ AS_8613

)

{variable position{AS_8613)

)

{ horizontal { default

)

^vertical { Rule-B}

}

{ OBJECT_CLASS_ID__OF (Hdror-Ftr-Content)

)

{"FrameH")

2-84
Dimensions

User-Readable-Comments

User-Visible-Name

Border

Layout-Path

Application-Comments

{ #horizontal { default

}

#vertical { AS_8613 }

}

{AS_8613

}

{AS_8613

{AS_8613

{AS_8613}

{"FrameH"}

2-85
Framel

Frame I: A region of the page typically representing a column.

The frame may contain any substructure of further frames of any

of the types C, F, or G. Blocks are not permitted directly

subordinate to Framel. Framel is at a fixed position within its

superior frame. The dimension orthogonal to the layout path is

fixed; in the direction of the layout path, the dimension is the

minimum size needed to contain the subordinates.

REQUIRED —Generic—

Object-Type

Obj ect-Class-Identifier

Generator-for-Subordinates

Position

Dimensions

Application-Conments

—Specific—

Obj ect-Identifier

Object-Class

fda

fpda

Subordinates

PERMITTED

—Generic

Resource

User-Readable-Comments

User-Visible-Name

Border

Transparency

Colour

Layout-Path

—Specific—

Object-Type

Object-Class

{frame}

(AS_8613

}

{ iter ( any ( FrameC

,

FrameF,FrameG) )

}

{ #fixed{ AS__8613 }

}

{ horizontal { fixed , default}

,

^vertical { Rule-B}

}

{

58 FrameXse }

{AS_8613}

CASE

(N/A)

{ OBJECT_CLASS__XD_OF ( Framel )

}

{AS_8613

}

(AS_8613)

(AS_8613)

{AS_8613

}

{AS_8613}

{AS_8613}

(AS__8613

{90,270}

{frame}

CASE

fda { OBJECT'_CTASS _ID OF ( Framel)

}

fpda {N/A}

{AS_8613

}

{AS__8613

}

{AS_8613

Position

Dimensions

User-Readable-Comments

2-86
User-Visible-Name

Border

Transparency

Colour

Layout-Path

Imaging-Order

Application-Comments

{AS_8613

}

{AS_8613

{AS_8613

{AS_8613

{90,270}

(AS__8613

}

{"Framel"}

2-87
Frame J

Frame J is a single basic frame to contain header or footer

contents. This is provided for compatibility with the CC1TT

Recommendation T.502.

REQUIRED

—Generic

Object-Type

Obj ect-Class-Identifier

Logical-Source

Application-Comments

—Specific

Object-Class

Subordinates

Obj ect-Identifier

FERMTTED —GenericPosition

Dimensions

User-visible-name

User-readable-comments —Specific—

Object-Type

Position

Dimensions

User-vislble-name

User-readable-comments

Application-Comments

Layout-Path

(frame)

(AS_8613)

(AS_8613)

{ "Frame J")

{ OBJECT__CLASS__ID__OF ( FRAME J) }

( OBJECTJEDjOF ( Block)

}

{ AS_8613

)

{ #fixed{ AS_8613 )

)

{ #fioced{ AS_8613 }

)

( AS_8613

)

(AS_8613)

(frame)

(AS__8613)

{ #fixed{AS_8613 }

}

(A3__8613

}

(AS_8613)

("Frame J")

(270)

RELATIONS

FrameJ.2#Position#y > FrameK. l#Position#y +

FrameK. l#Dimensions#vertical

Note: the relations formulae are used to satisfy the

constraint that Header frames, Body frames and Footer

frames must not overlap. It is also assumed that the

bottom of a header frame must be higher up on the page

than the top of either a body frame or a footer frame,

and that the bottom of a body frame must be higher up

on the page than the top of a footer frame.

2-88
Frame K

Frame K is a single basic frame to represent the body area of a

page. This is provided for compatibility with the CCITT

Recommendation T.502.

REQUIRED —Generic

Object-Type

Obj ect-Class-Identifier

Application-Comments —Specific

Object-Class

Subordinates

Obj ect-Identifier

PERMITTED

—Generic—

Position

Dimensions

User-visible-name

User-readable-comments

' —Specific

Object-Type

Position

Dimensions

User-visible-name

User-readable-comments

Application-Comments

Layout-Path

RELATIONS

{frame}

{AS_8613

}

{"Frame K"}

{ OBJECTJ31ASS_ID_0F ( FRAME K) }

{ OBJECT_ID_OF (Block)

}

{AS_8613

}

{ #fixed{AS_8613 }

}

{ #fixed{AS_8613 }

}

{AS_8613}

'

{AS_S613}

{frame}

{ AS_8613

}

{ #fixed{AS_8613 }

}

{AS_8613

}

{AS_8613}

{"Frame K"}

{270}

FrameK. l#Position#y > Framed. l#Position#y +

FrameJ. l#Dimensions#vertical

Note: the relations formulae are used to satisfy the constraint

that Header frames, Body frames and Footer frames must not

overlap. It is also assumed that the bottom of a header

frame must be higher up on the page than the top of either a

body frame or a footer frame, and that the bottom of a body

frame must be higher up on the page than the top of a footer

frame.

2-89
Block

REQUIRED —Generic

Object-Type

Obj ect-Class-Identifier

Content-Architecture-Class

Application-Comments

—Specific

Content-Architecture-Class

Position

Dimensions

Obj ect-Identifier

Object-Class

fda

fpda

PERMITTED —GenericResource

Content-Portions

User-Readable-Comments

User-Visible-Name

Transparency

Colour

Border

Presentation-Style

—Specific

Object-Type

Object-Class

fda

fpda

Position

Dimensions

Content-Generator

Content-Portions

User“Readable-Comments

User-Visible-Name

Transparency

Colour

Border

Presentation-Style

Application-Comments

{block}

{AS_8613

}

{AS_8613

("Block")

{AS_8613

}

{AS_8613

{AS_8613}

{AS_8613

}

CASE

{N/A}'

{0BJECT_CIASS_IDJDF (Block)

}

{A3_8613

}

{A5_8613}

{AS_8613

}

(AS__8613

{AS_8613

{AS_8613

{ AS_8613

}

(AS_8613)

{block}

CASE

{ OBJECT_CLASS__ID__OF ( Block) }

{N/A}

{AS_8613

}

{AS_8613}

{ <content-generator-3>

}

{AS__8613

}

{AS__8613}

{ AS_8613

{AS_8613}

{ AS__8613

{ AS__8613

}

{AS__8613

{ "Block"

2-90
2.2.5 C0^^?E^7^-ARCHITEC^[URE

2 . 2 . 5 . 1 Character-Content-Architecture

For the purposes of conformance, the character content

architecture section presents all character content

attributes in terms of default, basic and non-basic values.

Defaults are presented here where they can be described in

simple terms. In three cases where the values are

determined algorithmically from other attribute values,

reference is made to the description in IS 8613. Basic and

non-basic values are supplied for each attribute. In

addition, the domain of applicability for each attribute is

also defined in terms of classes of content architectures.

Particular areas where attributes of the standard are

restricted for BASIC systems include character set support

and line spacing.

Presentation-Attributes

Alignment BASIC { start-aligned | end-aligned | centered

|

justified}

NON-BASIC {NONE}

DEFAULT { start-aligned

}

CLASS {cf | cp| cfp}

Character-Fonts ( {Font-Size BASIC {NONE}

NON-BASIC {ANY}

DEFAULT {NONE}

CLASS {cf |cp|cfp}}

{ Font-Identifier BASIC {NONE}

NON-BASIC {AS 8613}

DEFAULT {NONE}

}

CLASS {cf |cp|cfp}

}

Character-Orientation BASIC {0 | 90 | 180 | 270}

NON-BASIC {NONE}

DEFAULT {0}

CLASS {cf |cp|cfp}

Character-Path BASIC { 0

1 90 1 180 1 270}

NON-BASIC {NONE}

DEFAULT {0}

CLASS {cf | cp| cfp}

2-91
Character-Spacing

First-Line-Offset

Formatting-Indicator

BASIC (AS 8613}

NON-BASIC (NONE}

DEFAULT {120}

CLASS (cf | cp | cfp}

ncer BASIC (AS 8613}

NON-BASIC {NONE}

DEFAULT (AS 8613}

CLASS ( cfjcp | cfp

}

BASIC (AS 8613}

NON-BASIC {NONE}

DEFAULT {0}

CLASS { cf | cp I cfp

}

BASIC (yes | no}

NON-BASIC {NONE}

DEFAULT {NONE}

CLASS (cf j cfp}

ts BASIC

(04/00,50}

{

/*ISO 6937/2 Primary Set as GC*/

(02/09 06/12, SI}

|

/*ISO 6937/2 Supplementary Set as G2*/

(04/02, SO) | /*ISO 8859/1 Primary Set as GO*/

(02/13 04/01, SI}

|

/*ISO 8859/1 Supplementary Set as G2*/

}

NON-BASIC (ASJ3613

}

DEFAULT ({04/00,80}

(02/09 06/12,51}

}

CLASS ( cf j cp | cfp

}

Character-Subrepertoire BASIC

1 |

3|

8

NON-BASIC

DEFAULT

CLASS

{

/*Full repertoire*/

/*Teletex subrepertoire*/

/*8859/l subrepertoire*/

}

{ AS8613

}

{8}

{cf j cp j cfp}

Graphic-Rendition BASIC (AS_8613}

NON-BASIC (NONE}

DEFAULT (0}

2-92
CLASS {cf | cp | cfp}

Indentation BASIC {AS 8613}

NON-BASIC {NONE}

DEFAULT {0}

CLASS {cp | cfp}

Initial-Offset {

{ Horizontal-Coordinate

BASIC {AS 8613}

NON-BASIC {NONE}

DEFAULT {AS 8613}

CLASS {cfjcfp}}

{Vertical-Coordinate

BASIC {AS 8613}

NON-BASIC {NONE}

DEFAULT

CLASS

}

{

{AS 8613}

{cfjcfp}}

Itemization

{ Identifier-Alignment

BASIC { no-itemization

|

start-aligned | end-aligned}

NON-BASIC {NONE}

DEFAULT { no-itemization

}

CLASS { cf | cp | cfp }

}

{ Identifier-Start-Offset

BASIC {AS 8613}

NON-BASIC {NONE}

DEFAULT {AS 8613}

CLASS {cffcp | cfp}

}

{ Identifier-End-Offset

BASIC {AS 8613}

NON-BASIC {NONE}

DEFAULT {0}

CLASS

}

{ cf | cp | cfp } }

Kerning-Offset {

{ Start-Edge-Offset BASIC {AS 8613}

NON-BASIC {NONE}

DEFAULT {0}

CLASS {cf |cp|cfp}}

{ End-Edge-Offset BASIC {AS 8613}

NON-BASIC {NONE}

DEFAULT {0}

CLASS

}

{cf | cp | cfp}

}

Line-Layout-Table {

{ Tab-Reference BASIC {AS__8613

}

2-93
{Tab-Position

(Alignment

(Alignment-String

NON-BASIC

DEFAULT

CLASS

BASIC

NON-BASIC

DEFAULT

CLASS

BASIC

NON-BASIC

DEFAULT

CLASS

BASIC

NON-BASIC

DEFAULT

CLASS

(NONE)

(NONE)

{ cf | cp | cfp }

}

(AS_8613

}

(NONE)

(NONE)

( cf | cp | cfp }

}

{ start-aligned | end-aligned | centered!

}

alxgned-around

}

(NONE)

{ start-aligned

}

( cf J cp | cfp}

}

(AS__8613)

{NONE}

(NONE)

(cf | cp | cfp)

}

Line-Progression

Line-Spacing

Orphan-Size

Pairwise-Kerning

NON-BASIC (NONE)

DEFAULT (270)

CLASS (cf | cp | cfp}

BASIC { 100 | 150 | 200 | 300 | 400

}

NON-BASIC {NONE}

DEFAULT {200}

CLASS (cf | cp | cfp}

BASIC { AS_8613

}

NON-BASIC {NONE}

DEFAULT {1}

CLASS {cp|cfp}

BASIC (yes | no}

NON-BASIC {NONE}

DEFAULT {no}

CLASS { cf j cp | cf

}

Proportional-Line-Spacing

BASIC

NON-BASIC

DEFAULT

CLASS

Widow-Size

(yes j no}

{NONE}

{no}

(cp | cfp}

{AS_8613

}

NON-BASIC {NONE}

DEFAULT {1}

CLASS {cp|cfp}
Control-Functions

Break-Permitted-Here

BASIC { NO-PARAMETERS

}

NON-BASIC {N/A}

DEFAULT {N/A}

CLASS {cp|cfp}

Carriage-Return BASIC {NO-PARAMETERS}

/*CR*/ NON-BASIC (N/A)

DEFAULT (N/A)

CLASS { cf | cp | cfp

}

Graphic-Character-Conposition

/*GCC*/ BASIC {0 | l| 2}

NON-BASIC {NONE}

DEFAULT {0}

CLASS {cf |cp|cfp}

Character-Position--Backward

/*HPB*/ BASIC {AS 8613}

NON-BASIC {NONE}

DEFAULT {120}

CLASS { cf | cfp

}

Character-Position-Relative

/*HPR*/ BASIC {AS 8613}

NON-BASIC {NONE}

DEFAULT {120}

CLASS {cf |cfp}

No-Justify BASIC {0}

/*JFY*/ NON-BASIC {NONE}

DEFAULT {0}

CLASS {cf | cfp}

Line-Feed BASIC {NO-PARAMETERS}

/*LF*/ NON-BASIC {N/A}

DEFAULT {N/A}

CLASS {cf |cp|cfp}

No-Break-Here BASIC {NO-PARAMETERS}

/*NEH*/ NON-BASIC {N/A}

DEFAULT {N/A}

CLASS (cp| cfp}

Partial-Line-Down BASIC {NO-PARAMETERS}

/*PLD*/ NON-BASIC {N/A}

DEFAULT {N/A}

2-95
CLASS {cf | cp | cfp}

Partial-Line-Up

/*PHJ*/

Parallel-Texts

/*PTX*/

BASIC {NO-PARAMETERS}

NON-BASIC {N/A}

DEFAULT {N/A}

CLASS {cf |cp|cfp}

BASIC (0 1 1 j 3}

NON-BASIC {NONE}

DEFAULT {0}

CLASS {cp | cfp}

Set-Additional-Character-Separation

/*SACS*/ BASIC {AS_8613}

NON-BASIC {NONE}

DEFAULT {0}

CLASS {cf j cfp}

Set-Character-Spacing

/*SCS*/ BASIC

NON-BASIC

DEFAULT

CLASS

{AS__8613}

(NONE)

{ 120 }

{cf |cp|cfp}

/*SGR*/ BASIC { 0 1 1 1

3|4|5 6|7]9

10 11 12 13 14 15

16 17 18 19 21 22

23 24 25 27 29 j NON-BASIC

DEFAULT

CLASS

{NONE}

{0}

{cf | cp | cfp}

Select-Character-Spacing

/*SHS*/ BASIC

NON-BASIC

DEFAULT

CLASS

{ 0 j 1 1 2 j 3

}

{4}

{ 0 }

{cf |cp|cfp}

Set-Line-Spacing

/*SL8*/ BASIC {AS_8613}

NON-BASIC {NONE}

DEFAULT {200}

CLASS {cf jcp|cfp}

Start-Of-String

/*sos*/

Space • /*SP*/

BASIC { NO-PARAMETERS

}

NON-BASIC {N/A}

DEFAULT {N/A}

CLASS {Cfp}

BASIC {NO-PARAMETERS}

NON-BASIC {N/A}

2-96
DEFAULT {N/A}

CLASS (cf | cp | cfp}

Set-Reduced-Character-Separation

/*SRCS*/ BASIC {AS 8613}

NON-BASIC {NONE}

DEFAULT {0}

CLASS { cf | cp | cfp

}

Start-Reverse-String

/*SRS*/ BASIC (0|1>

NON-BASIC {NONE}

DEFAULT {0}

CLASS {cf |cp|cfp}

Set-Space-Width BASIC {AS 8613}

/*SSW*/ NON-BASIC {NONE}

DEFAULT {NONE}

CLASS {cf j cfp}

String-Terminator BASIC {N/A}

/*ST*/ NON-BASIC { N/A}

DEFAULT {N/A}

• CLASS {cfp}

Selective-Tabulation

/*STAB*/ BASIC {AS 8613}

NON-BASIC {NONE}

DEFAULT {NONE}

CLASS {cf |cp|cfp}

Substitute-Character

/*SUB*/ BASIC {NO-PARAMETERS}

NON-BASIC {N/A}

DEFAULT {N/A}

CLASS {cf |cp|cfp}

Select-Line-Spacing

/*SVS*/ BASIC (0|1|2|3|4|9>

NON-BASIC {NONE}

DEFAULT {0}

CLASS {cf |cp|cfp}

Line-Position-Backward

/*VPB*/ BASIC {AS 8613}

NON-BASIC {NONE}

DEFAULT {100}

CLASS {cfcp| cfp}

Line-Position-Relative

/*VPR*/ BASIC {AS 8613}

NON-BASIC {NONE}

DEFAULT {100}

2-97
CLASS {cf | cp | cfp}

Code-Extension-Control

"BASIC

NON-BASIC

DEFAULT

CLASS

Content-Portion-Attributes

Type-of-coding BASIC

NON-BASIC

DEFAULT

CLASS

{AS_8613

}

{NONE}

{NO-DEFAULT}

{cf |cp|cfp}

{{2836 0 }}

{NONE} {{2836 0 }}

{cf | cp I cfp}
2 . 2 . 5 . 2 Raster-Graphics-Content-Architecture

The Raster Graphics Content Architecture permits the

inclusion in documents of content portions containing raster

graphics which represent a two-dimensional pictoral image in

the form of a rectangular two-dimensional array of picture

elements (pels) . The content architecture is as specified in

part 7 of ISO 8613.

The Raster Graphics Content Architecture defines a formatted

processable content architecture. This content architecture

class supports Presentation Attributes and Content Portion

Attributes. Each attribute comprising this content

architecture is specified in subsequent sections in a form

that has been defined previously. For each attribute,

permissible values are differentiated as EASIC, NON-BASIC

and DEFAULT.

Presentation Attributes

These attributes specify constraints and initial conditions

relating to the layout and imaging of a raster graphics

content portion. This content architecture class supports

Shared Presentation Attributes and Logical Presentation

Attributes

.

Pel-Path BASIC {0 90 180 270}

NON-BASIC {NONE}

DEFAULT {0}

Line-Progression BASIC {90 270}

NON-BASIC {NONE}

DEFAULT {270 }

Pel-Spacing {

{Length BASIC {AS 8613}

NON-BASIC {NONE}

DEFAULT {4}}

{ Pel-Spaces BASIC {AS 8613}

NON-BASIC {NONE}

}

DEFAULT {!}}

Spacing-Ratio {

{ Line-Spacing-Value

BASIC {AS 8613}

NON-BASIC {NONE}

DEFAULT {!})

{ Pel-Spacing-Value

BASIC {AS 8613}

NON-BASIC {NONE}

2-99
DEFAULT {1}}

) Clipping {

{ First-Pair-X-Coordinate

BASIC {AS_8613}

NON-BASIC {NONE}

DEFAULT {AS__8613

}

{ First-Pair-Y-Coordinate

BASIC { AS_8613

}

NON-BASIC {NONE}

DEFAULT { AS_8613

}

{ Seccnd-Pair-X-Coordinate

BASIC {AS_8613

}

NON-BASIC {NONE}

DEFAULT {AS_8613

}

{ Second-Pair”Y*-Coordinate

BASIC {AS8613

}

NON-BASIC {NONE}

DEFAULT {AS_8613

}

}

Image-Dimensions

BASIC {CHOICE-OF

{Width-Controlled {SEQUENCE-OF

{Minimum-Width BASIC {AS_8613}

NON-BASIC {NONE}

DEFAULT { NO-DEFAULT }

}

{ Preferred-Width

BASIC {AS_8613

}

NON-BASIC {NONE}

DEFAULT {NO-DEFAULT}

}

}}

{ Height-Controlled { SEQUENCE-OF

{ Minimum-Height

BASIC {AS__8613

}

NON-BASIC {NONE}

DEFAULT {NO-DEFAULT}}

{ Preferred-Height

BASIC {AS_8613

}

NON-BASIC {NONE}

DEFAULT {NO-DEFAULT}

}

}}

{ Area-Controlled { SEQUENCE-OF

{Minimum-Width BASIC {AS_8613}

NON-BASIC {NONE}

DEFAULT { NO-DEFAULT }

}

{ Preferred-Width

BASIC {AS_8613

}

NON-BASIC {NONE}

DEFAULT { NO-DEFAULT}

}

{ Minimum-Height

2-100
BASIC {AS 8613}

NON-BASIC {NONE}

DEFAULT {NO-DEFAULT}

}

{ Preferred-Height

BASIC {AS 8613}

NON-BASIC {NONE}

DEFAULT {NO-DEFAULT}

}

{ Aspect-Ratio-Flag

BASIC. {variable | fixed}

NON-BASIC {NONE}

}}

DEFAULT {NO-DEFAULT}

}

{Automatic BASIC { NO-PARAMETERS

}

NON-BASIC {N/A}

}

DEFAULT {N/A}

}

NON-BASIC {NONE}

DEFAULT {AUTOMATIC}

snt-Portion-Attributes

Number-of-Pels-Per-Line BASIC {AS 8613}

NON BASIC {NONE}

DEFAULT {NONE}

Number-of-Lines BASIC {AS 8613}

NON BASIC {NONE}

DEFAULT {NONE}

Type-of-coding BASIC {{2 8 3 7 0}

|

/*CCITT T.6*/

{2837 1 }

|

/*CCTIT T.4 1-Dimensional*/

{2837 2 }

|

/*CCITT T.4 2 -Dimensional*/ {2837 3}}

/*Bitmap*/

NON-BASIC {NONE}

DEFAULT {{28373}}

Compression BASIC { compressed

j

uncompressed

}

NON-BASIC {NONE}

DEFAULT { compressed}

2-101
Geometric Graphics Content Architecture

The Geometric Graphics Content Architecture permits the

inclusion in documents of content portions containing graphics

primitives such as lines, markers, filled areas, graphic text,

patterns and etc. The content architecture is as specified in

part 8 of ISO 8613. It is based on ISO 8632, Computer Graphics

Metafile (CGM)

The Geometric Graphics Content Architecture defines a formatted

processable content architecture. This content architecture

class supports Presentation Attributes, Content Architecture

Class Attributes and Content Portion Attributes. Each attribute

conprising this content architecture is specified in subsequent

sections in a form that has been defined previously. For each

attribute, permissible values are differentiated as EASIC, NONBASIC and DEFAULT.

Presentation Attributes

These attributes specify constraints and initial conditions

relating to the layout and imaging of a geometric graphics

content portion. This content architecture class supports

Presentation Attributes.

The default values for the presentation attributes are specified

so as to be consistent with those specified in the Metafile

Defaults in clause 6 of ISO 8632/1. No private values are

permitted for any of the presentation attributes.

Default-Bundle-Representations

Line-Bundle-Representation {

{ Bundle-Index BASIC

NON-BASIC

DEFAULT

{ Line-Type BASIC

NON-BASIC

DEFAULT

( 1 , 2 , 3 , 4 , 5 }

{NONE}

(N/A)

}

{solid,

dash,

dot,

dash-dot,

dash-dot-dot

}

{NONE}

{N/A}}

{Line-Width

CASE Line-Width-Specification-Mode

absolute BASIC { . 001*max-vdcx,

. 001*max-vdcx,

. 001*max-vdcx,

c 001*max-vdcx,

. 001*max-vdcx}

NON-BASIC {NONE}

2-102
scaled

DEFAULT {N/A}

BASIC (1. , 1. , 1. , 1. , 1. }

NON-BASIC (NONE)

DEFAULT {N/A}

}

{Line-Colour CASE Colour-Specification-Mode

indexed

direct

BASIC {1,1, 1,1,1}

NON-BASIC {NONE}

DEFAULT {N/A}

BASIC { foreground

,

foreground,

foreground,

foreground,

foreground}

NON-BASIC {NONE}

DEFAULT {N/A}

}

}

Marker-Bundle-Representation {

{Bundle-Index BASIC {1,2, 3, 4, 5}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{Marker-Type BASIC {dot,

plus,

asterisk,

circle,

cross}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{Marker-Size

CASE Marker-Size-Specification-Mode

absolute

scaled

BASIC { 0 . 01*mx-vdcx

,

0 . 01*mx-vdcx

0.01*max-vdcx,

0 . 01*mx-vdcx,

• 0. 01*rax-vdcx}

NON-BASIC {NONE}

DEFAULT {N/A}

BASIC {l.,l.,l.,l.,l.

NON-BASIC {NONE}

}

DEFAULT {N/A}

}

{ Marker-Colour

CASE Colour-Specification-Mode

indexed

direct

BASIC {1,1, 1,1,1}

NON-BASIC {NONE}

DEFAULT {N/A}

BASIC {foreground,

foreground,

foreground,

foreground,

foreground}

NON-BASIC {NONE}

DEFAULT {N/A}

}

2-103
}

Text-Bundle-Representation {

{Bundle-Index BASIC {1/2}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{ Text-Font-Index BASIC {1/1}

NON-BASIC {NONE}

{ Text-Precision

DEFAULT {N/A}

}

BASIC { string, character

}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{ Character“Expansion-Factor

BASIC {1.0,0.7}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{ Character-Spacing

BASIC {0*0, 0.0}

NON-BASIC {NONE}

DEFAULT {N/A}

{Text-Colour CASE Colour-Specification-Mode

indexed BASIC {1/1}

NON-BASIC {NONE}

DEFAULT {N/A}

direct BASIC {foreground,

foreground}

NON-BASIC {NONE}

}

DEFAULT {N/A}

}

Filled-Area-Bundle-Representation {

{ Fill-Bundle-Index

BASIC {1,2, 3, 4, 5}

6 NON-BASIC {NONE}

DEFAULT {N/A}

}

{ Interior-Style

BASIC {hollow,

hatch,

hatch,

hatch,

hatch}

NON-BASIC {NONE} • DEFAULT {N/A}

}

{Fill-Colour CASE Colour-Specification-Mbde

indexed BASIC {1,1, 1,1,1}

NON-BASIC {NONE}

DEFAULT {N/A}

direct BASIC {foreground,

foreground,

foreground

,

foreground,

2-104
{Hatch-Index

foreground}

NON-BASIC {NONE}

DEFAULT {N/A}

}

BASIC {horizontal,

horizontal,

vertical,

positive-slope

,

negative-slope

}

NON-BASIC {NONE}

DEFAULT {N/A}

{Pattern-Index BASIC {1,1,1, 1,1}

NON-BASIC {NONE}

DEFAULT {N/A}

}

}

Edge-Bundle-Representation {

{Bundle-Index BASIC {1,2, 3, 4, 5}

NON-BASIC {NONE}

DEFAULT {N/A} }

{Edge-Type BASIC {solid,

dash,

dot,

dash-dot,

dash-dot-dot

}

. NON-BASIC {NONE}

DEFAULT {N/A}}

{Edge-Width

CASE Edge-Width-Specification-Mode

absolute BASIC { 0 . 001*max-vdcx,

0 . 001*max-vdcx,

0 . 001*max-vdcx,

0 . 001*rax-vdcx,

0 . 001*max-vdcx}

NON-BASIC {N/A}

DEFAULT {NONE}}

scaled BASIC {l.,l.,l.,l.,l.}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{Edge-Colour CASE Colour-Specification-Mode

indexed BASIC {1,1, 1,1,1}

NON-BASIC {NONE}

DEFAULT {N/A}

direct BASIC {foreground,

foreground,

foreground,

foreground,

foreground}

NON-BASIC {NONE}

DEFAULT {N/A}

}

}

Default-Pattem-Representation {

2-105
{ Pattern-Table-Index

BASIC {1}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{Number-Of-Columns BASIC {1}

NON-BASIC {NONE}

DEFAULT {N/A}}

{ Number-Of-Rows BASIC {1}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{ Local-Colour-Precision

BASIC {0}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{ Colour-Array Case Colour-Specification-Mode

indexed BASIC {1}

NON-BASIC {NONE}

DEFAULT {N/A} }

direct BASIC { foreground}

NON-BASIC {NONE}

}

DEFAULT {N/A}

}

ilt-Colour-Representation {

/* See Note 1 */

{Start-Index BASIC {2}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{Colour-List BASIC {

/* Red */ {255, 0, 0},

/* Green */ { 0,255, 0},

/* Blue */ { 0, 0,255},

/* Yellow */ {255,255, 0},

/* Magenta*/ {255, 0,255},

/* Cyan */ { 0,255,255},

/* Black */ { 0, 0, 0},

/* White */ {255,255,255}}

NON-BASIC {NONE}

DEFAULT {N/A} }

/*

V

Note 1 Colour Table defaults for colour indices 0 and 1

are defined to the nominal "background” and

nominal "foreground" colours, respectively.

GecsretricHOraphics-Encoding-Announcer

VDC-Type BASIC {integer | real}

NON-BASIC {NONE}

DEFAULT { integer}

2-106
Integer-Precision BASIC {16| 32}

NON-BASIC {NONE}

DEFAULT {16}

Real-Precision BASIC {{0,9,23}

|

{1,16,16}}

NON-BASIC {NONE}

DEFAULT {{1,16,16}}

Index-Precision BASIC {8 | 16}

NON-BASIC {NONE}

DEFAULT {16}

Colour-Precision BASIC {8 | 16}

NON-BASIC {NONE}

DEFAULT {8}

Colour-Index-Precision BASIC {8 | 16}

NON-BASIC {NONE}

DEFAULT {8}

Maxiinum-Colour-Index BASIC {ANY colour-index}

NON-BASIC {NONE}

DEFAULT {63}

Colour-Value-Extent {

{ Miniirium-Colour-Direct

BASIC {ANY colour-direct}

NON-BASIC {NONE}

DEFAULT {{0,0,0}}}

{ Maxiinum-Colour-Direct

BASIC {ANY colour-direct}

a NON-BASIC {NONE}

}

DEFAULT {{255,255,255}}}

Colour-Selection-Mode

BASIC { indexed | direct}

NON-BASIC {NONE}

DEFAULT {indexed}

VDC-Integer-Precision

BASIC {16 | 32}

NON-BASIC {NONE} • DEFAULT {16}

VDC-Real-Precision BASIC {{0,9,23}|

{1,16,16}}

NON-BASIC {NONE}

DEFAULT {{1,16,16}}

2-107
Line-Rendition

Line-Width-Specification-Mode

BASIC { absolute | scaled

}

NON-BASIC {NONE}

DEFAULT {scaled}

Line-Bundle-Index BASIC {ANY INDEX}

NON-BASIC {NONE}

DEFAULT {1}

Line-Type BASIC {solid,

dash,

dot,

dash-dot,

dash-dot-dot

}

NON-BASIC {NONE}

DEFAULT {solid}

Line-Width

CASE Line-Width-Specification-Mode

' absolute BASIC {ANY POSITIVE vdc}

NON-BASIC {NONE}

DEFAULT { 0 . 001*max-vdcx

}

scaled BASIC {ANY POSITIVE real}

NON-BASIC {NONE}

DEFAULT {1.0}

Line-Colour

CASE Colour-Specification-Mode

indexed BASIC {ANY colour-index}

NON-BASIC {NONE}

DEFAULT {1}

direct BASIC {ANY colour-direct}

NON-BASIC {NONE}

DEFAULT { foreground

}

Line-Aspect-Source-Flags

{LLne-Type-ASF BASIC

NON-BASIC

DEFAULT

{ Ldne-Width-ASF BASIC

NON-BASIC

DEFAULT

{ Line-Colour-ASF BASIC

NON-BASIC

DEFAULT

{

{bundled

individual

}

{NONE}

{individual}

}

{bundled

individual}

{NONE}

{ individual }

}

{bundled

individual}

{NONE}

{ individual }

}

Line-Bundle-Specifications

2-108
/* Any bundle consisting of paraineters as for individual */

BASIC (AS_8613

}

NON-BASIC {NONE}

DEFAULT {N/A}

Marker-Rendition

Marker-Size-Speci. fication-Mode

BASIC { absolute | scaled

}

NON-BASIC {NONE}

DEFAULT {scaled}

Marker-Bundle-Index BASIC {ANY INDEX}

NON-BASIC {NONE}

DEFAULT {1}

Marker-Type BASIC {dot | plus | asterisk

|

circle | cross}

NON-BASIC {NONE}

DEFAULT {asterisk}

Marker-Size

CASE Marker-Size-Specification-Mode

absolute BASIC {ANY POSITIVE vdc}

NON-BASIC {NONE}

DEFAULT { 0 . 01*mx-vdcx,

}

scaled BASIC {ANY POSITIVE real}

NON-BASIC {NONE}

DEFAULT {1.0}

Marker-Colour

CASE Colour-Specification-Mode

indexed BASIC {ANY colour-index}

NON-BASIC {NONE}

DEFAULT {1}

direct BASIC {ANY colour-direct}

NON-BASIC {NONE}

DEFAULT { foreground}

Marker-Aspect-Source-Flags

{Marker-Type-ASF BASIC

NON-BASIC

DEFAULT

{ Marker-Size-ASF BASIC

NON-BASIC

DEFAULT

{ Marker-Colour-ASF BASIC

{

{bundled

individual}

{NONE}

{ individual }

}

{bundled

individual}

{NONE}

{ individual }

}

{bundled

2-109
individual

}

NON-BASIC {NONE}

DEFAULT { individual }

}

Marker-Bundle-Specifications

/* Any bundle consisting of parameters as for individual */

BASIC { AS_8613

}

NON-BASIC {NONE}

DEFAULT {N/A}

Text-Rendition

Font-List BASIC {AS_8613}

NON-BASIC {NONE}

DEFAULT {NONE}

Character-Set-List {

{ Oiaracter-Set-Type

BASIC { 94-character-G

-set]

96-character-G

-set}

NON-BASIC {NONE}

DEFAULT {94-character-G

-set}}

{ Designation-Sequence-Tail

BASIC {4/1

4/0

4/2]• NON-BASIC {NONE}

}

DEFAULT {4/1}}

Character-Coding-Announcer

0 BASIC {basic-7-bit|

basic-8-bit}

NON-BASIC {NONE}

DEFAULT {basic-7-bit}

Text-Bundle-Index BASIC {ANY index}

NON-BASIC {NONE}

DEFAULT {1}

Text-Font-Index BASIC {ANY index}

NON-BASIC {NONE}

DEFAULT {NONE}

Text-Precision BASIC { string | character

|

stroke}

NON-BASIC {NONE}

2-110
DEFAULT {string}

Character-Expansion-Factor

BASIC

NON-BASIC

DEFAULT

(ANY POSITIVE real}

{NONE}

{ 1 . 0 }

Character-Spacing BASIC {ANY real}

NON-BASIC {NONE}

DEFAULT {0.0}

Text-Colour

CASE Colour-Specification-Mode

indexed BASIC {ANY colour-index}

NON-BASIC {NONE}

DEFAULT {1}

direct BASIC {ANY colour-direct}

NON-BASIC {NONE}

DEFAULT {foreground}

Character-Height BASIC {ANY POSITIVE vdc}

NON-BASIC {NONE}

DEFAULT { 0 . 01*max-vdcx

}

Character-Orientation {

{ X-Character-Up-Conponent

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {0}}

{ Y-Character-Up-Component

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {1}}

{ X-Character-Base-Carrponent

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {1}}

{ Y-Character-Base-Carnponent

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {0}}

}

Text-Path BASIC { right | left | up|

down}

NON-BASIC {NONE}

DEFAULT {right}

Text-Alignment {

{ Horizontal-Alignment

2-111
BASIC {normal

|

left | center

right

continuous}

NON-BASIC {NONE}

DEFAULT { normal }

}

{Vertical-Alignment

BASIC {normal

|

left | center]

right

continuous}

NON-BASIC {NONE}

DEFAULT { normal }

}

{ Continuous-Horizontal-Alignment

BASIC {ANY real}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{ Continuous-Vertical-Alignment

BASIC (ANY real}

NON-BASIC {NONE}

DEFAULT {N/A}

}

}

Character-Set-Index BASIC {ANY index}

NON-BASIC {NONE}

DEFAULT {1}

Altemate-Character-Set-Index

BASIC {ANY index}

NON-BASIC {NONE}

DEFAULT {1}

Text-Aspect-Source-Flags {

{ Text-Font-ASF BASIC {bundled]

individual}

NON-BASIC {NONE}

DEFAULT {individual}}

{ Text-Precision-AS

BASIC {bundled]

individual}

NON-BASIC {NONE}

DEFAULT { individual }

}

{ Character-Expansion-Factor-AS

BASIC {bundled!

individual}

NON-BASIC {NONE}

DEFAULT { individual }

}

{ Character-Spacing-ASF

BASIC

2-112

{bundled]

individual}
NON-BASIC {NONE}

DEFAULT { individual }

}

{ Text-Colour-ASF BASIC { bundled | individual)

NON-BASIC {NONE}

DEFAULT { individual }

}

}

Text-Bundle-Specifications

/* Any bundle consisting of parameters as for individual */

BASIC {AS 8613}

NON-BASIC {NONE}

DEFAULT {N/A}

Fill-Area-Rendition

Fill-Bundle-Index BASIC {ANY index}

NON-BASIC {NONE}

DEFAULT (1)

Interior-Style BASIC {hollcw|

solid | pattern | hatch

|

eirpty}

NON-BASIC {NONE}

DEFAULT {hollow}

Fill-Colour

CASE Colour-Specification-Mode

indexed BASIC {ANY colour-index}

NON-BASIC {NONE}

DEFAULT {1}

direct BASIC {ANY colour-direct}

NON-BASIC {NONE}

• DEFAULT {foreground}

Hatch-Index BASIC {horizontal

|

vertical L

• positive-slope

negative-slope

vertical-hatch

cross-hatch}

NON-BASIC {NONE}

DEFAULT {horizontal}

Pattern-Index BASIC {1|2|3|4|5|6|7|8}

NON-BASIC {NONE}

DEFAULT {1}

Fill-Reference-Point BASIC {ANY point}

NON-BASIC {NONE}

2-113
DEFAULT {{0,0}}

Pattern-Size {

{ X-Component-Height-Vector

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {0}}

{ Y-Ccnponent-Height-Vector

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {vdcx}

}

{ X-Ccaiponent-Width-Vector

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {vdcx}

}

{ Y-Component-Width-Vector

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {0}}

}

Pattern-Tab!e-Representation

{ Pattem-Table-Index

BASIC

NON-BASIC

DEFAULT

( Number-Of-Columns

BASIC

NON-BASIC

DEFAULT

{ Number-Of-Rows

BASIC

NON-BASIC

DEFAULT

{

{1

5

{NONE}

<N/A}

}

4 | 8}

{1. .16}

{NONE}

{!}}

{1. .16}

{NONE}

{!)}

{Local-Colour-Precison . BASIC {0 ! 1

8 1 16}

NON-BASIC {NONE}

DEFAULT {0}}

{Colour-Array CASE Colour-Specification-Mode

indexed BASIC {1. .8*1. .16*1. .16*

ANY colour-index}

NON-BASIC {NONE}

DEFAULT {1}

direct BASIC {1. .8*1. .16*1. .16*

ANY colour-direct}

NON-BASIC {NONE}

DEFAULT { foreground}

}

}

Fill-Aspect-Source-Flags {

{ Interior-Sty1e-AS

2-114
BASIC

NON-BASIC

DEFAULT

{ Fill-Colour-ASF

BASIC

NON-BASIC

DEFAULT

{ Hatch-Index-ASF

BASIC

NON-BASIC

DEFAULT

{ Pattem-Index-ASF

BASIC

NON-BASIC

DEFAULT

}

{bundled

individual}

{NONE}

{ individual }

}

{bundled

individual}

{NONE}

{individual}

{bundled

individual}

{NONE}

{ individual }

}

{bundled

individual}

{NONE}

{ individual }

}

Fill-Bundle-Specifications

/* Any bundle consisting of parameters as for individual */

BASIC {AS 8613}

NON-BASIC {NONE}

DEFAULT {N/A}

Edge-Rendition

Edge-Width-Specification-Mdde

BASIC { absolute | scaled}

NON-BASIC {NONE}

DEFAULT {scaled}

Edge-Bundle-Index BASIC {ANY index}

NON-BASIC {NONE}

DEFAULT {1}

Edge-Visibility BASIC {off | on}

NON-BASIC {NONE}

DEFAULT {off}

Edge-Type BASIC { solid

|

dash

dot | dash-dot

|

dash-dot-dot}

NON-BASIC {NONE}

DEFAULT {solid}

Edge-Width

CASE Line-Width-Specification-Mode

2-115
absolute BASIC (POSITIVE vdc}

NON-BASIC {NONE}

DEFAULT ( 0 . 001*max-vdcx

}

scaled BASIC (POSITIVE real}

NON-BASIC {NONE}

DEFAULT {1.0}

Edge-Colour

CASE Colour-Specification-Mode

indexed BASIC (ANY colour-index}

NON-BASIC {NONE}

DEFAULT {1}

direct BASIC {ANY colour-direct}

NON-BASIC {NONE}

DEFAULT {foreground}

Edge-Aspect-Source-Flags

{ Edge-Type-ASF BASIC

NON-BASIC

DEFAULT

{ Edge-Width-ASF BASIC

NON-BASIC

DEFAULT

{ Edge-Colour-ASF BASIC

NON-BASIC

DEFAULT

}

{

{bundled

individual}

{NONE}

{ individual }

}

{bundled

individual}

{NONE}

{ individual }

}

{bundled

individual}

{NONE}

{ individual }

}

Edge-Bundle-Specifications

/* Any bundle consisting of parameters as for individual */

BASIC { AS_8613

}

NON-BASIC (NONE}

DEFAULT ' {N/A}

Colour-Representation

Background-Colour BASIC {ANY colour-direct

}

NON-BASIC {NONE}

DEFAULT {background}

Colour-Table-Specification {

{ Start-Index BASIC { 1 .

Maxurunt-Colour-Index

}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{Colour-List BASIC {ANY Colour-List}

NON-BASIC {NONE}

DEFAULT {N/A}

}

1 2-116
Transparency-Specification

Transparency BASIC {off|on}

NON-BASIC {NONE}

DEFAULT (on)

Amd.lia2ry-C0.l0ur

indexed

direct

CASE Colour-Specification-Mode

BASIC {ANY colour-index)

NON-BASIC {NONE}

DEFAULT {0}

BASIC {ANY colour-direct

}

NON-BASIC {NONE}

DEFAULT { background

}

Transformation-Specification

VDC-Extent CASE VDC-Type

integer

{

{ X-Coordinate-First-Point

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {0}}

{ Y-Coordinate-First-Point

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {0}}

{ X-Coordinate-Second-Point

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {32767}}

{ Y-Coordinate-Second-Point

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {32767}}}

real

{ { X-Coordinate-First-Point

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {0.0}}

{ Y-Coordinate-First-Point

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {0.0}}

{ X-Coordinate-Second-Point

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {0.9999}}

{ Y-Coordinate-Second-Foint

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {0.9999}}

2-117
}

Clip-Rectangle CASE VDC-Type

integer

{

{ X-Cooniinate-First-Point

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAUIIT {0}}

{

-Coorxiimte-First-Point

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {0}}

{ X-Coordinate-Second-Point

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {32767}}

{ Y-Coordinate-Second-Point

BASIC {ANY Vdc}

NON-BASIC {NONE}

DEFAULT {32767}}}

real

{ {X-Coordinate-First-Point

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {0.0}}

{ Y-Coordinate-First-Point

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {0.0}}

{ X-Coordinate-Second-Point

BASIC {ANY vdc},

NON-BASIC {NONE}

DEFAULT {0.9999}}

{ Y-Coordinat:e-*Second-Point

BASIC {ANY vdc}

NON-BASIC {NONE}

}

DEFAULT {0.9999}

}

Clip-Indicator BASIC {off | on}

NON-BASIC {NONE}

DEFAULT {on}

Region-Of-Interest BASIC { rectangle | automatic}

NON-BASIC {NONE}

DEFAULT {automatic}

Picture-Orientation BASIC {0 j 90 1 180 1 270}

* NON-BASIC {NONE}

DEFAULT {0}

2-118
Picture-Dimensions BASIC {AS_8613

}

NON-BASIC {NONE}

DEFAULT { automatic

}

Content Architecture Class Attributes

These attributes identify and describe the content architecture

class of a content portion specified within object definitions.

Ccmmon-Coding-Attributes

Type-Of-Coding BASIC {{28380}}

NON-BASIC {NONE}

DEFAULT {NONE}

Content-Information

The content information of a content portion description that

conforms to this content architecture is an ASN.l octet string

representing a Computer Graphics Metafile (CX24) conforming to the

following constraints.

a) Conform to part 1 of the ISO 8632 standard;

b) Conform to the binary encoding defined in part 3 of

the ISO 8632 standard;

c) Consist of a single picture;

d) Conform to the CGM implementation agreement specified

in section 6.2 of the Technical and Office Protocols

Version 3.0 Recommendation, except as noted with respect

to font and colour table support;

e) Generalized Drawing Primitives are ignored;

f) ESCAPE Elements are ignored;

g) External Elements may be ignored.

The following list is a description of the permitted values for

the CGM elements.

Delimiter-Elements

BASIC {ANY octet-string}

NON-BASIC {NONE}

No-Op
/* See Note 1 */ DEFAULT {N/A}

Begin-Metafile

/* See Note 2 */

BASIC {ANY string)

NON-BASIC {NONE}

DEFAULT {null-string}

End-Metafile BASIC {N/A}

NON-BASIC {NONE}

DEFAULT {N/A}

Begin-Picture

/* See Note 2 */

Begin-Picture-Body

Bid-Picture

BASIC {ANY string}

NON-BASIC {NONE}

DEFAULT {null-string}

BASIC {N/A}

NON-BASIC {NONE}

DEFAULT {N/A}

BASIC {N/A}

NON-BASIC {NONE}

DEFAULT {N/A}

/* Note 1: An arbitrary sequence of n octets. Where

n=0, X, .

,32767. The sequence of zero or more octets is

for padding purposes.

Note 2: Support will be provided for strings with a length upto

256 octets , except for data records which will support

strings with a length up to 32767 octets.

Metafile-Description-Elements

Metafile-Version

Metafile-Description

/* See Note 1 */

/* See Note 2 */

VDC-Type

Integer-Precision

Peal-Precision

BASIC {1}

NON-BASIC {NONE}

DEFAULT {N/A}

BASIC {ANY string}

NON-BASIC {NONE}

DEFAULT { null-string

}

BASIC {integer | real}

NON-BASIC {NONE}

DEFAULT {integer}

BASIC {16}

NON-BASIC {NONE}

DEFAULT {16}

BASIC

2-120

{{0,9,23)|

(1,16,16))
NON-BASIC {NONE}

DEFAULT {{1,16,16}}

Index-Precision BASIC {16}

NON-BASIC {NONE}

DEFAULT {16}

Colour-Precision BASIC {8 | 16}

NON-BASIC {NONE}

DEFAULT {8}

Colour-Index-Precision BASIC {8 | 16}

NON-BASIC {NONE}

DEFAULT {8}

Maximum-Colour-Index BASIC {ANY colour-index}

NON-BASIC {NONE}

/* See Note 3*/ DEFAULT {63}

Colour-Value-Extent

{ MINIMJM-colour-direct

BASIC {ANY colour-direct}

NON-BASIC {NONE}

}

{MAXIMJM-colour-dire

DEFAULT {{0,0,0}}

2Ct

BASIC {ANY colour-direct}

NON-BASIC {NONE}

}

DEFAULT {{255,255,255}}

Metafile-Element-List

{ Number-0f-Elements BASIC {ANY integer}

NON-BASIC {NONE}

}

{ List-Of-Elements

DEFAULT {N/A}

BASIC {AS 8613}

NON-BASIC {NONE}

}

DEFAULT {N/A}

Metafile-Defaults-Replacement

BASIC {AS 8613}

NON-BASIC {NONE}

/* See Note 4*/ DEFAULT {N/A}

Font-List BASIC {NONE}

NON-BASIC {AS 8613}

/* See Note 3*/ DEFAULT {NONE}

Character-Set-List {

{ Character-Set-Type BASIC { 9

4-character-G

2-121
NON-BASIC

/* See Note 5 */ DEFAULT

{ Designation-Sequence-Tail

BASIC

NON-BASIC

/* See Note 5 */ DEFAULT

-set | 96-character-G

-set}

{NONE}

{ 94-character-G

-set}}

{4/1

4/0

4/2}

{NONE}

{4/1}}}

Character-Coding-Announcer BASIC { 0

1 1}

NON-BASIC {NONE}

DEFAULT {0}

/* Note Is Support, will be provided for strings with a length opto

256 octets, except for data records which will support

strings with a length upto 32767 octets.

Note 2 s The METAFILE DESCRIPTION string parameter will be used

to include the sub-string "NBS/BASIC-1" to label the

content as conforming to this agreement.

In addition, generators of content conforming to this content

architecture are encouraged to include a sub-string that identifies

the company and product that produced the CGM.

Note 3: The basic, non-basic or default for this element is

different than that specified in the TOP Version 3.0

Recommendation for CGM.

Note 4: The METAFILE DEFAULTS REPLACEMENT element shall not be

partitioned. No part of the element will be

partitioned. Multiple occurences of the METAFILE

DEFAULTS REPLACEMENT element may be used to avoid the

need for partitioning. The METAFILE DEFAULTS

REPLACEMENT element must appear in the content portion

conforming to this content architecture to establish

the defaults for TEXT PRECISION and any other elements

that do not assume the defaults specified in ISO 8632

parts 1 and 3.

Note 5: The character set ISO 646, 7-bit Coded Character Set

for Information Interchange, is specified with Idle

parameters (0,4/1).

The character set ISO 6937/2, Coded Character Sets for

Text Communication - Latin Alphabetic and Nonalphabetic Graphic Characters, is specified with the

parameters (0,4/0).

2-122
The character set ISO 8859/1, 8-bit Single Byte Coded

Graphic Character Sets - Latin Alphabet No. 1, is

specified with the parameters (0,4/2)

.

Picture-Descriptor-Elements

Scaling-Mode {

{ abstract | metric

}

( Sealing-Mode BASIC

NON-BASIC {NONE}

DEFAULT {abstract}}

(Scale-Factor CASE Scaling-Mode

abstract BASIC {N/A}

i NON-BASIC {N/A}

DEFAULT {N/A}

scaled BASIC {ANY real}

NON-BASIC {NONE}

/* See Note 1 */

}

DEFAULT {25.4}}

Colour-Selection-Mode BASIC { indexed | direct}

NON-BASIC {NONE}

DEFAULT {indexed}

Line-Width-Specification-Mode

BASIC { absolute | scaled

}

NON-BASIC {NONE}

DEFAULT {scaled}

Marker-Size-Specification-Mode

BASIC { absolute | scaled

}

NON-BASIC {NONE}

DEFAULT {scaled}

Edge-Width-Specification-Mode

BASIC { absolute | scaled}

NON-BASIC {NONE}

DEFAULT {scaled}

VDC-Extent CASE VDC-Type

integer

{ (X-Coordinate-First-Point

BASIC (ANY vdc)

NON-BASIC (NONE)

DEFAULT {0}}

{ Y-Coordinate-First-Point

BASIC (ANY vdc}

NON-BASIC {NONE}

DEFAULT {0}}

{ X-Coordinate-Second-Point

BASIC (ANY vdc}

2-123
NON-BASIC {NONE}

DEFAULT {32767}}

{ Y-Coordinate-Second-Poi_nt

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {32767}}}

real

{

{ X-Coordinate-First-Point

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {0.0}}

{ Y-Coordinate-First-Point

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {0.0}}

{ X-Coordinate-Second-Point

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {0.9999}

}

{ Y-Coortimate-Second-Point

BASIC (ANY vdc}

NON-BASIC {NONE}

DEFAULT {0.9999}}

}

Baclograund-Colour BASIC {ANY colour-direct}

NON-BASIC {NONE}

DEFAULT {background}

/* Note Is The Scale-Factor parameter of SCALING MODE element is

always a 32-bit floating point value, even when REAL

PRECISION has selected fixed-point for other real

numbers . It is not apparent in ISO 8632 what the

precision of this floating point parameter is when

fixed point reals have been selected. Its precision

shall be (0,9,23)

/*

Control-Elements

VDC-Integer-Precision BASIC {16

32}

NON-BASIC {NONE}

DEFAULT {16}

VDC-Real-Precision BASIC

NON-BASIC

DEFAULT

{{0 9 23}

|

{1 16 16}}

{NONE}

{{1 16 16}}

Auxiliary-Colour

indexed

CASE Colour-Specification-Mode

BASIC {ANY colour-index}

NON-BASIC {NONE}

2-124
direct

DEFAULT {0}

BASIC {ANY colour-direct}

NON-BASIC {NONE}

DEFAULT {background}

Transparency BASIC {off|on}

NON-BASIC {NONE}

DEFAULT {on}

Clip-Rectangle CASE VDC-Type

integer

{

{ X-Coordinate-First-Point

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {0}}

{ Y-Coordinate-First-Point

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {0}}

{ X-Coordinate-Second-Point

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {32767}}

{ Y-Coordinate-Second-Point

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {32767}}}

real

{ {X-Coordinate-First-Point

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {0.0}}

{ Y-Coordinate-First-Point

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {0.0}}

{ X-Coordinate-Second-Point

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {0.9999}}

{ Y-Coordinate-Second-Point

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {0.9999}}}

Clip-Indicator BASIC {off|on}

NON-BASIC {NONE}

DEFAULT {on}

Graphical-Primitive-Elements

Polyline BASIC {ANY point-list}

2-125
NON-BASIC {NONE}

/* See Note 1 */ DEFAULT {N/A}

Disj oint-Polyline BASIC {ANY point-list)

NON-BASIC {NONE}

/* See Note 1 */ DEFAULT {N/A}

Polymarker BASIC {ANY point-list}

NON-BASIC {NONE}

/* See Note 1 */ DEFAULT {N/A}

Text {

{ Text-Position BASIC {ANY point)

NON-BASIC {NONE}

DEFAULT {N/A}}

{Final-Flag BASIC { final | not-final

}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{Text-String BASIC {ANY string

NON-BASIC {NONE}

/* See Note 2 */

}

DEFAULT {N/A}

}

Restricted-Text

/* See Note 3 */

{

{Delta-Width BASIC {ANY vdc

}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{Delta-Height BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{Text-Position BASIC {ANY point}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{Final-Flag BASIC { final | not-final

}

NON-BASIC {NONE}

DEFAULT {N/A}}

{Text-String BASIC {ANY string}

NON-BASIC {NONE}

/* See Note 2 */

}

DEFAULT {N/A}

}

Append-Text {

{Final-Flag BASIC { final | not-final

}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{Text-String BASIC {ANY string}

NON-BASIC {NONE}

/* See Note 2 */

> DEFAULT {N/A}

}

Polygon BASIC {ANY point-list}

2-126
NON-BASIC {NONE}

/* See Note 1 */ DEFAULT {N/A}

Polygon-Set {SEQUENCE-OF

{VERTEX BASIC {ANY point}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{EDGE-OUT-FIAG BASIC { invisible

|

visible

|

close-invisible

|

close-visible}

}

NON-BASIC {NONE}

}

DEFAULT {N/A}

}

Cell-Array {

See Note 4 */

{ Comer-P BASIC {ANY point}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{Comer-Q BASIC {ANY point}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{Comer-R BASIC {ANY point}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{Dimension-X BASIC {ANY integer}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{Dimension-Y BASIC {ANY integer}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{ Local-Colour-Precision

BASIC { 0

| 1| 8| 16}

NON-BASIC {NONE}

m DEFAULT {N/A}

}

{ Cell-Representation-Mode

BASIC {rle| packed}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{Cell-Colour-Values CASE Colour-Representation-Mode

indexed BASIC {ANY colour-list}

NON-BASIC {NONE}

/* See Note 4 */ DEFAULT {N/A}

direct BASIC {ANY colour-list}

NON-BASIC {NONE}

/* See Note 4 */

}

DEFAULT {N/A}}

Rectangle {

{ First-Comer BASIC {ANY point}

NON-BASIC {NONE}

2-127
DEFAULT {N/A}}

{ Second-Comer BASIC {ANY point}

NON-BASIC {NONE}

}

DEFAULT {N/A}

}

Circle {

{Centre BASIC {ANY point}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{Radius BASIC {ANY vdc)

NON-BASIC {NONE}

}

DEFAULT {N/A}}

Circular-Arc-3-Point {

{Start-Point BASIC {ANY point}

NON-BASIC {NONE}

DEFAULT {N/A}}

{Mid-Point BASIC {ANY point}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{End-Point BASIC {ANY point}

NON-BASIC {NONE}

}

DEFAULT {N/A}

}

Circular-Arc-3-Point-Close {

{Start-Point BASIC {ANY point}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{Mid-Point BASIC {ANY point}

NON-BASIC {NONE}

DEFAULT {N/A}}

{End-Point BASIC {ANY point}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{ Close-Type-Flag BASIC {pie-closure | chord-closure

}

NON-BASIC {NONE}

}

DEFAULT {N/A}

}

Circular-Arc-Centre {

{Centre BASIC {ANY point}

NON-BASIC {NONE}

DEFAULT {N/A}}

{ Start-Delta-X BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{ Start-Delta-Y BASIC {ANY vdc}

NON-BASIC {NONE}

2-128
DEFAULT {N/A}

}

{End-Delta-X EASIC (ANY vdc}

NON-BASIC (NONE)

DEFAULT (N/A)

}

{End-Delta-Y BASIC (ANY vdc)

NON-BASIC {NONE}

DEFAULT {N/A}

}

{Radius BASIC (ANY vdc}

NON-BASIC {NONE}

}

DEFAULT {N/A}}

Circular-Arc-Centre-Close {

(Centre BASIC (ANY point}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{ Start-Delta-X BASIC (ANY vdc}

NON-BASIC {NONE}

DEFAULT {N/A}}

{ Start-Delta-Y BASIC (ANY vdc}

NON-BASIC {NONE}

DEFAULT {N/A}

}

(End-Delta-X BASIC (ANY vdc}

NON-BASIC {NONE}

DEFAULT {N/A}

}

(End-Delta-Y BASIC (ANY vdc}

NON-BASIC {NONE}

DEFAULT {N/A}

}

(Radius BASIC (ANY vdc}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{ Close-Type-Flag BASIC (pie-closure

|

chord-closure

}

NON-BASIC {NONE}

}

DEFAULT {N/A}

}

Ellipse {

(Centre BASIC {ANY point}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{ First-Conjugate-Diameter-End-Point

BASIC (ANY point}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{ Second-Conj ugate-Diameter-End-Point

BASIC (ANY point}

NON-BASIC {NONE}

}

DEFAULT {N/A}}

Elliptical-Arc (

2-129
{Centre BASIC {ANY point}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{ First-Conj ugate-Diameter-End-Point

BASIC {ANY point}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{ Second-Conj ugate-Diameter-End-Point

BASIC {ANY point}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{ Start-Delta-X BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{ Start-Delta-Y BASIC {ANY vdc}

NON-BASIC {NOTE}

DEFAULT {N/A}

}

{End-Delta-X BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{ End-Delta

BASIC {ANY vdc}

NON-BASIC {NOTE}

DEFAULT {N/A}

}

}

Elliptical-Arc-Close

(Centre

{ {MY point}

{NONE}

{N/A}

}

BASIC

NON-BASIC

DEFAULT

{ First-Conj ugate-Diameter-End-Point

BASIC {ANY point}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{ Second-Conj ugate-Diameter-End-Point

BASIC {ANY point}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{Start-Delta-X BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {N/A}}

{ Start-Delta-Y BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {N/A}}

{End-Delta-X BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{End-Delta-Y BASIC (ANY vdc}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{ Close-Type-Flag BASIC {pie-closure | chord-closur

NON-BASIC {NONE}

2-130
}

DEFAULT {N/A}

}

/* Note is The basic value for lists of points that can appear in

parameters for metafile elements is 1024.

Note 2: The basic value for length of strings in parameters of

metafile elements except data records is 256 octets.

For data records the basic value for the length of

strings is 32767 octets.

Note 3: The complete restricted text string, including appended

text, shall be included in a metafile conforming to

this agreement. The complete restricted text string

shall be scaled isotropically such that the specified

aspect ratio for the text is not distorted and the

string fits into the text extent parallelogram.

Note 4: The basic value for the number of colour values that

can appear in a colour list parameter for the cft.t.

ARRAY element is 1048576. This supports a 1024 x 1024

image.

Attribute-Elements

Line-Bundle-Index BASIC {ANY index}

NON-BASIC {NONE}

DEFAULT {1}

• Line-Type BASIC { solid | dash | dot | dash-dot

|

dash-dot-dot}

NON-BASIC {NONE}

DEFAULT {solid}

Line-Width

CASE Line-Width-Specification-Mode

absolute BASIC {ANY POSITIVE vdc}

NON-BASIC {NONE}

DEFAULT { 0 . 001*max-vdcx

}

scaled BASIC {ANY POSITIVE real}

NON-BASIC {NONE}

DEFAULT {1.0}

Line-Colour

* CASE Colour-Specification-Mode

indexed BASIC {ANY colour-index}

NON-BASIC {NONE}

2-131
DEFAULT {1}

direct BASIC {ANY colour-direct)

NON-BASIC {NONE}

DEFAULT {foreground}

Marker-Bundle-Index BASIC {ANY index}

NON-BASIC {NONE}

DEFAULT {1}

Marker-Type BASIC {dot|

NON-BASIC

plus j asterisk | circle

|

cross}

{NONE}

DEFAULT {asterisk}

Marker-Size

CASE Marker-Size-Specifloation-Mode

absolute BASIC (ANY POSITIVE vdc}

NON-BASIC {NONE}

DEFAULT { 0 . 01*max-vdcx

}

scaled BASIC {ANY POSITIVE real}

NON-BASIC {NONE}

DEFAULT {1.0}

Marker-Colour

CASE Colour-Specification-Mode

indexed BASIC {ANY colour-index}

NON-BASIC {NONE}

DEFAULT {1}

direct BASIC {ANY colour-direct}

NON-BASIC {NONE}

DEFAULT {foreground}

Text-Bundle-Index BASIC {ANY index}

NON-BASIC {NONE}

DEFAULT {1}

Text-Font-Index BASIC {ANY index}

NON-BASIC {NONE}

DEFAULT {1}

Text-Precision BASIC (string|

NON-BASIC

character

|

stroke}

{NONE}

„ DEFAULT {stroke}

Qiaracter-Expansion-Factor

BASIC {ANY POSITIVE real}

NON-BASIC (NONE)

2-132
DEFAULT {1.0}

Character-Spacing BASIC {ANY real)

NON-BASIC {NONE}

DEFAULT {0.0}

Text-Colour

CASE Colour-Specification-Mode

indexed BASIC {ANY colour-index}

NON-BASIC {NONE}

DEFAULT {1}

direct BASIC {ANY colour-direct}

NON-BASIC {NONE}

DEFAULT {foreground}

Character-Height CASE VDC-Type

absolute BASIC {ANY POSITIVE vdc}

NON-BASIC {NONE}

DEFAULT { 0 . 01*max-vdcx}

scaled BASIC {POSITIVE vdc}

NON-BASIC {NONE}

DEFAULT {1.0}

Character-Orientation {

{ X-Character-Up-Oaiponent

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {0}}

{ Y-<hiaracter-Up-Camponent

BASIC {ANY vdc}

NON-BASIC {NONE}

• DEFAULT {!}}

{ X-Character-Base-Canponent

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {!}}

{ Y-Character-Base-Canponent

BASIC {ANY vdc}

NON-BASIC {NONE}

}

DEFAULT {0}}

Text-Path BASIC { right

|

left I up I down}

NON-BASIC {NONE}

DEFAULT {right}

Text-Alignment {

{ Horizontal-Alignment BASIC { normal

|

left|

centerj

2-133
right

continuous

}

NON-BASIC {NONE}

DEFAULT { normal }

}

{Vertical-Alignment BASIC { normal

left | center

|

right

|

continuous}

NON-BASIC {NONE}

DEFAULT {normal}}

{ Continuous-Horizontal-Alignment

BASIC {ANY real}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{ Continuous-Vertical-Alignment

basic {ANY real}

NON-BASIC {NONE}

DEFAULT {N/A} }

}

Character-Set-Index BASIC {ANY index}

NON-BASIC {NONE}

DEFAULT {1}

Alternate-Character-Set--Index

BASIC {ANY index}

NON-BASIC {NONE}

DEFAULT {1}

Fill-Bundle-Index BASIC {ANY index}

NON-BASIC {NONE}

DEFAULT {1}

Interior-Style BASIC { hollow

|

solidj

pattem|

hatch|

' empty)

NON-BASIC {NONE}

DEFAULT {hollow}

Fill-Colour

CASE Colour-Specification-Mode

indexed BASIC {ANY colour-index}

NON-BASIC {NONE}

DEFAULT {1}

direct BASIC {ANY colour-direct}

NON-BASIC {NONE}

DEFAULT {foreground}

Hatch-Index BASIC {horizontal!

vertical

2-134
NON-BASIC

positive-slope

negative-slope

vertical-hatch

cross-hatch}

{NONE}

DEFAULT {horizontal}

Pattern-Index BASIC {1..8}

NON-BASIC {NONE}

DEFAULT {1}

Edge-Bundle-Index BASIC {ANY index}

NON-BASIC {NONE}

DEFAULT {1}

Edge-Type BASIC { solid

|

NON-BASIC

dash|

dot|

dash-dot

|

dash-dot-dot

}

{NONE}

DEFAULT {solid}

Edge-Width

CASE Line-Width-Specification-Mode

absolute BASIC {POSITIVE vdc}

NON-BASIC {NONE}

DEFAULT { 0 . Q01*max-vdcx}

scaled BASIC {POSITIVE real)

NON-BASIC {NONE}

DEFAULT {1.0}

Edge-Colour

CASE Colour-Specification-Mode

indexed BASIC {ANY colour-index}

NON-BASIC {NONE}

DEFAULT {1}

direct BASIC {ANY colour-direct}

NON-BASIC {NONE}

DEFAULT {foreground}

Edge-Visibility BASIC {off | on}

NON-BASIC {NONE}

* DEFAULT {off}

Fill-Reference-Point BASIC {ANY point}

NON-BASIC {NONE}

DEFAULT {{0,0}}

Pattern-Table {

/* See Note 1 */

{ Pattern-Table-Index

2-135
BASIC (1.-8}

NON-BASIC (NONE)

DEFAULT {N/A}}

(Nuntoer-Of-Coluinns BASIC (lo .16}

NON-BASIC {NONE}

DEFAULT {N/A}

}

(Number-Of-Rows BASIC (1. .16}

NON-BASIC {NONE}

DEFAULT {N/A}}

{ Local-Colour-Precison BASIC { 0

| 1| 8| 16

}

NON-BASIC {NONE}

DEFAULT {N/A}

}

{Colour-Array CASE Colour-Specification-Mode

indexed BASIC (1. .2048*

/* See Note 2 */ ANY colour-index}

NON-BASIC {NONE}

DEFAULT {N/A}

}

direct BASIC (1. .2048*

/* See Note 2 */ ANY colour-direct}

NON-BASIC {NONE}

DEFAULT

}

{N/A}

}

Pattern-Size {

{ X-Component-Height-Veotor

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT {0}}

{ Y-Canponent-Height-Vector

BASIC (ANY vdc}

NON-BASIC {NONE}

DEFAULT (vdcx)

}

{ X-Camponent-Width-Vector

BASIC (ANY vdc}

NON-BASIC {NONE}

DEFAULT {vdc*}

}

{ Y-Camponent-Width-Vector

BASIC {ANY vdc}

NON-BASIC {NONE}

DEFAULT

}

{0}}

Colour-Table-Specification {

. /* See Note 3 */

(Start-Index BASIC (1..

Maxiirtum-Colour-Index

}

NON-BASIC {NONE}

DEFAULT {2}}

(Colour-List BASIC

/* See Note 4 */

(ANY colour-list}

NON-BASIC {NONE}

DEFAULT {

2-136
}

/* Red */

/* Green */

/* Blue */

/* Yellow */

/* Magenta*/

/* Cyan */

/* Black */

/* White */

{ 255 , 0 , 0 },

{ 0 , 255 , 0 },

{ 0 , 0 , 255 ),

( 255 , 255 , 0 ),

{ 255 , 0 , 255 ),

{ 0 , 255 , 255 ),

{ 0 , 0 , 0 ),

( 255 , 255 , 255 )}

Aspect-Source-Flags { SEQUENCE-OF

(ASF-Type BASIC (Line-ASF|

Line-Width-ASF | Line-Colour-ASF

Marker-Type-ASF

Marker-Size-ASF

Marker-Colour-ASF | Text-Font-IndexASF | Text-PrecisionASF|

CharacterExpansionFactor-ASF | CharacterSpacing-ASF

Text-Colour-ASF

Interior-StyleASF | Fill-Colour-ASF

Hatch-Index-ASF

Pattern-Index-ASF | Edge-Type-ASF | Edge-Width-ASF | Edge-Colour-ASF

}

NON-BASIC (NONE)

DEFAULT (Line-ASF,

Line-Width-ASF,

Line-Colour-ASF

,

Marker-Type-ASF

,

Marker-Size-ASF

Marker-Colour-ASF

,

Text-Font-IndexASF,

Text-PrecisionASF,

CharacterExpansionFactor-ASF,

Character

Spacing-ASF,

Text-Colour-ASF

,

2-137
{ASF-Value BASIC

Interior-StyleASF,

Fill-Colour-ASF

,

Hatch-Index-ASF, Pattern-Index-ASF

,

Edge-Type-ASF, Edge-Width-ASF

,

Edge-Colour-ASF }

}

{ individual

|

bundled}

NON-BASIC {NONE}

DEFAULT {individual}

/* Note 1: The PATTERN TABLE element has an unspecified effect

when it appears in a picture subsequent to any

graphical primitives. The PATTERN TABLE element shall

appear prior to any graphical primitive elements to

insure that interpreting systems without dynamic

pattern update can render the intended effect.

Note 2: The basic value for the number of colour values in a

colour array parameter for the PATTERN TABLE element is

2048. This will support 8 patterns of 16 x 16.

Note 3: The COLOUR TABLE element has an unspecified effect when

it appears in a picture subsequent to any graphical

primitives. The COLOUR TABLE element shall appear

prior to any graphical primitive elements to insure

that interpreting systems without dynamic colour update

can render the intended effect.

Note 4: The basic value for the number of colour values in a

colour list parameter for the COLOUR TABLE element is

61. This will support 63 entry colour table.

V

External-Elements

Message {

{Action-Required-Flag

BASIC {no-action}

NON-BASIC {action}

DEFAULT {N/A}

}

{ Message-String BASIC {ANY string}

NON-BASIC {NONE}

/* See Note 1 */

) DEFAULT {N/A}

}

Application-Data BASIC {ANY data-record}

NON-BASIC {NONE}

/* See Note 1 */ DEFAULT {N/A}

2-138
/* Note 1: The basic value for string parameters in metafile

elements is 256 octets, except for data records which

will support strings with a length upto 32767 octets.

/*

2-139
2 . 2.6 DOCUMENT PROFILE

Presence of Document Constituents

PERMITTED

Generic-layout-structure

Specific-Layout-Structure

Generic-logical-structure

Specific-Iogical-Structure

Layout-Styles

Presentation-Styles

External-Document-Class

Resource-Document

Resources

{AS_8613

}

{AS_8613}

{AS_8613 }

{ AS__8613

}

{AS_8613

{AS_8613

{AS__8613}

{ AS__8613

{AS_8613}

Document Characteristics

REQUIRED

Document-Application-Profile /* ASN.l object identifier to be

supplied */

Document-Application-Profile-Defaults

{ Dimensions { #horizontal { 9240

}

#vertical { 12400 }

Medium-Type {10200,13200, 'unspecified'

}

Graphic-Character-Subrepertoire {8}

Raster-Graphics-Type-of-Coding {2 8 3 7 3}}

Document-Architecture-Class

Content-ArcMtecture-Class

Interchange-Format-Class

ODA-Version

{ AS_8613

}

{ AS_8613

{A}

/* 1988 */

Non-basic Document Characteristics

PERMITTED

Profile-Character-Sets

Ccmments-Character-Sets

Alternative-Representation

Character-Sets

Presentation-Features

/* ISO 6937/2 or ISO 8859/1 */

/* ISO 6937/2 or ISO 8859/1 */

/* ISO 6937/2 or ISO 8859/1 */

{AS_8613}

Additional Document Characteristics

2-140
PERMITTED

Fonts-List

Unit-Scaling

{AS_8613

}

{ AS_8613

Document Management Attributes

REQUIRED

Document-Reference { AS_8613

}

PERMITTED

Title {AS_8613}

Subject { AS_8613

}

Document-Type { AS_8613

Abstract {AS_8613}

Document-Date-and-Time { AS_8613

}

Creation-Date-and-Time { AS_8613

)

Local-Filing-Date-and-Time { AS__8 613

}

Expiry-Date-and-Time { AS_8613

Start-Date-and-Time { AS_8613

Purge-Date-and-Time { AS_8613

Release-Date-and-Time { AS_8613}

Revision-History { AS_8613

}

Organizations { AS_8613

}

Preparers {AS_8613}

Owners {AS_8613}

Authors {AS_8613

}

Copyright { AS_8613

Status (AS_8613

}

User-Specific-Codes { AS_8613

}

Distribution-List {AS_8613}

Additional-Information { AS_8613

}

References-to-Other-Documents (AS_8613)

Superseded-Documents {AS_8613

Keywords {AS_8613}

Local-File-Reference { AS_8613

}

Document-Size {AS_8613}

Number-of-Pages { AS_8613

}

Languages { AS_8613

}

Authorization { AS_8613

}

Security-Classification {AS_8613}

Access-Rights {AS_8613}

e>

2-141
2.2.7 DOCUMENT INTERCHANGE FORMAT

The aspects of this Implementation Agreement that are concerned

with the Format of the Interchange of documents are defined in

this clause. These aspects include the data stream, the

interchange data units, and ASN.l encodings.

Data Stream

Hie data stream is in accordance with the Office Document

Interchange Format Class A, as defined in ISO 8613-5.

The encoding is in accordance with the Basic Encoding Rules for

Abstract Syntax Notation One (ASN.l) , as defined in ISO 8825.

ASN.l Generation and Parsing

This clause covers two distinct aspects of ASN.l generation and

parsing. The first aspect cavers ASN.l practices that are

mandatory for an implementation to be conforming to this

Implementors Agreement. The second aspect covers ASN.l practices

that are recommended by this Implementors Agreement. These

recommended practices are not mandatory for conformance, but are

recommended solely in the spirit of improving interoperability

among different implementations.

ASN.l Generation Requirements

There are no additional requirements, beyond ISO 8824 and ISO

8825, imposed on the ASN.l generation.

ASN.l Parsing Requirements

There are no additional requirements, beyond ISO 8824 and ISO

8825, imposed on the ASN.l parsing.

ASN.l Generation Recommendations

The focus of the ASN.l generation recommendations is to generate

ASN.l encodings that will allow parsing by the most rudimentary

of implementations. These recommendations are described in the

following sub-clauses.

Segmenting Strings

ISO 8825 allows Bit Strings, Octet Strings, and Character Set

Strings to be encoded in the Primitive form or in the Constructed

form. The choice of which form to use is an option of the

encoder. Using the constructed form allows a string to be

segmented into a sequence of strings. This sequence of strings is

then contained in the constructed form of the string. The

2-142
constructed form is allowed the use of the indefinite form on

content length.

This Implementors Agreement recommends that implementations limit

the encoding to one level of the constructed form for Bit

Strings, Octet Strings, and Character Set Strings.

For example, if of type OCTET STRING, the value '432E436F6D6273 'H

can be encoded in the primitive form as:

Octet

String length Contents

04 16 0716 432E436F6D6273 16

The same value may be encoded in the constructed from as:

Octet

String Length Contents

2416 8016

Octet

String length

04 16 02 16

04 16 0516

EOC Length

00i6 00i6

Contents

432E16

436F6D6273 16

The same value encoded using two levels of constructed form is

not recommended by this Implementors Agreement. An example of an

encoding containing two levels of construction is:

Octet

String length Contents

24 16 8016

Octet

String length Contents

2416 04 16

Octet

String length Contents

04 16 02 16 432E16

04 16 05i6 436F6D6273i6

EOC Length

00i6 00i6

Length Expression

ISO 8825 allows the content length of an encoding that could be

expressed using the short form to also be expressed using the

long form. For example, a length of one could be expressed in the

short form as 000000012 or in the long form as 100000012

000000012

. CCITT Recommendation X.409 (1984) does not allow the

2-143
same liberty in expressing the length of the encoding length.

Implementations using these X.409 rules could present

interoperability constraints.

This Implementors Agreement recommends that implementations

generate content lengths only in their most economical form.

Ordering of Set Members

ISO 8824 defines sets to be unordered lists of values. It is the

generator's option to select an order for the values of the set.

Since this ordering is unpredictable from one Implementation to

the next, it is recommended that generators order the values in a

set according to the order in which the members appear in the

definition of the set. The intent of this recommendation is to

reduce the possible interoperability problems associated with the

unpredictable ordering of members in a set.

ASN.l Parsing Recommendations

The overall intent of these parsing reccaranendations is to allow a

high tolerance in the representation of the ASN.l syntax without

jeopardizing the semantics of the information being conveyed.

Each of these tolerances is described in a following sub-clause.

Segmented Strings

The ASN.l generation restriction on segmenting strings is a

recommendation of this Implementors Agreement and is not a

requirement of ISO 8825. Therefore, it is recommended that

jjplementations accept string encodings which have been segmented

into more than one level of the constructed form.

2-144
2 , 2.8 Relationship to Other DAPS

EWOS

There are three Document Application Profiles (DAPs) being

defined by the European Workshop on Open Systems (EWOS) ODA

Expert Group. These are called Q/lll, Q/112 , and Q/113.

Q/113 is expected to be equivalent to the NBS DAP.

CdTT

There are three DAPs defined by CCITT:

* T.501 - Document Application Profile MM for the Interchange of

Formatted Mixed Mode Documents,

* T.502 - Document Application Profile EML for the

Interchange of Processable Form Documents, and

* T.503 - Document Application Profile for the Interchange

of Group 4 Facsimile Documents.

It is intended that the NBS DAP will be compatible with the CCITT

T.502 DAP.

TOP

The NBS DAP will be presented to the Technical and Office

Protocol (TOP) Group as a suggested replacement for the TOP

Version 3.0 ODA Application Profile.

The content information of a Geometric Content Architecture

content portion description defined according to this NBS DAP

conforms to the GGM section of the TOP Version 3.0

Recommendation, without any ESCAPE elements and Grouped Drawing

Primitives.

INEAP

The Interoperability Technology Association for Information

Processing (INTAP) Experts Group on ODA/ODIF is developing two

sets of profiles, AE.llln-G and AE. 112n-J of small and medium

complexity, respectively. The AE.llln-J set includes the

AE. 1111-J, AE. 1114-J, AE.1115-J, and AE.1116-G profiles. The

AE.112n-J set includes the AE.1121-J, AE.1124-J, AE.1125-J, and

AE.1126-J profiles. AE.1126-J is expected to be a functional

equivalent to the NBS DAP.

2-145
. ! .

wm .
READER RESPONSE FORM

Please retain my name for the next mailing of the NBS/OSI Implementors

Workshop.

NAME

ADDRESS

FHONE NO.

Mail this page to: National Bureau of Standards

NBS Workshop for Implementors of OSI

Bldg. 225/B-217

Gaithersburg, MD 20899
NBS-114A (REV. 2-80

U.S. DEPT. OF COMM.

BIBLIOGRAPHIC DATA

SHEET (See instructions)

4. TITLE AND SUBTITLE

1. PUBLICATION OR 2. Performing Organ. Report No. 3. Publication Date

REPORT NO.

NBSIR 88-3823 July 1988

Ongoing Implementation Agreements for Open Systems Interconnection Protocols

Volume 1 : \ Stable Virtual Terminal & Document Architecture and Interchange Format

5. AUTHOR(S)

Robert Rosenthal, Editor

6. PERFORMING ORGANIZATION (If joint or other than NBS, see instructions) 7. Contract/Grant No.

NATIONAL BUREAU OF STANDARDS

U.S. DEPARTMENT OF COMMERCE 8. Type of Report & Period Covered

GAITHERSBURG, MD 20899

9. SPONSORING ORGANIZATION NAME AND COMPLETE ADDRESS (Street, City. State, ZIP)

10.

SUPPLEMENTARY NOTES

r~l Document describes a computer program; SF-185, FIPS Software Summary, is attached.

11.

ABSTRACT (A 200~word or less factual summary of most significant information . If document includes a significant

bi bliography or literature survey, mention it here)

This document records current agreements on implementation details of Open Systems

Interconnection Protocols among the organizations participating in the NBS/OSI

Workshop Series for Implementors of OSI Protocols. These decisions are documented

to facilitate orgainzations in their understanding of the status of agreements. This

is a standing document that is updated after each workshop (about 4 times a year)

.

12.

KEY WORDS (Six to twelve entries; alphabetical order; capitalize only proper names; and separate key words by semicolon s) local area networks; NBS/OSI Workshop; network protocols; Open Systems Interconnection

OSINET; testing protocols

13. availability 14. NO. OF

PRINTED PAGES ^

Uni imited

For Official Distribution. Do Not Release to NTIS 163

Order From Superintendent of Documents, U.S. Government Printing Office, Washington, D.C.

20402. 15. Price

X“ Order From National Technical Information Service (NTIS), Springfield, VA. 22161 $18.95