Die Architektur von DITA

(Auszug aus "DITA - Der neue Standard für Technische Dokumentation" von Johannes Hentrich)

Die bestimmenden Maßstäbe für die Entwicklung von DITA führten zur Errichtung einer Architektur, die aus folgenden Bausteinen besteht:

  • Informationsobjekte, die Inhalte erfassen und kennzeichnen können. Dazu gehören in DITA die Topics und die Domains.
  • Informationsstrukturen, die Informationsobjekte und Inhalte organisieren können. Dazu gehören in DITA die Maps, der conref-Mechanismus und die Segmentierung von Informationen (chunking).
  • Informationsstrukturen, die Inhalte verarbeiten können. Dazu gehört in DITA die bedingte Verarbeitung (conditional processing).
  • Prozeduren, die bestehende Informationsstrukturen und Informationsobjekte erweitern oder zusammenführen können. Hier findet sich die Spezialisierung wieder, aber auch der umgekehrte Mechanismus der Generalisierung und die Möglichkeit einer Integration.

In den folgenden Abschnitten werden die einzelnen Komponenten genauer vorgestellt.

Topics

Wie bereits erwähnt, ist das Topic das zentrale Informationsobjekt in DITA, in dem Informationen erfasst und gespeichert werden. Das wesentliche Merkmal eines Topics besteht darin, dass die darin enthaltenen Informationen in sich abgeschlossen sind. Topics können damit unabhängig voneinander erstellt
werden, was bedeutet, dass jedes einzelne Topic für sich genommen zunächst einmal keinen Kontext zu anderen Topics aufweist.

Generell gilt die Regel, dass ein Topic eine Frage beantwortet. Welche Frage beantwortet wird, entscheidet in DITA der Topictyp. Standardmäßig stellt DITA fünf Topictypen zur Verfügung:

  • Generisches Topic: Der Basistyp für alle anderen Topictypen und der Container, in den alles geschüttet werden kann, wenn die folgenden vier Topictypen nicht ausreichen und keine weiteren Topictypen durch Spezialisierung erzeugt worden sind. Die Frage, die in einem generischen Topictyp gestellt wird, ist nicht auf einen bestimmten Inhalt hin ausgerichtet, sodass dieser Topictyp als Container betrachtet werden kann. Dennoch sollte eine Frage innerhalb eines Topics beantwortet werden können.
  • Konzept: Dieser Topictyp wird verwendet, wenn Konzepte, Begriffe usw. beschrieben werden sollen. Im Topictyp „Aufgabe“ wird die Frage gestellt: „Was ist ...?“ Der Topictyp „Konzept“ ist eine Spezialisierung des generischen Topics.
  • Glossar: Dieser Topictyp wurde in DITA 1.1 hinzugefügt. Über den Topictyp „Glossar“ können Begriffsdefinitionen in die Technische Dokumentation mit aufgenommen werden. Beim Topictyp „Glossar“ wird die Frage gestellt: „Was bedeutet ...?“ Der Topictyp „Glossar“ stellt eine Spezialisierung des Topictyps „Konzept“ dar.
  • Aufgabe: Die in der Technischen Dokumentation oft verwendeten Handlungsanweisungen finden in diesem Topictyp ihren Platz. Die Frage „Wie kann ich ...?“ oder „Wie mache ich ...?“ wird im Topictyp „Aufgabe“ beantwortet. Auch dieser Topictyp stellt eine Spezialisierung des generischen Topics dar.
  • Referenz: Tabellen, Parameterlisten usw. werden in diesem Topictyp abgelegt. In einem Topictyp „Referenz“ werden Fragen beantwortet wie „Welche Werte hat ...?“ oder „Welche Eigenschaften hat ...?“ Ebenso wie die Topictypen „Konzept“ und „Aufgabe“ ist dieser Topictyp auch eine Spezialisierung des generischen Topictyps.

Die folgende Abbildung zeigt, wie die einzelnen Topictypen miteinander in Beziehung stehen. Beim Topictyp „Glossar“ erkennt man, dass es als einziger Topictyp eine „Ahnenreihe“ von zwei Topictypen aufweist.

Die fünf Topictypen von DITA

Abbildung: Die fünf Topictypen von DITA.

Weitere Topictypen können über den Mechanismus der Spezialisierung erstellt werden. Schon hier sei darauf hingewiesen, dass die Spezialisierung eines Topics immer wieder ein Topic ergibt, das heißt, durch eine Spezialisierung eines Topics können keine anderen Informationsstrukturen als Topics erzeugt werden.

Topics erstellen und organisieren befasst sich ausführlich damit, wie Sie mit DITA die unterschiedlichen Topictypen erstellen können.

Domains

Domains enthalten thematisch zusammengefasste Elemente, mit denen Inhalte in Topics ausgezeichnet werden können. Die Domains existieren unabhängig von den Topictypen, womit eine Domain, und damit die Auszeichnung von Inhalten, ist nicht auf einen bestimmten Topictyp beschränkt.

Für die Auszeichnung von Inhalten stellt DITA etliche Elemente zur Verfügung, wie sie bereits aus HTML bekannt sind. Daneben existiert jedoch noch eine weitaus größere Anzahl von Elementen, die ein bestimmtes Themengebiet abdecken, sodass Inhalte nach ihrer Bedeutung, das heißt semantisch ausgezeichnet werden können.

Aufgrund der in DITA zur Verfügung stehenden Elementstruktur bietet sich für einen Technischen Redakteur mit HTML-Erfahrung der Vorteil, dass er bereits zahlreiche DITA-Elemente verwenden kann, ohne dass er sich näher mit deren Bedeutung vertraut machen muss. So wird Fettschrift in DITA ebenso wie in HTML mit <b> (bold) ausgezeichnet, oder für die Auszeichnung von Kursivschrift wird in das bekannte <i>-Element (italic) verwendet.

Darüber hinaus ist eine weitaus größere Anzahl an Elementen vorhanden, um Inhalte semantisch auszeichnen zu können. Da der Ursprung von DITA in der Software-Dokumentation liegt, enthalten die standardmäßig zur Verfügung gestellten Domains vor allem Auszeichnungen, wie sie benötigt werden, um Inhalte für die Software-Dokumentation auszeichnen zu können.

Folgende Domains stehen in DITA zur Verfügung:

  • indexing-Domain: In DITA 1.1 wurde die indexing-Domain hinzugefügt, um Indexeinträge auszeichnen zu können. Auch besteht mit den Elementen dieser Domain die Möglichkeit, auf andere Indexeinträge zu verweisen.
  • highlighting-Domain: Mit dieser Domain werden Elemente zur Verfügung gestellt, um Informationen im Text auszeichnen zu können, denen keine spezielle semantische Bedeutung zukommt. Damit nimmt diese Domain neben der utilities-Domain eine Sonderrolle ein, da sie die einzige Domain ist, deren Elemente ausschließlich zur typografischen Auszeichnung dienen. Die verwendeten Elemente sind größtenteils schon aus HTML bekannt wie beispielsweise das <b>-Element für die Auszeichnung von Inhalten in Fettschrift oder das <i>-Element zur Auszeichnung von Inhalten in Kursivschrift.
  • programming-Domain: Die Elemente der programming-Domain werden dazu verwendet, Inhalte auszuzeichnen, die typischerweise bei der Beschreibung von Programmiersprachen und deren Verwendung vorkommen. So können beispielsweise Code-Blöcke, Parameterlisten, Parameternamen usw. ausgezeichnet werden.
  • software-Domain: Mit den Elementen der software-Domain können Operationen von Softwareprogrammen ausgezeichnet werden, wie beispielsweise Meldungen, die ein Programm ausgibt.
  • user interface-Domain: Alle für den Benutzer eines Softwareprogramms sichtbaren Elemente, zum Beispiel Menüs oder Fensternamen, können mit den Elementen der user interface-Domain ausgezeichnet werden.
  • utilities-Domain: Die utilities-Domain enthält Elemente zur Auszeichnung von Inhalten, die sich weder für eine typografische noch für eine semantische Auszeichnung eignen. Die utilities-Domain enthält insbesondere Elemente, mit denen Bestandteile einer so genannten Image-Map ausgezeichnet werden können. Image-Maps sind aus HTML bekannt, wo sie dazu verwendet werden, interaktive Grafiken zur Verfügung zu stellen. Werden bestimmte Bereiche einer Grafik angeklickt, so wird ein entsprechender Link ausgeführt.
  • xNAL-Domain: Die Elemente der xNAL-Domain leiten sich von der eXtensible Name and Address Language ab, die ebenfalls unter der Schirmherrschaft von OASIS entwickelt wurde und dazu dient, Adressinforma-tionen zu speichern. Ebenso wurde die xNAL-Domain erst mit DITA 1.1 Bestandteil der Spezifikation und dient dazu, in Bookmaps Adressinformationen über die Autoren zu hinterlegen.

Maps

Um eine Ansammlung von Topics organisieren zu können, das heißt, sie in eine bestimmten Reihenfolge oder in einer Hierarchie ordnen zu können, stehen in DITA die bereits erwähnten Maps zur Verfügung. Maps bieten eine Möglichkeit, für Topics einen Kontext herstellen zu können.

Über eine Map wird festgelegt, welche Topics in ein Dokument aufgenommen und nach der Verarbeitung durch das DITA Open Toolkit im Ausgabemedium zur Verfügung stehen sollen.

Über Maps können zum Beispiel Topics für Online-Hilfen, Websites oder PDF-Dateien organisiert werden.

Mit einer Map werden Topics organisiert

Abbildung: Mit einer Map werden Topics organisiert.

Eine Map enthält nur Verweise zu den Topics. Damit ist eine Map eine Informationsstruktur, die das Wiederverwenden von Inhalten in DITA ermöglicht. Da Topics in einer Map referenziert werden, lassen sich Topics ohne Weiteres auch mehrmals in einer Map verwenden. Ebenso einfach kann ein Topic auch in unterschiedlichen Maps verwendet werden.

In einer Map können ebenso wie in Topics weitere Informationen, so genannte Meta-Daten, hinzugefügt werden, mit denen bei der Produktion eines Ausgabemediums bestimmte Kontexte berücksichtigt werden können. Diese Art der Verarbeitung durch das DITA Open Toolkit wird als bedingte Verarbeitung bezeichnet. Bedingte Verarbeitung befasst sich ausführlich mit der Verarbeitung von Topics und Maps durch das DITA Open Toolkit.

Mit DITA 1.1 wurde zusätzlich zu der Map die so genannte Bookmap eingeführt. Die Bookmap stellt eine Spezialisierung der Map dar. Die Bookmap liefert ein Raster, um Topics für Bücher organisieren zu können. Dabei wurden zum Beispiel Elemente für die Titelseite oder das Vorwort eingeführt.

Wie Sie Maps und Bookmaps erstellen können, erfahren Sie in Inhalte wiederverwenden mit Maps und conref.

conref-Mechanismus

Ebenso wie bei Maps können beim conref-Mechanismus Inhalte von Elementen referenziert werden. Während in Maps jedoch nur Topics und andere Maps referenziert werden können, erlaubt der conref-Mechanismus die Referenzierung beliebiger Inhalte.

Das dazu verwendete Element ist das conref-Attribut, dessen Bezeichnung sich aus content reference (Referenzierung von Inhalten) ableitet.

Mit dem conref-Mechanismus können folgende Informationsobjekte beziehungsweise Informationsstrukturen referenziert werden:

  • Topics
  • Elemente in Topics
  • Elemente in Maps

Obwohl der conref-Mechanismus eine einfache Struktur aufweist und leicht anzuwenden ist, erfordert seine Nutzung in der Praxis ein strenges Maß an Organisation und Verwaltung. Zum einen müssen die Topics und die Elemente, die über den conref-Mechanismus referenziert werden, in der Regel zentral abgelegt werden, damit alle Technischen Redakteure darauf zugreifen können. Zu anderen ist es erforderlich, den Bearbeitungsstand der Topics und Elemente zu kennzeichnen, um sicherzustellen, dass bei einer Produktion nur die „richtigen“, das heißt zum Beispiel die freigegebenen Topics und Elemente, verwendet werden.

Da mit dem conref-Mechanismus unter Umständen umfangreiche Datenmengen referenziert werden müssen, kann hier der Einsatz eines geeigneten
Content-Management-Systems oftmals unabdingbar werden.

Inhalte wiederverwenden mit Maps und conref zeigt, wie Sie den conref-Mechanismus anwenden können. Weitere Informationen zu Content-Management-Systemen erhalten Sie unter Content-Management.

Segmentierung von Informationen

Topics können entweder in einzelnen DITA XML-Dateien oder aber mehrere Topics können in einer DITA XML-Datei abgespeichert werden.

In der Praxis wird häufig ein Topic in einer Datei abgespeichert, um jederzeit einen möglichst einfachen Zugriff auf das Topic zu haben.

Mehrere Topics in einer DITA XML-Datei abzuspeichern kann jedoch beispielsweise dann zweckmäßig sein, wenn die Elemente in den einzelnen Topics über den conref-Mechanismus referenziert werden sollen. Dann nämlich sind alle Elemente in einer Datei zu finden. Auch können mehrere Topics in einer Datei gespeichert werden, wenn zum Beispiel thematisch zusammengehörende Topics zusammengefasst werden sollen.

Für die Erstellung einer Map ist es unerheblich, ob die Topics einzeln oder mehrere Topics in einer Datei gespeichert sind. Über das chunk-Attribut kann gezielt auf die Topics zugegriffen und geregelt werden, was mit den einzelnen Topics oder den Topics aus einer Datei bei der Verarbeitung geschehen soll. Entweder können Dateien mit vielen Topics in einzelne Dokumente aufgeteilt oder aber einzelne Topics können in einem gemeinsamen Dokument zusammengeführt werden. Das kann zum Beispiel dann erwünscht sein, wenn auf einer HTML-Seite für das Web mehrere Topics ausgegeben werden sollen.

Mit dem chunk-Attribut steht dem Ersteller einer Map eine weitere Möglichkeit der Steuerung zur Verfügung, wie Topics in den Ausgabemedien verteilt werden sollen.

Weitere Informationen zum chunk-Attribut erhalten Sie unter „Inhalte wiederverwenden mit Maps und conref“ im Abschnitt „Das chunk-Attribut“.

Bedingte Verarbeitung

Ein großer Bereich der DITA-Architektur befasst sich mit der Verarbeitung der DITA XML-Dateien. Die eigentliche Verarbeitung der DITA XML-Dateien erfolgt mit dem DITA Open Toolkit, das dafür sorgt, dass Ausgabemedien wie HTML, PDF usw. erzeugt werden können.

Die Verarbeitung von Topics erfolgt über Maps, das heißt, nur Topics, die in einer Map referenziert sind, werden für die Produktion des Ausgabemediums verwendet. Standardmäßig werden alle Inhalte aus den Topics verwendet, was bedeutet, es wird alles publiziert, soweit nichts anderes angegeben wird.

Darüber hinaus bietet DITA einen Mechanismus an, über den Inhalte ausgezeichnet und bei der Verarbeitung gefiltert und gekennzeichnet werden können. Die Auszeichnung der Inhalte beziehungsweise der Elemente und der darin enthaltenen Inhalte erfolgt über Attribute, deren Werte festlegen, ob die Inhalte einer bestimmten Zielgruppe, Produktversion usw. zugeordnet sind. Über spezialisierte Attribute, die so genannten Domain-Attribute, können weitere Merkmale festgelegt werden, um Inhalte zu klassifizieren.

Über eine so genannte ditaval-Datei, so benannt wegen ihrer Dateiendung, wird dem DITA Open Toolkit mitgeteilt, welche Methode bei der Verarbeitung der Inhalte angewendet werden soll. Neben dem Ausschließen, das heißt dem Filtern, können Inhalte noch markiert oder einfach durchgereicht werden. Dies kann zum Beispiel dann erwünscht sein, wenn die DITA XML-Dateien nach der Verarbeitung durch das DITA Open Toolkit noch durch ein anderes Programm weiterverarbeitet werden sollen.

Ausführliche Informationen zur ditaval-Datei und der bedingten Verarbeitung erhalten Sie in Bedingte Verarbeitung.

Spezialisierung

Mit fünf Topictypen, sieben Domains und zwei Maptypen stellt DITA in seiner standardmäßigen Ausführung ein solides Fundament dar, um erfolgreich Technische Dokumentation erstellen zu können. DITA ist jedoch nicht auf diese Informationsstrukturen beschränkt.

Mit dem Mechanismus der Spezialisierung bietet DITA ein Methode an, bestehende Informationsstrukturen zu ergänzen und zu erweitern. Folgende
Informationsstrukturen können in DITA spezialisiert werden:

  • Topics
  • Maps
  • Domains
  • Domain-Attribute

Werden Topics oder Maps spezialisiert, so spricht man von einer „strukturellen Spezialisierung“. Die Spezialisierung von Domains oder Domain-Attributen wird als „Domain-Spezialisierung“ bezeichnet.

Der Mechanismus hinter der Spezialisierung ähnelt dem Konzept der Vererbung, wie er aus der objektorientierten Programmierung her bekannt ist. Wird ein Topic spezialisiert, so erhält man wieder ein Topic. Spezialisiert man beispielsweise den Topictyp „Referenz“, erhält man wieder einen Topictyp, der etwas mit Referenzen zu tun hat, zum Beispiel eine API-Referenz oder eine Datenbank-Referenz.

Zwei Spezialisierungen des Topictyps „Referenz“

Abbildung: Zwei Spezialisierungen des Topictyps „Referenz“.

Ebenso verhält es sich mit Domains, Domain-Attributen und Maps. Wird eine Domain spezialisiert, erhält man wieder eine Domain. Das Gleiche gilt für Domain-Attribute und Maps.

Im Gegensatz zu der aus der objektorientierten Programmierung bekannten „Vererbung“ bedeutet eine Spezialisierung in DITA immer eine Eingrenzung der zu vererbenden Informationsstruktur. In der objektorientierten Programmierung hingegen kann eine Klasse die Eigenschaften einer anderen Klasse erben und es können dann noch zusätzliche neue Eigenschaften definiert werden. In DITA aber können mit einer Spezialisierung bestehende Informationsstrukturen nur modifiziert werden. Ein Topic bleibt nach einer Spezialisierung immer ein Topic. Und die dem spezialisierten Topic zugrunde liegende DTD stellt immer eine Einschränkung gegenüber der ursprünglichen DTD dar.

Technisch gesehen werden bei einer Spezialisierung nicht die bestehenden DTDs beziehungsweise die zugehörigen Moduldateien modifiziert, sondern es werden neue DTDs beziehungsweise Moduldateien erstellt. Häufig geschieht das dadurch, indem die bestehenden DTDs beziehungsweise die Moduldateien kopiert, mit einem neuen Namen versehen und anschließend modifiziert werden. Bei der Spezialisierung erhält man somit separate und unabhängige DTDs und Moduldateien, deren Verwendung und Verarbeitung unabhängig von den bereits vorhanden DTDs und Moduldateien erfolgt.

Ein wesentliches Merkmal der Spezialisierung ist, dass spezialisierte Informationsstrukturen, das heißt Topics, Maps oder Domains, mit den vorhandenen XSLT (Extensible Stylesheet Language Transformation)-Stylesheets des DITA Open Toolkits verarbeitet werden können, ohne dass die Stylesheets zunächst modifiziert werden müssen.

Somit treten bei spezialisierten DITA XML-Dateien keine Fehler im Produktionsprozess von Ausgabemedien auf. Spezialisierte DITA XML-Dateien können damit sofort verarbeitet werden. Dennoch ist eine Änderung der XSLT-Stylesheets des DITA Open Toolkits nachträglich immer möglich, wenn beispielsweise gewünscht wird, dass ein spezialisiertes Element eine besondere Formatierung in den Ausgabemedien erhalten soll.

Da bei einer Spezialisierung der DTDs beziehungsweise der Moduldateien eine Modifikation der weiterverarbeitenden XSLT-Stylesheets nicht zwingend erforderlich ist, erweist sich die Spezialisierung in der Praxis als sehr flexibel. So können beispielsweise bei einer Domain-Spezialisierung Inhalte sofort semantisch ausgezeichnet werden, ohne dass man sich zunächst darum kümmern muss, wie die ausgezeichneten Elemente in den Ausgabemedien formatiert werden sollen.

Spezialisierung befasst sich ausführlich damit, wie Sie Topics, Domains und Domain-Attribute spezialisieren können.

Generalisierung

Der umgekehrte Weg zur Spezialisierung wird bei der so genannten Generalisierung gegangen. Hier werden die spezialisierten Informationsstrukturen quasi aufgelöst, sodass man wieder die allgemeineren Informationsstrukturen erhält.

Eine Generalisierung kann für alle Informationsstrukturen durchgführt werden, das heißt für Topics, Maps, Domains und Domain-Attribute.

Spezialisierte Topicstypen zurückführbar auf ursprünglichen Topictyp

Abbildung: Spezialisierte Topicstypen können durch eine Generalisierung
wieder auf den ursprünglichen Topictyp zurückgeführt werden.

Eine Generalisierung kann beispielsweise dann sinnvoll sein, wenn zwei Spezialisierungen aufeinandertreffen und diese zur einer einzigen zusammengeführt werden sollen. Durch den Prozess der Generalisierung können zunächst bei den beiden Spezialisierungen die spezialisierten Informationsstrukturen aufgelöst werden. Dadurch ist es wieder möglich, Dokumente, die aus beiden Spezialisierungen stammen, zentral zu verarbeiten. Im nächsten Schritt könnten die allgemeinen Informationsstrukturen wieder spezialisiert werden, sodass nur noch eine Spezialisierung zur Anwendung kommt.

Im Abschnitt „Generalisierung“ wird gezeigt, wie Sie Topics und Domains generalisieren können.

Integration

Ein wesentliches Merkmal einer Spezialisierung liegt darin, dass die spezialisierten Elemente und Attribute in separaten Moduldateien definiert werden. Somit sind die spezialisierten Moduldateien unabhängig von den bereits vorhandenen Moduldateien, was zum einen die Wartbarkeit der Moduldateien erhöht, zum anderen auch dafür sorgt, dass die Modularität der Informationsstrukturen weiter fortgeführt wird.

Die bestehenden Moduldateien und die Moduldateien, die aus einer Spezialisierung entstanden sind, können über so genannte Mantel-DTDs (shell DTD) zu neuen Dokumenttypen kombiniert werden. Der Prozess des Zusammenführens wird als „Integration“ bezeichnet.

In Mantel-DTD können Moduldateien und Entity-Dateien integriert werden

Abbildung: In einer Mantel-DTD können bestehende und
neue Moduldateien und Entity-Dateien integriert werden.

Bei einer Integration wird also festgelegt, welche Topictypen und welche Domains in dem über eine Mantel-DTD definierten Dokumenttyp verwendet werden können. Es ist jedoch eine gewisse Vorsicht geboten, damit beispielsweise keine Moduldateien verschachtelt werden, was die Komplexität drastisch erhöhen würde.

Weiterführende Informationen zum Thema Spezialisierung und Integration erhalten Sie in Spezialisierung.

  

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema DITA bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © 2008 XLcontent Verlag
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "DITA - Der neue Standard für Technische Dokumentation" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

XLcontent Verlag, Pflegerstraße 40, 81247 München