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 eines Schemas (XSD) bereitgestellt. Darin werden alle vorgesehenen Elemente und Attribute mit ihren möglichen Positionen, Ausprägungen und Vorkommen genau definiert.
Die parsX Schema 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 parsX Light-DTD für die Arbeit mit dem parsX 4 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 Struktur
Auflösung der meisten Container-Elemente
Attribute werden über Elemente abgebildet bzw. für das Roundtripping erhalten
Für Blockelemente werden Absatzformate generiert bzw. zugewiesen, die dem Namen des XML-Elements der Light-DTD entsprechen.
Für Elemente der Zeichenformatierung werden Zeichenformate generiert bzw. zugewiesen, die den Namen der XML-Elemente im parsX Schema entsprechen. Kombinationen von Elementen ("geschachtelte Elemente") der Zeichenformatierung werden im Zeichenformatnamen mit einem Unterstrich "_" zusammengesetzt. Diese Elemente sind nach dem XML-Import nicht mehr mit einem XML-Tag versehen, sondern werden über eindeutige Zeichenformatnamen abgebildet. Erst beim XML-Export werden diese Elemente wieder automatisch getaggt (anhand der im Zeichenformatnamen vorkommenden Namen, die einem XML-Elementnamen des parsX Schemas entsprechen).
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 ein Absatz innerhalb von <einschub typ="1">
in der Light-DTD zu <einschub1_abs>
.
Generell gilt dabei:
Alle Elemente mit @typ
-Attributen werden in der Light-DTD mit eigenen XML-Elementen umgesetzt, d.h. ein <abs>
innerhalb von <einschub typ="1">
wird zu <einschub1_abs>
.
Bsp.: Einschub 1 parsX Schema
<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 parsX Light-DTD
<kapitel> <einschub1_abs px_position="first">Einschub 1 Absatz 1</einschub1_abs> <einschub1_abs>Einschub 1 Absatz 2</einschub1_abs> <einschub1_abs px_position="last">Einschub 1 Absatz 3</einschub1_abs> </kapitel>
Ausnahme: Elemente mit semantischem @typ
-Joker werden in der Light-DTD mit einem eigenen XML-Element umgesetzt, bei dem sich der Name aus dem Namen des Elements und dem Attributwerts zusammensetzt. Zwischen Name und Attributwert steht ein Divis "(-)". Bspw. wird ein <abs>
innerhalb von <einschub typ="widmung">
zu <einschub-widmung_abs>
und z.B. <titelei_abs typ="impressum">
wird zu <titelei_abs-impressum>
.
Bsp.: Einschub "widmung" parsX Schema
<kapitel> <einschub typ="widmung"> <abs>Einschub 1 Absatz 1</abs> <abs>Einschub 1 Absatz 2</abs> <abs>Einschub 1 Absatz 3</abs> </einschub> </kapitel>
Bsp.: Einschub "widmung" parsX Light-DTD
<kapitel> <einschub-widmung_abs px_position="first">Einschub 1 Absatz 1</einschub-widmung_abs> <einschub-widmung_abs>Einschub 1 Absatz 2</einschub-widmung_abs> <einschub-widmung_abs px_position="last">Einschub 1 Absatz 3</einschub-widmung_abs> </kapitel>
Überschriften und Listen werden aus ihren Containern befreit und in einfache Blocklevel-Elemente gewandelt.
Bsp.: u1 parsX Schema
<kapitel> <u1> <vortitel>Vortitel in u1</vortitel> <titel> <zaehler>1.<zaehler> <text>Kapitel</text> </titel> <untertitel>Untertitel zur u1</untertitel> </u1> </kapitel>
Bsp.: u1 parsX Light-DTD
<kapitel> <u1_vortitel>u-vor in u1</u1_vortitel> <u1_titel><u1-zaehler>1.</u1-zaehler> Kapitel</u1_titel> <u1_untertitel>Untertitel zur u1</u1_untertitel> </kapitel>
Dieser Aufbau hat den Nachteil, dass Strukturinformationen von Container-Elementen 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 des parsX Schemas 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 parsX Light-DTD
parsX XSD für das parsX Schema
verwendet.
Beim Import der XML-Light mit dem parsX 4 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 zum parsX Schema ist, ist sichergestellt, dass die Dokumente wieder in valide parsX XML-Instanzen überführt werden können.
Da die Light-DTD nicht die volle Komplexität des parsX Schemas 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 parsX-XML nach dem Beenden der Satzarbeiten zurück in das parsX Schema stellt dagegen kein Problem dar.
Infokästen bis <infokasten typ="30">
können in der Light-DTD die Elemente <zwischentitel>
, <abs>
, <liste_geordnet>
, <liste_ungeordnet>
, <liste_manuell>
, <liste_definition>
und <leerzeile>
enthalten. Ein <abs>
in einem <infokasten typ="1">
wird in der Light-DTD bspw. zu <infokasten1_abs>
, <zwischentitel typ="1">
in einem <infokasten typ="3">
wird z.B. in der Light-DTD zu <infokasten3_zwischentitel1>
. Die Elemente <liste_geordnet>
, <liste_ungeordnet>
, <liste_manuell>
, <liste_definition>
und <leerzeile>
in einem Infokasten bleiben unverändert.
Ebenso wird mit Listen verfahren, auch sie werden als Blocklevel-Elemente behandelt. In der Light-DTD sind jeweils 30 geordnete und fünfzehn ungeordnete Listen möglich. Manuelle und Definitionslisten <liste_manuell>
und <liste_definition>
sind in der Light-DTD ebenfalls möglich. Ein Listenpunkt darf ein oder mehrere Absätze beinhalten.
Beginnt ein Absatz mit einer Initiale und ist daher im parsX Schema 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. Enthält das Element </initiale>
das Attribut @quelle
, dann kann optional beim XML-Import die Option "Initiale als grafische Initiale (Import einer Bilddatei)" ausgewählt werden.
Für Absätze innerhalb der <titelei>
gibt es eigene Elemente: <titelei_abs>
, <titelei_abs_ohne_einzug>
und <titelei_abs_initiale>
. Es gibt zusätzlich noch semantisierte <titelei_abs>
-Elemente: <titelei_abs-titel>, <titelei_abs-untertitel>, <titelei_abs-gattung>, <titelei_abs-autor>, <titelei_abs-co-autoren>, <titelei_abs-herausgeber>, <titelei_abs-uebersetzer>, <titelei_abs-illustrator>, <titelei_abs-kurztext>, <titelei_abs-bio>, <titelei_abs-impressum>, <titelei_abs-copyright>, <titelei_abs-isbn>, <titelei_abs-verlag>, <titelei_abs-widmung>, <titelei_abs-zwischentitel>
Das Überschriftenmodell wird in der Light-DTD deutlich vereinfacht. Die Inhalte dieser Elemente werden in Adobe InDesign unter <u1_titel>
bis <u7_titel>
zusammengefasst. Die z.B. bei <u1>
-Elementen möglichen <vortitel>
- und <untertitel>
-Elemente werden verflacht und heißen dann <u1_vortitel>
bzw. <u1_untertitel>
.
Auch Inline-Elemente werden zusammengefasst: War eine Textstelle in dem parsX Schema 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 das parsX Schema 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 <abbildung_inline>
verwendet werden.
Für Infokästen sind 30 Typen vorgesehen (<infokasten1>
bis <infokasten30>
). Sie werden als Objektformate sowie entsprechende Absatzformate umgesetzt. Infokästen enthalten in der Light-DTD als Kindelemente nur Absätze, Leerzeilen, Listen und <zwischentitel>
-Elemente.
Die Elemente <inhaltsverzeichnis>
und <index>
entfallen vollständig. Deren Inhalte können in Adobe InDesign sowie im EPUB automatisch generiert werden.
<fussnote>
-Elemente des parsX Schemas 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 Tabellenzellen sind erst ab Adobe InDesign CC 2019 möglich.
<endnote>
-Elemente des parsX Schemas 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 der jeweiligen Kapitelebene (je nach ausgewählter Option in dem ConfigFile config.indd.xml
, vgl. den Abschnitt zum Import) oder im Nachspann umgesetzt. Bei Endnoten im Nachspann:
wenn es ein Element <ausgabe_endnoten/>
gibt, werden die Endnoten an die so bezeichnete Stelle gesetzt.
<ausgabe_endnoten/>
kann frei im Nachspann in einem entsprechenden Kapitel platziert werden.
Das Element wird im Light-XML auskommentiert und bleibt für das Roundtripping erhalten.
wenn es im Nachspann ein Kapitel mit der Überschrift "Anmerkungen" oder "Endnoten" gibt (genaue Textübereinstimmung), werden die Endnoten ans Ende dieses Kapitels gesetzt,
andernfalls ans Ende des (letzten) Nachspanns und eine <u3>
"Anmerkungen" wird generiert.
die Überschriften der Hauptteilkapitel werden als <zwischentitel-endnoten>
vor die entsprechenden Endnoten gesetzt.
am Ende des Buchs bzw. eines entsprechenden Nachspannkapitels umgesetzt. Zur Arbeit mit Endnoten stehen eigene parsX 4 Menüfunktionen zur Verfügung.
Marginalien werden ab parsX 4 auch in der Light-DTD unterstützt, aber mit einer eingeschränkten Anzahl an Kindelementen. So kann der Text beispielsweise nur einen Absatz umfassen.
Die Semantikmodule werden für den XML-Satz mit Adobe InDesign nicht umgesetzt. Bei der Transformation wird eine entsprechende Warnung ausgegeben und es wird keine XML-Light-Datei erzeugt.
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.