# Darwin Information Typing Architecture

Die Darwin Information Typing Architecture (DITA) ist ein Dokumentenformat, ähnlich dem bekannten DocBook. DITA wird vom OASIS DITA Technical Committee als freie Architektur entwickelt und steht als Dokumenttypdefinition (DTD) kostenlos zur Verfügung. Das Format basiert auf XML: Im Gegensatz zu DocBook gibt es für DITA keine SGML-basierte Dokumenttypdefinition (DTD).
Nach der offiziellen Definition aus der Architekturspezifikation (nachstehend in deutscher Übersetzung) ist DITA
   „… eine Architektur, um themenorientierten, informationstypisierten Inhalt in Form einer einzigen Quelle (single source) zu erstellen, der in vielfältiger Weise wiederbenutzt werden kann. DITA ist auch eine Architektur, um neue Informationstypen zu erstellen sowie neue Informationsdomänen — basierend auf vorhandenen Typen und Domänen — zu beschreiben. Dies ermöglicht es Gruppen von Benutzern, sehr spezifische, zielgerichtete Dokumenttypdefinitionen zu erstellen, indem ein Spezialisierung genannter Prozess verwendet wird, bei dem die gemeinsamen Ausgabetransformationen und Gestaltungsrichtlinien für allgemeinere Typen und Domänen dennoch beibehalten werden.“

## Einführung

Der Name Darwin Information Typing Architecture kommt folgendermaßen zustande:
* Darwin – DITA verwendet Spezialisierung und Vererbung, analog zu Charles Darwins Ideen zur Entstehung der Arten.
* Information Typing – Informationseinheiten werden in DITA ihrem Inhalt nach typisiert.
* Architecture – DITA ist eine Architektur. Sie ist nicht nur einfach eine DTD, sondern beinhaltet auch Regeln für die Ableitung von neuen Informationseinheiten.
DITA ist eine XML-basierte Architektur für die Erstellung, Verteilung und Wiederverwendung von technischen Informationen. Die Architektur besteht aus einer Menge an Designregeln, die es erlauben, „typisierte“ Informationsmodule auf der Ebene sogenannter „Topics“ zu erstellen.
Ziel von DITA ist es, den „unique transclusion mechanism“ (siehe auch „Transklusion“) zu unterstützen, der im Rahmen einer DTD Verarbeitungsregel angegeben wird:
   „Ein Element kann sich selbst mit einem anderen, typgleichen Element ersetzen, das sich entweder im aktuellen Topic befindet oder in ein einem getrennten Topic, das dieselben Inhaltsmodelle verwendet. DITAs Transklusionsmechanismus ist ähnlich dem SGML-conref-Mechanismus, der ein leeres Element als Referenz auf ein anderes, nichtleeres Element verwendet. DITA erfordert jedoch zumindest ein minimales Inhaltsmodell für das referenzierende Element und führt während der Verarbeitung Prüfungen durch, um sicherzustellen, dass das ersetzende Element in seinem neuen Kontext gültig ist. Dieser Mechanismus geht über den Standardmechanismus XInclude hinaus, da Inhalt nur dann eingefügt werden kann, wenn er äquivalent ist: Wenn die Typen des wiederverwendenden (referenzierenden) und des wiederverwendeten (referenzierten) Elements voneinander abweichen, wird die Inhaltsreferenz nicht aufgelöst. DITAs Transklusionsmechanismus geht auch über den Standardmechanismus der Entitäts-Wiederverwendung hinaus, da sich der wiederverwendete Inhalt in einer XML-Datei mit einer DTD befinden kann. Das Endresultat ist, dass wiederverwertete Inhalte zum Zeitpunkt ihrer Erstellung validiert werden, statt zum Zeitpunkt der Wiederverwendung, und somit Probleme an ihrer Quelle gefunden werden.“

## Geschichte

Das Unternehmen IBM erstellte in den 90er-Jahren eigene komplexe SGML-DTDs (u. a. IBMIDDoc) für die Dokumentation seiner zahlreichen Produkte. Während der Weiterentwicklung entstand die Aufgabe, einen neuen Standard für technische Dokumentationen zu entwerfen, der ein hohes Maß an Wiederverwendung unterstützen sollte. Ein weiteres wichtiges Ziel war es, Anwendern die Möglichkeit zu geben, das Informationsmodell zu erweitern, ohne dadurch inkompatibel mit anderen DITA-konformen Anwendungen zu werden. Dabei wurden IBMIDDoc oder andere XML-DTD wie DocBook, TEI oder XHTML untersucht. Als Resultat entschied man, mit DITA ein neues Dokumentenformat zu entwickeln.
Am 3. Mai 2005 wurde DITA 1.0 von IBM an OASIS übergeben und als OASIS-Standard verabschiedet.
Im August 2007 wurde DITA 1.1 als OASIS-Standard verabschiedet. Zu den wesentlichen Neuerungen gehören u. a. die Bookmap-Spezialisierung und die Formalisierung der DITAVAL-Syntax zur Filterung von Inhalten.
Am 1. Dezember 2010 wurde die DITA-Spezifikation 1.2 als OASIS-Standard mit zahlreichen Neuerungen verabschiedet. Eine wesentliche Neuerung in dieser Version ist die indirekte Adressierung über einmalig definierte Schlüssel. Subject Scheme Maps ermöglichen es Attributwerte zu kontrollieren und Taxonomien zu modellieren. Der Constraint-Mechanismus und neue Elemente sollen die Anpassung des Inhaltsmodells erleichtern. Darüber erweitert diese Version den Standard um neue Mechanismen für die Wiederverwendung von Inhalten. Version 1.2 ergänzt das Inhaltsmodell um neue Spezialisierungen (Machinery Industry, Training).
Am 17. Dezember 2015 wurde die DITA-Spezifikation 1.3 als OASIS-Standard verabschiedet. Ab dieser Version unterstützt DITA Relax NG als normative Schemasprache. Die Version gruppiert die Spezifikation in drei aufeinander aufbauende Pakete: Base, Technical Content und All Inclusive. Die indirekte Adressierung wird um die Möglichkeit erweitert, einem Schlüssel mehrere verschiedene Werte zuzuweisen. Weiter führt diese Version den neuen Topic-Typen troubleshooting, sowie neue Domänen für Releasemanagement, MathML und SVG ein. Im Oktober 2016 wurde DITA V1.3 Errata 01 von OASIS verabschiedet.

## Eigenschaften und Hintergründe

DITA zeichnet sich vor allem durch folgende Eigenschaften aus:
* Themenzentrierung – Das höchste Abstraktionslevel von DITA ist das „Topic“ (dt. „Thema“). Weitere Strukturen, die oberhalb eines Topics angesiedelt sind, sind dann eher Informationen, die dem Prozess eines solchen Topics angehören. Beispielsweise könnte es sich dabei um die Navigation einer Hilfeseite handeln. Weiterhin sind Topics nicht mehr weiter geschachtelt. Für die Organisation von Topics bieten sich die „Sections“ (dt. „Abschnitte“) an, welche die Topics mit Inhalten versehen.
* Wiederverwendung – Ein Ziel von DITA ist die Reduktion von Redundanz und damit des Kopieraufwands von Informationen. Dabei können Informationen an mehreren Stellen verwendet werden, der Inhalt existiert jedoch nur einmal.
Definitionen:
* Topic: Ein Topic ist eine Informationseinheit, die durch Titel und Inhalt bestimmt wird. Diese Einheit muss knapp genug sein, um ein einzelnes Thema zu behandeln oder eine einzige Frage zu beantworten. Sie muss jedoch auch ausreichend genug sein, um allein sinnvoll stehen zu können und dabei allein weiterentwickelt zu werden.
* Map: Maps sind Dokumente, in denen einzelne Referenzen zu Topics sinnvoll gesammelt und organisiert sind. Sie bilden damit die logische Einheit und Klammer über bestimmte Topics. Sie können damit auch als Gliederung oder Inhaltsverzeichnis für DITA-Ergebnisse und somit als „build manifests“ für vollständige DITA-Projekte dienen.
* Spezialisierung: Die Spezialisierung erlaubt die Definition neuer „Informationstypen“ (“structural types” oder “new domains of information”). Dabei sollte jedoch der größte Anteil der Informationen wiederverwendet werden, damit die Kosten für Austausch, Migration und Wartung minimiert werden können.
* Integration: Jede Spezialisierung besitzt ihr eigenes Designmodul. Diese Module können in kombinierter Form wiederum weitere Dokumententypen generieren. Der Prozess der Erstellung neuer Dokumententypen aus der Kombination verschiedener Module wird „Integration“ genannt.
* Anpassung: Für den Fall, dass ausschließlich das Arbeitsergebnis (“output”) in unterschiedlicher Form benötigt wird, kann eine Anpassung von DITA verwendet werden. Damit wird die Ausgabe angepasst, ohne die Übertragbarkeit und den Austausch zu verschlechtern.

## Vorteile gegenüber und Vergleich mit DocBook

Im Vergleich zu DocBook gilt DITA als einfacher zu erlernen. Während DocBook eher als Vorlage für komplexe Bücher und Dokumentationen im Buchformat gedacht ist, verfolgt DITA das Ziel, technische Informationen als „Topics“ abzubilden, die in verschiedenen Kontexten weiterverwendet werden können. DITA verwendet darüber hinaus viele Elemente aus HTML.
Nachfolgend ein Vergleich:

### Vorteil von DITA gegenüber DocBook

* DocBook ist primär für die Erstellung und Auslieferung von Büchern gedacht, während DITA dagegen auf die Erstellung und Auslieferung auf „Topics“ fokussiert. Diese Topics können jedoch danach als Sammlung in Bücher übergehen oder verlinkt werden und damit als Hilfe-Informationen, Webseiten oder andere Formate dienen.
* DocBook ist strikt hierarchisch und stellt keine Mechanismen zur Verfügung, um Inhalt vom Kontext zu trennen. Dabei ist DITA wesentlich flexibler und kann kontextabhängige Informationen in verschiedenen Dokumenten gruppieren. DITA kann Topics mit jedem Level von definierter Struktur ablegen.
* DocBook ist eine feste Menge von Elementen und Attributen. DITA ist erweiterbar und kann auf die individuellen Bedürfnisse und Anforderungen angepasst werden: Spezialisierungsregeln definieren die Struktur von individuellen Informationstypen, die dabei auf die vorhandenen Standardelemente zurückgreifen können.

### Vorteil von DocBook gegenüber DITA

* DocBook wird seit mehr als zehn Jahren aktiv erweitert und ständig gepflegt.
* DocBook ist ausführlich dokumentiert und in vielen Praxisfällen erfolgreich getestet. Hilfestellungen der großen DocBook-Community sind überall verfügbar.
* DocBook unterstützt durch die „DocBook-Stylesheets“ bereits eine Vielzahl an Zielformaten wie Eclipse, EPUB, FO, HTML, HTMLHelp, Javahelp, Manpages, Webhelp und XHTML.
* Ab Version 5 stellt DocBook ein topic-Element bereit.
* Ab Version 5.1 (in Entwicklung) wird es ein assembly-Element geben (ähnlich einer Map in DITA), das die Wiederverwertung verbessert.