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.
ODA is a new class of document interchange standard. It is a so called "revisable" form standard. That is, it has been designed to transfer documents between applications such as word processors so that they can continue to be edited without loss of functionality. This property contrasts it with "final" form formats such as PostScriptR. These can be used to represent the image of a document for printing or display. As you will see from these articles, ODA provides both revisable and final form capabilities for open interchange of documents in a single standard under the control of worldwide authorities.
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.
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.
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.
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.
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.
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.
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.
ODA defines three distinct types of content. These are:
For each type of these three types of content the standard definesthe following:
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.
This profile provides for the interchange of multi-media documents containing character, geometric and raster graphics content between integrated office document processing systems.
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.
That concludes my series of articles giving an overview of ODA.
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!
Peter J Robinson PJR Consultants 4 Wrensfield Marlow Bucks SL7 2RB UK
$Id: oda.html 1.3 1995/07/12 23:38:47 thb Exp thb $