Inhaltsverzeichnis
Um ein qualitätssicheres Arbeiten zu gewährleisten, wird ein Regelwerk benötigt, nach dem die XML-Dokumente aufgebaut werden müssen. Dieses Regelwerk wird in Form einer Document Type Definition (DTD) bereit gestellt. Darin werden alle vorgesehenen Elemente und Attribute mit ihren möglichen Positionen, Ausprägungen und Vorkommen genau definiert.
Die pagina DTD ist medienneutral aufgebaut und berücksichtigt dabei die Anforderungen von Buchproduktionen. Dadurch bedingt entstehen Strukturen, die sich nur eingeschränkt für die Bearbeitung in Adobe InDesign eignen.
Die pagina Light-DTD für die Arbeit mit dem pagina XML-Plugin verfolgt das Ziel, eine XML-Datenstruktur bereitzustellen, mit der innerhalb von Adobe InDesign komfortabel gearbeitet werden kann. Strukturänderungen und Attribute müssten sonst in Adobe InDesign mühsam über die Strukturansicht durchgeführt werden. Diese Arbeitsschritte sollen möglichst minimiert werden.
Dies bezieht sich im Wesentlichen auf die folgenden generellen Punkte:
Verflachung der Strukur
Auflösung der meisten Container-Elemente
Attribute werden über Elemente abgebildet bzw. für das Roundtripping erhalten
Generell gilt dabei:
Alle Elemente mit @typ
-Attributen werden in der Light-DTD mit eigenen XML-Elementen umgesetzt, d.h. <einschub typ="1">
wird zu <einschub1>
.
Überschriften und Listen werden aus ihren Containern befreit und in einfache Blocklevel-Elemente gewandelt.
Bsp.: Einschub 1 pagina DTD
<kapitel> <einschub typ="1"> <abs>Einschub 1 Absatz 1</abs> <abs>Einschub 1 Absatz 2</abs> <abs>Einschub 1 Absatz 3</abs> </einschub> </kapitel>
Bsp.: Einschub 1 pagina Light-DTD
<kapitel> <einschub1 px_position="first">Einschub 1 Absatz 1</einschub1> <einschub1>Einschub 1 Absatz 2</einschub1> <einschub1 px_position="last">Einschub 1 Absatz 3</einschub1> </kapitel>
Bsp.: u1 pagina DTD
<kapitel> <u-block1> <u-vor>u-vor in u1</u-vor> <u1> <u-zaehler>1.</u-zaehler> <u-text>Kapitel</u-text> </u1> <untertitel>Untertitel zur u1</untertitel> </u-block1> </kapitel>
Bsp.: u1 pagina Light-DTD
<kapitel> <u1_u-vor>u-vor in u1</u1_u-vor> <u1><u-zaehler>1.</u-zaehler> Kapitel</u1> <u1_untertitel>Untertitel zur u1</u1_untertitel> </kapitel>
Dieser Aufbau hat den Nachteil, dass Strukturinformationen von Containerelementen verloren gehen könnten, da diese Informationen am ersten Kindelement des jeweiligen Containers durch Adobe InDesign "hindurchgeschleust" werden müssen. Teilweise kann nicht die volle Komplexität der pagina DTD abgebildet werden.
Anhand der Fehlermeldungen bei der Transformation wird ersichtlich, ob die Dateien eindeutig transformierbar sind (Siehe Import).
Zur besseren Übersicht werden in diesem Dokument die Bezeichnungen
Light-DTD für die pagina Light-DTD
pagina DTD für die normale pagina DTD
verwendet.
Beim Import der XML-Light mit dem pagina XML-Plugin wird automatisch die jeweilige Light-DTD importiert. So kann die XML-Struktur innerhalb von Adobe InDesign jederzeit auf ihre Gültigkeit überprüft werden. Da die DTD aufwärtskompatibel zur pagina DTD ist, ist sichergestellt, dass die Dokumente wieder in valide pagina XML-Instanzen überführt werden können.
Da die Light-DTD nicht die volle Komplexität der pagina DTD abbilden kann, kann es bei der Transformation zu Datenverlusten kommen. Diese werden durch Fehlermeldungen während der Transformation dokumentiert. Die abschließende Rückwandlung der validen, exportierten XML-Daten in pagina-XML nach dem Beenden der Satzarbeiten zurück zur pagina DTD stellt dagegen kein Problem dar.
Das Wurzel-Element der Light-DTD lautet zur einfachen Unterscheidung der beiden Instanzen <projekt_indd>
. Im Gegensatz zur pagina DTD beinhaltet <projekt_indd>
als einziges Kindelement lediglich <werk>
. Das Element <projekt_indd>
beinhaltet verschiedene Attribute, die zur Steuerung des Imports bzw. für die pagina XML-Plugin-Funktionen benötigt werden.
Da die Metadaten für Satz kaum Bedeutung haben und innerhalb von Adobe InDesign nur schwer zu pflegen sind, werden sie während der Transformation "pagina-2-light Transformation (für InDesign)" in eine "_LIGHT_META.xml"-Datei ausgelagert. Diese Datei mit den ausgelagerten Metadaten kann beim Export der XML-Datei mit dem pagina XML-Plugin wieder referenziert werden.
Die Kindelemente von <werk>
sind identisch zur pagina DTD. Auch hier erfolgt eine Aufteilung in <titelei>
-, <vorspann>
-, <hauptteil>
-, <nachspann>
-Elemente. Die Attribute @distinctElementStart
bzw. @distinctElementEnd
werden für die Auswertung der Elemente in Adobe InDesign benötigt.
Die Verflachung der Elemente wird vor allem bei der Umsetzung von Attributen deutlich. Das Attribut @typ
(zum Beispiel in Kombination mit den Elementen <einschub>
, <infokasten>
usw.) wird mit dem dazugehörigen Element zu einem neuen Element verbunden. So wird <einschub typ="1">
in der Light-DTD zu <einschub1>
.
Einschübe bis <einschub typ="10">
werden in der Light-DTD genau wie Absätze als Blocklevel-Elemente umgesetzt.
Infokästen bis <infokasten typ="4">
können in der Light-DTD die Elemente <u-zwischen>
, <abs>
, <liste_geordnet>
, <liste_ungeordnet>
und <leerzeile>
enthalten. Ein <abs>
in einem <infokasten typ="1">
wird in der Light-DTD bspw. zu <infokasten1_abs>
, <u-zwischen typ="1">
, <u-zwischen typ="2">
, <u-zwischen typ="3">
in einem <infokasten typ="3">
wird in der Light-DTD zu <infokasten3_u-zwischen1>
, <infokasten3_u-zwischen2>
, <infokasten3_u-zwischen3>
. Die Elemente <liste_geordnet>
, <liste_ungeordnet>
und <leerzeile>
in einem Infokasten bleiben unverändert.
Das Element <einschub_vor>
ist in der Light-DTD nicht vorgesehen, möchten Sie dennoch einen Einschub vor eine Überschrift setzen, wird dieser zu einem normalen <einschub1>
transformiert. Hier muss darauf geachtet werden, dass kein einfacher Einschub mit dem gleichen Typ verwendet wird.
Ebenso wird mit Listen verfahren, auch sie werden als Blocklevel-Elemente behandelt. In der Light-DTD sind jeweils drei geordnete und drei ungeordnete Listen möglich. Manuelle Listen
<liste_manuell>
sind seit der Version 2.4 in der Light-DTD möglich. Ein Listenpunkt darf ein oder mehrere Absätze beinhalten.
Beginnt ein Absatz mit einer Initiale und ist daher in der pagina DTD mit <abs>
<inititale>
T</initale>
estinhalt</abs>
ausgezeichnet, erhält diese Formatierung in der Light-DTD ein eigenes Element und wird zusammengefasst zu <abs_initiale>
Testinhalt</abs_initiale>
. In den Absatzformatoptionen "Initialen und verschachtelte Formate" kann die Anzahl der Zeilen und die Anzahl der Zeichen, die die Initiale umfassen soll, angegeben werden.
Folgt ein Absatz
<abs>
nach Überschriften, Leerzeilen, Infokästen, Einschüben, Listen oder Tabellen, wird dieser in der Light-DTD automatisch mit dem Element <abs_ohne_einzug>
und dadurch bereits beim Import typografisch korrekt gesetzt. Ob im Layout ein Erstzeileneinzug gewünscht ist oder nicht, muss bei der Einrichtung der Absatzformatoptionen eingestellt werden.
Das Überschriftenmodell wird in der Light-DTD deutlich vereinfacht. Statt der Blockstruktur aus der pagina DTD werden die Inhalte dieser Elemente in Adobe InDesign unter <u1>
bis <u7>
zusammengefasst. Die bei <u-block>
-Elementen möglichen <u-vor>
- und <untertitel>
-Elemente werden verflacht und heißen dann <u1_u-vor>
bzw. <u1_untertitel>
.
Für <u-zwischen>
-Elemente sind in der Light-DTD drei Typen vorgesehen (<u-zwischen1>
bis <u-zwischen3>
).
Auch Inline-Elemente werden zusammengefasst: War eine Textstelle in der pagina DTD mit den beiden Tags <fett>
und <kursiv>
getaggt, entsteht daraus in der Light-DTD das zusammengesetzte Element <fett_kursiv>
. Da Adobe InDesign nicht über die Möglichkeit verfügt, einem Textabschnitt mehrere Zeichenformate zuzuweisen, wird über diese Methode ein neues Zeichenformat mit kombinierten Formatierungsattributen definiert und anschließend über das Plugin automatisch zugewiesen. Die Zeichenformatoptionen in den automatisch generierten Zeichenformaten müssen anhand der Satzvorgabe vorgenommen werden.
Für alle Textauszeichnungen, die nicht über die normalen Inline-Elemente (<kursiv>
, <fett>
, <hoch>
, <durchgestr>
, ... ) abgebildet werden können, gibt es die Möglichkeit diese Texte über sogenannte Inline-Joker-Elemente zu taggen.
Während die pagina DTD die manuelle (Um-)Platzierung von Abbildungen ohne Verschieben der Quellangaben erlaubt, müssen die Abbildungen in der Light-DTD bereits an der richtigen Stelle im Text platziert sein. Die Konstruktion mit <abb_aufruf>
wird in der Light-DTD nicht unterstützt. Für die Positionierung von Abbildungen innerhalb eines Absatzes kann das Element <abb_inline>
verwendet werden.
Für Infokästen sind vier Typen vorgesehen (<infokasten1>
bis <infokasten4>
). Sie werden als Objektformate sowie entsprechende Absatzformate umgesetzt. Infokästen enthalten in der Light-DTD als Kindelemente nur Absätze, Leerzeilen, Listen und <u-zwischen>
-Elemente.
Die Elemente <inhaltsverzeichnis>
und <index>
entfallen vollständig. Deren Inhalte können in Adobe InDesign sowie im EPUB automatisch generiert werden.
<fussnote>
-Elemente der pagina DTD werden in der Light-DTD mit Hilfe der Adobe InDesign-Fußnotenfunktion umgesetzt. Beschränkungen bei den Fußnoten ergeben sich aus den Möglichkeiten der Adobe InDesign-Fußnotenfunktion. So sind z.B. nur bestimmte Nummerierungen bei den Fußnotenzeichen möglich, Adobe InDesign-Fußnoten können keine XML-Elemente enthalten, Fußnoten in Tabellen sind nicht möglich.
<endnote>
-Elemente der pagina DTD werden in der Light-DTD über <endnote-aufruf>
und <endnote>
-Elemente umgesetzt. Je nach Auswahl beim Import werden die <endnote>
-Elemente in einem <endnoten_container>
am Ende des Buchs oder am Ende der U1-Kapitel umgesetzt. Endnoten sind nur im <hauptteil>
möglich. Zur Arbeit mit Endnoten stehen eigene pagina XML-Funktionen zur Verfügung.
Marginalien werden in der Light-DTD nicht unterstützt. Auch die Semantikmodule werden für den XML-Satz mit Adobe InDesign nicht umgesetzt und ihre Inhalte bei der Transformation zur Light-DTD verworfen.
In der Light-DTD sind externe und interne Verweise möglich. Bei den internen Verweisen ergeben sich immer dann Einschränkungen, wenn der Verweis oder das Verweisziel aufgrund der Verflachung der XML-Struktur nicht in der Light-DTD umgesetzt werden kann.
Konstruktionen, die nicht in die Light-DTD übernommen werden können, führen während der Transformation zu Fehlermeldungen unterschiedlicher Schweregrade. Diese müssen ausgewertet und entsprechende Lösungswege gefunden werden. Eine ausführliche Beschreibung des Konvertierungsprozesses erhalten Sie in dem Abschnitt Import.