Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

18.04.1986 - 

Bürodokumentarchitektur: Standard ECMA 101 und Stand der Normung (Teil 2)

Layout: Objekttyp bestimmt Zuordnung der Attribute

In den internationalen Gremien wurde ein Dokumentarchitektur-Modell entwickelt und davon eine Familie von Dokumentaustauschformaten abgeleitet. Beides wurde als ein erster Standard bereits von der ECMA verabschiedet. Andere Gremien, wie ISO, DIN und CCITT, entwickeln den Standard innerhalb der abgesegneten Rahmenbedingungen weiter. In Teil 1 dieser Serie wurden zunächst die Layoutstruktur der Office Document Architecture, ODA, und deren Objekttypen gezeigt. Dieser Teil geht bereits auf Details ein: Im ECMA-Standard sind immerhin 40 verschiedene Attributtypen definiert. Auch die Bearbeitung von Dokumenten ist anhand eines Modells beschrieben. Der Vorgang besteht aus drei unterschiedlichen Prozessen: dem Editieren, dem Layouten und dem Darstellen.

Der Inhalt eines Dokuments kann verschiedener Art sein, zum Beispiel Text, geometrische Grafik, Fotos und so weiter. Für jede solche Art von Inhalt gibt es eine entsprechende Content Architecture, die den Aufbau, inhaltsinterne Struktur, Steuerzeichen, Codierung und so weiter definiert. Diese Content Architectures sind nicht Bestandteil der Dokumentarchitektur, aber die Dokumentarchitektur bietet eine einheitliche Schnittstelle zu den Content Architectures (Bild 4). Damit ist es möglich, weitere Content Architectures zuzulassen, ohne die Dokumentarchitektur zu ändern.

Den Objekten beider Strukturen können Attribute zugeordnet sein, die die Eigenschaften dieser Objekte beschreiben. Jedes Attribut ist von einem bestimmten Attributtyp, der die Semantik des Attributs festlegt, zum Beispiel die Dimension, und hat einen Wert, der dann entsprechend interpretiert wird, zum Beispiel als die Maße der Dimension. Es hängt vom Typ des Objekts ab, welche Attribute ihm zugeordnet werden können. Attribute vom Typ "Dimension" können an Objekten vom Typ Page, Frame oder Block hängen, Attribute vom Typ "Position" dagegen nur an Objekten vom Typ Frame oder Block. Insgesamt sind im Standard zirka 40 verschiedene Attributtypen definiert.

Um die Bearbeitung eines Dokuments möglichst komfortabel zu ermöglichen, wird neben der Information zur Beschreibung des Dokuments auch Information über die Bearbeitung des Dokuments mit ausgetauscht (Krö 84). Im Architekturmodell heißt das, daß ein Dokument als ein Exemplar einer Dokumentklasse betrachtet wird, die in der Document Class Description beschrieben wird. Diese besteht aus den drei Komponenten Generic Logical Structure, Generic Layout Structure und Document Style (Bild 5).

Die Generic Logical Structure beschreibt alle logischen Strukturen, die im Sinne der Dokumentklasse korrekt sind. Sie besteht aus einer Menge von Logical Object Class Definitions, so daß jedes Objekt der logischen Struktur als ein Exemplar einer solchen Klasse verstanden wird. Der Standard legt diese Klassen nicht fest, sondern stellt Mittel zur Verfügung, um solche Klassen zu beschreiben. Beispiele für solche Klassen sind "Kapitel", "Überschrift ", "Fußnote ", "Zusammenfassung", "Datum" und so weiter.

Eine Logical Object Class Description enthält im wesentlichen eine Construction Rule, die angibt, aus welchen untergeordneten Objekten ein Objekt aufgebaut werden kann. Sie ist vergleichbar mit einer Produktion einer kontextfreien Grammatik Daneben enthält die Class Description Ausdrücke, die festlegen, wie die Attributwerte eines erzeugten Exemplars dieser Klasse zu berechnen sind.

Beim Erzeugen eines Exemplars kann auch automatisch Inhalt mit Hilfe von Generic Content Portions erzeugt werden, zum Beispiel der vordefinierte Inhalt eines Standardabsatzes oder ein Leerformular.

Der Document Style legt fest, wie Inhalt und zulässige logische Struktur abzubilden sind auf eine der zulässigen Layoutstrukturen der Dokumentklasse. Ein Layout Style ist eine Gruppe von Attributen, die den automatischen Erzeugungsprozeß der Layoutstruktur steuern. Ein Presentation Style ist eine Gruppe von Attributen, die die Attributwerte für die Darstellung von Layoutobjekten liefern. Ein Attribut der ersten Gruppe ist zum Beispiel Offset, das die minimalen Abstände eines erzeugten Blocks zu dem umgebenden Frame festlegt. Attribute des Presentation Style sind zum Beispiel Schrifttyp, Zeilenabstand und so weiter; diese Attribute steuern nur das Formatieren von Inhalt innerhalb eines Blocks. Layout Styles wie auch Presentation Styles hängen an Logical Object Class Descriptions. Die in Layout Styles enthaltenen Attribute können auf Layout Object Class Definitions verweisen.

Bild 6 zeigt zusammenfassend nochmals, wie ODA ein Dokument betrachtet und es schließlich auch beschreibt.

Dokumentbearbeitungsmodell zeigt Abläufe

Das Dokumentbearbeitungsmodell zeigt, welche Komponenten der Architektur welche Abläufe steuern oder beeinflussen. Wie Bild 7 zeigt besteht dieses Modell aus drei Prozessen: dem Editierprozeß, dem Layoutprozeß und dem Darstellungsprozeß.

Die Reihenfolge der Prozesse in dem Bild bedeutet jedoch nicht, daß sie in einer Implementierung streng sequentiell ablaufen müssen, was einem Batch Processing entsprechen würde. In einem interaktiv formatierenden Editor laufen sie zyklisch ab.

Beim Editierprozeß ist zu unterscheiden zwischen dem Bearbeiten der logischen Struktur und dem Bearbeiten des Inhalts. Es können nur logische Strukturen erzeugt werden, die aus der Generic Logical Structure produzierbar sind.

Der Layout-Prozeß besteht ebenfalls aus zwei kooperierenden Prozessen, nämlich dem Erzeugen der Layoutstruktur und dem Formatieren des Inhalts in Blöcke. Diese beiden Prozesse arbeiten nach der Art von Co-Routinen zusammen. Das Grundprinzip des Layoutprozesses besteht darin, daß der logische Strukturbaum in Preorder durchlaufen wird und dabei versucht wird, einen gemäß der Generic Layout Structure zulässigen Layoutstrukturbaum ebenfalls in Preorder zu erzeugen Dieser Erzeugungsprozeß wird durch die Layout Styles gesteuert, die unter anderem angeben, welche Layoutobjekte für welche logischen Objekte zu erzeugen sind. Auch durch das Formatieren des Inhalts in Blöcke können Anforderungen an den Erzeugungsprozeß gestellt werden. Die Presentation Styles sorgen schließlich für die weitere Besetzung von Layout-Attributen mit Werten.

Der Darstellungsprozeß kann ebenfalls auf Presentation Styles und auf die Generic Layout Structure, insbesondere auf Generic Content Portions, zugreifen.

Bild 8 zeigt auszugsweise die Dokumentklassendefinition des Beispieldokuments. Das Attribut generator-for-subordinates von letter layout legt fest, daß die Layoutstruktur aus einer first page und einer Folge von other pages besteht. Das Attribut layout-object-class von letter bestimmt, daß ein Exemplar von letter, das heißt also die logische Struktur eines Geschäftsbriefes, abzubilden ist in die Layoutstruktur, die aus einem Exemplar von letter layout produziert werden kann. Das Attribut layout-category = A von salutation, paragraph und signature drückt aus, daß der Inhalt solcher Exemplare in Exemplare von Layoutobjektklassen zu formatieren ist, die das Attribut permitted-categories = A haben, das heißt in dem Beispiel in Exemplare von body frame 1 oder body frame 2. Diese Objektklassen haben außerdem das Attribut object-path = top-down, das festlegt, daß während des Layoutprozesses der erste Block in einem solchen Frame oben im Frame zu bilden ist und von da sollen sich die Blöcke nach unten fortsetzen. Wie sich Blöcke in einem Frame bilden, wird durch die Attribute Offset und Separation gesteuert. Offset gibt den minimalen Abstand zum umgebenden Frame nach oben, unten links und rechts an. Der Wert von 3000 bei signature legt fest, daß der Block für die Unterschrift vom linken Rand des umgebenden Frame 300 BMUs (Basic Measurement Unit) ist (1 MBU = 1/1200 Zoll). Separation gibt den Abstand zwischen den Blöcken an, und zwar zum nachfolgenden Block, zum vorhergehenden Block und zwischen Blöcken, die sich in Richtung von object-path bilden, und solchen, die sich engegengesetzt dazu bilden, wie zum Beispiel Blöcken für Fußnoten. Man sieht zum Beispiel, daß der Abstand zwischen einem Block, der eine salutation enthält, und einem Block, der einen paragraph enthält, mit 400 BMUs doppelt so groß ist wie der Abstand zwischen zwei "paragraph-Blöcken".

Für eine genauere Beschreibung der Attribute sei auf die Quellen (ECMA 85, ISO 85) verwiesen.

Inhaltsarchitekturen

In /ISO 86/ ist eine Character Content Architecture und eine Raster Graphics Content Architecture definiert. Vorbereitet wird gegenwärtig eine Geometric Graphics Content Architecture in der ECMA.

Content Architectures übernehmen von der Dokumentarchitektur die Presentation Attributes, wie zum Beispiel Schriftttyp, Zeilenabstand und so weiter für die Character Content Architecture. Innerhalb des Contents können einige dieser Attribute durch Control Characters geändert werden, das heißt der Schrifttyp kann zum Beispiel durch ein entsprechendes Steuerzeichen innerhalb einer Content Portion gewechselt werden.

So wie der Inhalt eines Dokuments durch die logische und die Layoutstruktur gegliedert ist, gibt es auch im Content die Logical Control Functions, die Layout Control Functions und die Shared Control Functions, die sowohl aus logischer als auch aus Layout-Sicht von Bedeutung sind. Diese Unterteilung ist vor allem wichtig im Hinblick auf die Familie von Dokument-Austauschformaten, die in der nächsten Folge beschrieben werden. wird fortgesetzt