Office Document Architecture (ODA) : A Brief History and Overview of The Oda Concepts
Office Document Architecture (ODA) : A Brief History and Overview of The Oda Concepts
Office Document Architecture (ODA) : A Brief History and Overview of The Oda Concepts
by Peter J Robinson
These two articles set out to explain ODA, the Open Document Architecture and Interchange
Format. The ODA standard was ratified by ISO and the CCITT in 1988 and is rapidly
becoming the accepted standard for the open interchange of documents in the age of
electronic commerce.
In this first article I explain how ODA models real documents such that all the information
they contain can be captured. This information is not only what you see on the printed page
but also includes information for use by word processors to control sophisticated editing
features.
In the subsequent article I explain in more detail how the standard enables documents to be
interchanged over communications systems. I will also explain how the standard handles the
three permitted types of document content, character text, geometric graphics for line
drawings and finally raster graphics for photograph like images.
The first article was published in the ELEDIS JOURNAL Number 5, November-December
1990, Bureau de Depot, 1040 Bruxelles 4, Belgium.
PART I
A BRIEF HISTORY AND OVERVIEW OF THE ODA
CONCEPTS
A short history of ODA
The Open Document Architecture and Interchange Format, ODA, is the new compound
document interchange standard for use in the expanding world of open systems. Compound,
or multi media documents are those comprised of several different types of content, for
example character text, graphics and image.
Although work on a standard with the capabilities of ODA was started by various standards
bodies in the early 1980s the first ODA standard was published in 1985 by the European
Computer Manufacturers Association as ECMA-101. The ECMA-101 standard used the term
"Office" rather than "Open" reflecting the objective of meeting the needs of the then
emerging electronic office systems market. The ECMA standard was submitted to the other
standards bodies for their consideration under their technical liaison agreements.
Subsequently ECMA ODA was adopted by the International Standards Organisation, ISO
and the International Telegraph and Telephone Consultative Committee, CCITT as the basis
for their work to produce a standard document architecture for compound documents.
The ISO and CCITT objective was for ODA to be applicable to all forms of communication
services involving electronic document interchange. ODA was formally ratified in 1988 as an
International Standard, ISO 8613[2] and as the T.410 series of CCITT Recommendations
published in the CCITT "Blue Book"[3]. Also in 1988 ECMA ratified a revised version of its
ECMA-101[4] that brought their original standard into line with that of ISO and the CCITT.
All three standards are in principal identical. There are some necessary textual differences
demanded by the language and stylistic conventions required by the different standards
organisations. There are some technical differences between the three standards. A major
technical difference is that the ISO version defines two encoding formats whereas the CCITT
Recommendation and the ECMA standard define one. I will discuss the technical details
concerning the differences in the encoding formats in a subsequent article.
At the basic level ODA enables compound documents containing character text, raster
graphics (perhaps more correctly, facsimile) images and geometric graphics to be encoded
and interchanged electronically between systems conforming to the standard. ODA enables
the interchange of electronic documents so that they can be imaged or printed by the receiver
as seen by the originator. In addition it enables interchanged electronic documents to be
edited by the recipient according to constraints or rules specified by the originator.
ODA achieves these two important capabilities by defining an abstract architecture for
representing the information contained in a document. The perhaps some what grandiose
term "architecture" is best thought of as meaning the more widely understood term "model".
Having defined an abstract architecture it then defines how this is to be encoded such that it is
suitable for transmission over communication systems, for example X.400 Electronic Mail.
The rules for encoding the abstract architecture are called the ODA Interchange Format or
ODIF. ODIF uses the ASN.1 abstract syntax notation and encoding rules. The ASN.1 syntax
and encoding rules are themselves ISO standards and are used by several Open System
Interconnection, OSI, standards.
The ODA document model divides the information content of a document into three primary
categories. The partitioning of the document information into three categories and the rules
concerning its meaning are termed the document architecture. The categories are termed:
logical information, layout information, and content.
The ODA model has three further components. These are: generic structures (both logical and
layout), styles, and the document profile. The method chosen by ODA to define the meaning
of the information types and the relationships between them is a set of process models.
Before going into the detail of these latter aspects of the model it is useful to deal with the
three basic types first.
Logical, layout and content information
Of these three categories perhaps "logical" information is, initially, the least obvious. Logical
information, according to the standard is information in a document that is firstly,
independent of the page layout. Secondly, it defines relationships between the components of
the document content. An example is the subdivision of a document into chapters, sections,
paragraphs, titled figures, footnotes etc. The logical information is the structuring of the
content information in terms of hierarchy and order. For example a "chapter" can be thought
of as the content that is comprised of a sequence of "sections" and a "section" comprised of a
sequence of content termed "paragraphs", and so on. Logical information is for example, the
structuring of the content into a hierarchy of paragraphs within sections within chapters.
ODA does not standardise the names for the components of the logical hierarchy, nor does it
standardise the types of hierarchy available. ODA provides a capability to define such
organisations of information. It calls them "logical structures". The terms used by ODA for
the hierarchic components of logical structures are root, compound and basic logical objects.
Basic logical objects are the lowest level components and contain content. As I mentioned
previously ODA does not standardise logical structures. The actual logical structures are
designed by the document designer.
If we now take a look at layout information this, as I indicated earlier, is easier perhaps to
understand then logical information. Layout information is defined in ODA to be concerned
with size, positioning and other image related properties of the content. Similarly to logical
structure the organisation of the layout information is called the "layout structure". Layout
structures are comprised of a hierarchy of positioning components called page sets, pages,
frames and blocks, blocks being the lowest level positioning components and that ultimately
contain the content. Again as with the logical structure, layout structures are defined by the
document designer, they are not dictated by the standard.
Moving on now to the next component of the ODA model, content. This is information that
primarily represents human perceivable marks used to convey meaning. The most obvious
examples are alphanumeric characters but it also includes geometric shapes, for example
electronic circuit symbols. Not all the information classed as content represents visible marks.
For example, the control function codes, such as new line, space, upper and lower case shift
etc used by character encoding schemes are not themselves visible marks. The 1988 ODA
standard specifies three types of content. These are: character text, geometric graphics, and
raster graphics. In a subsequent article I will discuss these three content types in more detail.
In the ODA model both the logical and layout structure refer to the same content. This model
enables either a logical view or a layout view to be taken of the information that is normally
the bulk of the document, the content. This model enables processes to be performed on a
single ODA document in the most efficient manner. For example, a printing application need
only be concerned with the layout structure and the content to construct an image of each
page. A word processor need only be concerned with the logical structure for moving to and
selecting paragraphs or sections before editing them.
Generic structures
If we now move on to the two other aspects I mentioned earlier of the document model,
namely generic structures and styles.
As I said generic structures can be either logical or layout so we can discuss both together
having already mentioned the differences between logical and layout. Generic structures are
sets of rules within the document itself that can be thought of as defining the "class" of the
document. For example, you could have a class of document called "report". A "report" could
have the following organisation. It could start with an index, chapter headings starting at the
top of a facing page, sections within chapters having a decimal numbering scheme and
perhaps alphabetically numbered appendices at the end. This is a typical format for many
company reports. The ODA model enables this type of information to be held in the
document itself as generic logical and layout structures. This information may potentially be
used by an editing system to ensure that the document always conforms to its own "class".
Generic structures are an extremely powerful feature of ODA. They would enable for
example, different word processors conforming to the ODA standard to be used to modify
consistently a report being produced by several departments of one company or by several
companies. Many Desk Top Publishing (DTP) systems have a similar capability. However,
their capability is usually limited to a document containing so called "style sheet"
information. Style sheets normally determine such characteristics as font, spacing metrics,
indentation and positioning of areas of text etc. The sequence in which such styles can be
used is not controlled by the document itself. Style sheet information is "proprietary" to a
particular DTP system and documents prepared on one such system cannot be processed by
another, except after normally a very unsuccessful format conversion process.
Styles
This brings us to the next aspect of the ODA model, "styles". Styles are subdivided into
layout and presentation styles. Some what of a misnomer, layout styles are associated with
the logical structure (both generic and specific). They are used to specify whether the logical
content for example, is to be contained on a single page, or to start on a new page. This would
be used to ensure that the "caption" of a logical "captioned figure" did not appear on the
following page from the "figure" or to ensure that a logical "chapter" started at the top of a
new page.
Presentation styles apply to lowest level logical or layout components and specify layout or
imaging aspects of the content. There are different sets of presentation styles for the different
types of content. For character text they specify such properties as: how the first line is to be
indented, what fonts and line spacing are to be used and many others. For geometric and
raster graphics similar such properties can be controlled.
As you see "styles" are very similar to style sheets of current DTP systems. Similarly one
style can be referenced by several logical or layout components. As with existing DTP
systems, the standard specifies that changing a property of one style would result in all the
appropriate logical or layout components throughout the document changing.
The final aspect of the ODA model is the "document profile". This is information concerning
the document as a whole. Firstly this is management information, such as the title, the
author's name, when the document was created, keywords etc. This type of information is
intended to be used by automatic filing and retrieval systems. Secondly it contains some
technical information such as: whether the document has logical or layout structures or both
(I will explain this later), which coding standards have been used for the different types of
content. It also has information that enables a receiving system to decide whether it can
process the document without reading all the ODA document.
The ODA model ties the meaning of the forgoing different information types together by a
processing model. The ODA standard defines three processes. An important aspect is that the
rocessing model is used as a mechanism to define the meaning of the permissible properties.
It is not presented as the specification of how the standard is to be implemented. The
processes defined by the model are: editing, layout and imaging. The last two of these
processes are used to define the meaning of the complex combinations of properties and
values of the different information types.
The "Editing" process is defined by the standard for completeness. It should be thought of as
any process or application that processes an ODA document and produces a new version of
the document. The new document must conform to the constraints imposed by generic logical
structure of the original. The classic example of this process is an editor or word processor.
The editing process principally states that an editing type application conforming to the
standard permits enhancement to the old logical structure according to the rules contained in
the generic logical structure. The result is a document with a new logical structure.
The next process of the three is the "Layout Process". This specifies how a processable
document is converted into a formatted document. The purpose of the layout process, which
is specified in considerable detail in the standard, is to define the meaning of the complex
combinations of the logical structure, the generic layout structure plus the layout and
presentation styles. The result, or the meaning of this information is defined in terms of the
layout structure, ie the hierarchy of pages, frames and blocks, plus their positions, dimensions
and other properties. For example, the layout process defines the layout style "indivisibility"
as the logical content being contained in a single layout component.
The final process is the imaging process. The purpose of the imaging process is to define in
an implementation independent manner the meaning of the layout and presentation style
information. It specifies an imaging model that details what the various properties and
combinations of properties mean in terms of images on a presentation medium, for example
paper or a video display unit. This imaging model covers topics such as how intersecting
blocks of content are to be imaged, what the orientation of the image should be on the
presentation medium.
ODA defines three types of document that can be interchanged. It calls the different types,
document architecture classes. As you will see from the subsequent article the document
architecture classes are reflected in the encoded form of the interchangeable document. The
distinction between the document architecture classes is dependent upon the information
structures that can be present and the corresponding operations that the documents can be
used for. The three document architecture classes are: processable, formatted, and formatted
processable.
Processable documents contain logical structure and content. Processable documents are
suitable for use by applications such as word processors. They are however, also likely to be
used by other applications that work on logical information. For example applications that
search documents for particular textual constructs, eg all paragraphs containing footnote
references.
Formatted documents contain layout structure and content. As mentioned else where these
would be used by printing applications or perhaps displayed to video terminals for quickly
viewing or browsing the content when editing the content is not required. The formatted
processable architecture class contains both logical and layout structures as well as content.
Formatted processable documents could be used by any of the applications mentioned above.
They provide a compact and efficient form of document interchange offering maximum
flexibility.
Conclusion
In this article I have only mentioned the key architectural aspects of ODA. The standard is
more complex than this brief outline implies (it is over 500 pages in length) consequently it
has a richer functionality than perhaps I have indicated. In the next article in the series I will
discuss the three types of content described in the 1988 ODA standard, character text,
geometric graphics and raster graphics. I will also cover the encoding schemes for the
interchange of ODA over communication systems or by transferable media.
In the first of these two articles I explained the key architectural principles of ODA. ODA is a
new class of document interchange standard, a standard for so called "revisable" form
document interchange. ODA was ratified by ISO and the CCITT in 1988. I previously
explained how ODA models real documents in an electronic form suitable for interchange.
This model also provides for the editing, formatting and printing operations. I also outlined
the different types of content, character, raster and geometric that ODA documents can
contain.
In this article I provide more detail on the three different contents types and how they are
represented. I also specify how the standard enables documents to be interchanged over
communications systems. Finally I say something about the work in progress to define
subsets of the standard for use by applications.
PART II
CHARACTERS, GRAPHICS, IMAGES AND
INTERCHANGE FORMATS
Introduction
In this second of my series of articles giving an overview of ODA I go into detail of how the
three different content types of character text, raster graphics and geometric graphics are
represented. I then go on to say how the ODA standard enables documents to be interchanged
over communications systems, for example the CCITT X. 400 electronic mail standard.
Finally I will say something about the functional subsets of the ODA standard that have been
defined by various standards bodies. These subsets have been specifically defined to simplify
how applications of differing capability levels can use the ODA standard.
In the previous article I described the basic principles and facilities of ODA. In particular I
described how the content of a document is represented using a number of content types, each
having its own specific content architecture. Firstly in this article I discuss the principles that
apply to all three content types currently defined by the standard.
As I said in the first of these articles the ODA standard defines content as the basic
component of the document model. Content is the lowest level component of the model and
is referenced by the other structural components. Content references no other component of
the model. The other components mainly describe structural properties such as the logical
structure for describing how the document is divided into paragraphs and sections etc and
layout, which describes where the content is to be positioned on a page.
For each type of these three types of content the standard definesthe following:
• the graphics elements, the visible marks and control functions associated with the set
of graphic elements such as 'line feed', 'space' etc and how these sets of elements are
encoded;
• how the graphic elements are to be positioned in the basic layout objects, blocks1;
• a process for transforming logical content into formatted content as required by the
layout structure, for example how the line breaks are to be determined to 'fold' the
long strings of characters referenced by the logical structure into the blocks of the
layout structure;
• a set of attributes that determine how the content is laid out and how it is imaged.
I have described the above in terms of character content but similar examples can be
constructed for the other two types of content. However, they are usually less intuitive.
An important principle adopted by ODA was that wherever possible it employed existing
standards for content rather than inventing new ones, with possibly the resultant difficulties
this would entail. Another important principle ODA adopted is that of separating the
structural properties from the properties of content. This means that ODA can be enhance in
the future to support new types of content such as moving images or sound without affecting
the logical and layout structural properties.
When you first think of a document you normally think of pages of text, the written word.
The ODA character content type is designed to support the sort of text you would create
using the now very familiar word processor. It is however, designed to support more than
conventional text like that of this article.
Being an international standard it has to provide for languages that have different sets of
character shapes from those used by European and similar such languages. It has to cater for
example, for Japanese. Japanese not only has a larger number of character shapes, but also
has different conventions concerning the direction of writing, and even which is the first page
in a book. What at first seems a simple task of standardisation rapidly becomes extremely
complex.
Firstly ODA did not define a new character coding standard. The character content type uses
an existing set of ISO standards concerning characters. These are ISO 6937, the Coded
Character sets for Text Communication and ISO 8859, the 8-Bit Single-byte Coded Graphic
Character Sets. These are already extremely widely used in the computer industry. Adopting
an existing coding standards is not enough. Additional information is needed for a standard
that intends to be capable of defining properties of documents in sufficient detail that they
can be interchanged between systems, have the same processing properties and appear the
same when printed.
The character content architecture defines how each character is positioned. It caters for all
combinations of writing direction, left to right and right to left and whether lines go top to
bottom or bottom to top of pages. It also defines how rotated characters are to be positioned.
Finally concerning positioning, it provides for the sophisticated typographic features required
by "publishing" quality documents such as fonts. These features are available these days in
some of the more recent word processors. ODA complies with the ISO Font standard for
describing the properties and capabilities of fonts. The ODA standard defines a total of
twenty two "Presentation" attributes for the character content type. These attributes determine
how content is formatted and imaged. In this short overview the list is too long to go into
detail for each attribute. I have therefore selected two of the more interesting attributes to
illustrate the type of effect they create and how they work.
The first is 'Orphan size'. This applies to the logical form of content, that is content that has
not been formatted into layout structure blocks for presentation on paper. Orphan size is an
example of a Logical "Presentation" attribute. These specify what the layout of the content is
to look like without specifying how it is achieved. The attribute Orphan size can be used to
specify the minimum number of lines of content to be placed in a block. It could be applied to
a logical paragraph for example, to prevent the first two lines appearing at the bottom of a
page rather than the preferred layout of the whole paragraph appearing on the following page.
The second presentation attribute is 'Pairwise kerning'. Since this can be applied to both the
logical and layout forms of content it is termed a Shared Presentation attribute. Kerning is a
typographical term meaning the distance between any two successive characters is dependent
on the characters themselves. Pairwise kerning for logical content is a factor used to calculate
line lengths when formatting a line of text into its containing block. Similarly when printing
the text on paper (or imaging it on a screen) for the layout structure, pairwise kerning can also
to be used. In this case it is used to determine the position of each character with respect of its
neighbour, to give the correct visual appearance.
This short description of some of the properties of the character content architecture is I hope,
enough to see that it can already handle reasonable high quality text. More extensive facilities
are promised as the standard is enhanced in the future.
The geometric graphics content type enables ODA documents to include diagrams or figures
made from geometric elements such as lines, circles, arcs, pattern filled areas etc. This
graphic capability is essential for ODA to be suitable for interchange of technical
documentation such as reports or manuals.
A primary objective of the geometric graphics content architecture during its development
was that it should be compatible with existing standards and application packages. This
meant the use of an existing standard for interchange of graphics rather than developing one
exclusive to the ODA standard.
The geometric graphic content architecture uses the ISO Computer Graphics Metafile
standard, ISO 8632, normally abbreviated to 'CGM'. CGM was chosen as it is designed to be
suitable for the storage, retrieval and interchange of picture description information,
objectives similar to those of ODA.
An important property of each content type is the definition of how the graphic elements are
positioned relative to the lowest level layout objects, blocks, in the layout structure. For
geometric graphics, the geometric elements comprising the content of a picture are positioned
according to the rules of the CGM standard in their own coordinate system, termed the virtual
device coordinate space.
When CGM is used with the ODA standard, the content architecture defines how the
coordinate system of the content portions relates to that defined by the ODA layout structure.
The geometric graphics content architecture defines a coordinate system local to each block
of geometric graphics content. This is then related to the virtual device coordinate space
defined by CGM. As I mentioned in the previous article, blocks are positioned within frames
and frames within pages using the normal ODA positioning attributes.
The geometric graphics presentation style attributes specify the initial conditions for
formatting and imaging logical and layout objects referring to geometric graphics content.
The geometric graphics content architecture presentation style attributes correspond to CGM
elements that can also be present in the content. The justification for their inclusion as
properties of the logical and layout structures is that for a document containing several
pictures with a common style the properties need only be specified once. The geometric
graphics content architecture has twelve presentation attributes. Some of these are: line
rendition; marker rendition; filled area rendition; edge rendition; transparency specification;
region of interest specification; picture orientation; picture dimensions.
In this article I won't go into the full details of each of these attributes. However, I hope you
will see that these attributes give comprehensive control over geometric graphics content.
The raster graphics content type provides for pictorial information by representing it as a
rectangle of dots. These dots are termed picture elements or "pels". The rectangular
arrangement of the pels representing the picture is called an "array of pels". This is a familiar
technique in the computer and image processing industries. The raster graphics content type
is based on CCITT Recommendations T. 4 and T. 6, "Coding schemes and control functions
for Group 3 and 4 facsimile apparatus".
The current ODA raster graphics content type is restricted to monochrome images, that is
images comprised of two tones, normally represented as black and white. Work is being
undertaken by ISO to include multi-coloured images. This will be issued as an addendum to
the ODA standard and it has nearly completed the ratification process.
The full set of raster graphics presentation attributes is listed below. They are: Pel path; Line
progression; Clipping; Pel transmission density; Initial offset; Pel spacing; Spacing ratio;
Image dimensions.
The raster graphics content type supports a bitmap encoding as well as those defined by the
CCITT T. 4 and T. 6 standards. The T. 4 and T. 6 standards are primarily concerned with
compression of large images. The T. 6 encoding scheme has been recommended by the
CCITT for the efficient interchange of group 4 facsimile and is ideally suited to use by ODA.
By incorporating the bitmap format, ODA recognises that sometimes only small images are
required and compression and decompression of these would be an unnecessary burden for
some types of system.
The previous sections of these articles have described how ODA models a documents so as to
capture as much information as possible. The model provides for representing many
properties of a document that would be useful for processing by applications such as word
processors. But how does the ODA model help in communication this information between
systems? The answer is that the model, having rigorously defined document properties and
relationships also defines how these are to be serially encoded for use in communications
systems. The serial encoding can also be used to store ODA on such media as floppy discs.
The serial encoding of ODA is called the ODA Interchange Format, or ODIF.
The ISO version of the ODA standard defines two interchange formats, the CCITT only one.
If we look at the ISO interchange format first, this format employs an international standard
for the implementation independent specification of interchange data. This is the ISO
standard Abstract Syntax Notation One, or ASN. 1. ASN. 1 incorporates a formal language
for specifying the required syntax (the notation), and includes within this formal specification
information about the detailed encoding. This standard is already extensively used by the ISO
Open Systems Interchange set of standards for defining communications protocols.
The second interchange format, which appears only in the ISO version of ODA, uses the ISO
Standard Generalized Markup Language (SGML). SGML was originally developed for the
publishing industry but has been defined such that it can be used, as in the ODA case, for
encoding information for data interchange. The two encoding formats for ODA have been
designed such that for each construct in the ASN. 1 format there is an equivalent in the
SGML format. This makes the conversion from one format to the other a simple matter.
As this series of articles may suggest the ODA standard is necessarily complex to provide for
its general applicability to all classes of document. Recognising this, the ODA standard
specifies how to form subsets of the total set of features for use by implementations servicing
different levels of user requirements. These subsets are termed document application profiles,
abbreviated to, DAPs.
Special considerations are required to use ODA for interworking between products designed
independently of ODA. Whilst the products have their individual techniques for internally
representing features such as page headings, section numbering and footnotes, ODA has a
powerful and generalised architecture for describing the properties underlying those features.
The ODA standard does not itself standardize particular constructions such as sections,
paragraphs or footnotes.
Globally, a family of standard application profiles for the use of ODA is being developed
within the CCITT and by a collaboration of the regional OSI workshops of Europe, North
America and the Pacific Rim. This group is known as the Profile Alignment Group for ODA,
PAGODA. The CCITT and PAGODA propose to align their ODA DAPs into a set suitable
for global document interchange. These DAPs will become FOD profiles (from the ISO
profile classification Format/Office/Document) and will be ratified by ISO as Internationally
Standardised Profiles, ISPs.
These profiles have various names. However, they fall into three functional bands or levels. I
do not intend to go into the full details of these profiles but present in this article their general
functional description and the terminology used by the standards bodies responsible for their
development.
This profile provides for the interchange of documents containing character content
only between basic word processing systems.
• Level 3 : PM36/FOD36/Q113
This profile provides for the interchange of documents between advanced office
systems such as desk top publishing systems and future sophisticated multi-media
document processors. It has all the features of level 1 and 2 profiles but is intended to
support more complex logical and layout structures such as required by Computer
aided Acquisition and Logistics Support, CALS.
These profiles are hierarchically related. This means that the capabilities of level 1 are
included in level 2 and those of level 2 in level 3. A system supporting one of these levels of
profile should also be capable of supporting documents at the lower profile levels.
There is one other application profile under development in Europe, Q121. This has been
progressed to an ENV by CEN/CENELEC. It is a layout independent application profile
intended to support the interchange of simple character text messages. It support features
such as paragraphs and varying indentations. Q121 is not hierarchically related to the other
three application profiles.
Conclusion
Already several major manufacturers have included ODA in their office systems products.
Many more will follow. ODA is an evolving standard and already enhancements are planned
to extend its capabilities to encompass the demands of future systems. These enhancements
include, colour, hyper documents, audio, security and many others. The last enhancement,
security, is perhaps the most misunderstood, especially how it can be applied to electronic
office systems so they can replace their paper counterparts. But that, as they say, needs to be
the subject of a separate article!