Die ditaval-Datei

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

Eine bedingte Verarbeitung wird in DITA über eine so genannte ditaval-Datei gesteuert. In einer ditaval-Datei wird festgelegt, welche Attribute und Werte für die bedingte Verarbeitung verwendet werden sollen. Zudem wird in der ditaval-Datei definiert, welche Verarbeitungsregeln angewendet werden sollen.

Eine ditaval-Datei ist eine XML-Datei mit einem <val>-Element als Wurzel-Element.

<?xml version="1.0" encoding="UTF-8"?>
<val> </val>

Im <val>-Element können ein oder mehrere <prop>-Elemente und <revprop>-Elemente enthalten sein, wie das folgende Beispiel zeigt:

<?xml version="1.0" encoding="UTF-8"?>
<val>
    <prop/>
    <prop/>
    <revprop/>
</val>

In einem <prop>-Element ist definiert, für welche Attribute und Werte eine bedingte Verarbeitung erfolgen soll. Zudem wird festgelegt, welche Methode bei der bedingten Verarbeitung verwendet werden soll, das heißt, ob Inhalte gefiltert oder gekennzeichnet werden sollen. Informationen zum <revprop>-Element erhalten Sie in Inhalte kennzeichnen.

Im <prop>-Element stehen folgende Attribute zur Verfügung:

  • att: Hier werden die Attribute angegeben, für die die Filterung und Kennzeichnung der Inhalte vorgenommen werden soll. Neben den standardmäßig von DITA vorgegebenen Attributen können Sie hier auch spezialisierte Attribute verwenden. Spezialisierte Attribute werden aus dem Standard-Attribut props abgeleitet. Domain-Attribute zeigt, wie Sie das props-Attribut spezialisieren können.
  • val: Enthält die Werte, die das att-Attribut annehmen kann.
  • action: Definiert die Methode, mit der das mit dem Attribut ausgezeichnete Element verarbeitet werden soll. Die möglichen Werte für das action-Attribut sind im Anschluss aufgeführt.
  • color: Ist das action-Attribut auf flag gesetzt (siehe unten), dann wird der gekennzeichnete Text mit dem im color-Attribut definierten Wert ausgegeben. Der Wert für die Farbe wird mit einer sechsstelligen Hexadezimalzahl angegeben, wie das bei den Farbwerten aus HTML bekannt ist. Die Hexadezimalzahl ist in Kleinbuchstaben zu schreiben. Dem Farbwert vorangestellt ist ein #.
  • backcolor: Ist das action-Attribut auf flag gesetzt (siehe unten), dann wird der Hintergrund des gekennzeichneten Texts mit dem im color-Attribut definierten Wert ausgegeben. Der Wert für die Farbe wird mit einer sechsstelligen Hexadezimalzahl angegeben, wie es bei den Farbwerten aus HTML bekannt ist. Die Hexadezimalzahl ist in Kleinbuchstaben zu schreiben. Dem Farbwert vorangestellt ist ein #.
  • style: Ist das action-Attribut auf flag gesetzt (siehe unten), dann kann der gekennzeichnete Text wie folgt typografisch ausgezeichnet werden:
    - kursiv (italics)
    - fett (bold)
    - überstrichen (overline)
    - unterstrichen (underline)
    - doppelt unterstrichen (double-underline)

Mit dem action-Attribut bietet DITA für das <prop>-Element folgende Ver-arbeitungsmöglichkeiten an:

  • include: Die Inhalte des Elements werden im Ausgabemedium ausgegeben. Der Wert include ist die Defaulteinstellung.
  • exclude: Die Inhalte des Elements werden nicht im Ausgabemedium ausgegeben.
  • passthrough: Die Inhalte des Elements werden im Ausgabemedium ausgegeben. Der Wert des passthrough-Attributs wird zur Weiterverarbeitung durch andere Verarbeitungsmechanismen weitergegeben.
  • flag: Die Inhalte werden im Ausgabemedium ausgegeben und dort gekennzeichnet, zum Beispiel durch eine Grafik.

Die folgenden beiden Abschnitte zeigen Ihnen Beispiele, wie Sie mit einer ditaval-Datei Inhalte filtern und kennzeichnen können.

Inhalte filtern

Das folgende Beispiel zeigt eine einfache ditaval-Datei zum Filtern von Inhalten:

<?xml version="1.0" encoding="UTF-8"?>
<val>
    <prop att="audience" val="user" action="exclude"/>
</val>

Die Inhalte aller Elemente, die ein audience-Attribut enthalten, dessen Wert auf user gesetzt ist, werden im Ausgabemedium nicht ausgegeben.

Mit dieser ditaval-Datei werden die Inhalte der Elemente wie

<steps audience="user expert">...</steps>

nicht ausgefiltert, solange für den Wert expert auch kein Ausschluss definiert ist. Dann müsste die ditaval-Datei wie folgt aussehen:

<?xml version="1.0" encoding="UTF-8"?>
<val>
    <prop att="audience" val="user" action="exclude"/>
    <prop att="audience" val="expert" action="exclude"/>
</val>

Sollen die Inhalte des Elements

 <steps audience="user expert">...</steps> 

für den Wert user des audience-Attributs ausgeschlossen und für den Wert expert eingeschlossen werden, so sieht die ditaval-Datei wie folgt aus:

<?xml version="1.0" encoding="UTF-8"?>
<val>
    <prop att="audience" val="user" action="exclude"/>
    <prop att="audience" val="expert" action="include"/>
</val>

Inhalte kennzeichnen

Eine ditaval-Datei für das Kennzeichnen von Inhalten ist aufgebaut wie eine ditaval-Datei für das Filtern von Inhalten, jedoch ist der Wert des action-Attributs auf flag gesetzt.

<?xml version="1.0" encoding="UTF-8"?>
<val>
    <prop att="audience" val="user" action="flag" color="#cceecc"/>
</val>

Der Text der Elemente, die ein audience-Attribut enthalten, dessen Wert auf user gesetzt ist, werden im Ausgabemedium in der Farbe cceecc ausgegeben.

Die Inhalte von Elementen wie

 <steps audience="user expert">...</steps> 

werden mit der angegebenen ditaval-Datei im Ausgabemedium immer gekennzeichnet, unabhängig davon, ob für den Attributwert expert eine Definition existiert. Sobald bei einer Anzahl von mehreren Attributwerten die Definition für einen Attributwert gegeben ist, wird der Inhalt im Ausgabemedium gekennzeichnet.

Beim Kennzeichnen von Inhalten kann es zu Konflikten kommen, wenn für die übergeordneten Elemente die Inhalte anders gekennzeichnet werden sollen als für die Inhalte der untergeordneten Elemente. Dieser Fall kann zum Beispiel dann auftreten, wenn im Topictyp „Aufgabe“ die <step>-Elemente für das audience-Attribut mit Wert expert mit einer anderen Farbe gekennzeichnet sind als die übergeordneten <steps>-Elemente. Um einen solchen Konflikt zu lösen, steht das <style-conflict>-Element zur Verfügung. Mit dem foreground-conflict-color-Attribut können Sie festlegen, welche Textfarbe verwendet werden soll, wenn mehrere Textfarben definiert sind. Mit dem background-conflict-color-Attribut können Sie festlegen, welche Hintergrundfarbe verwendet werden soll, wenn mehrere Hintergrundfarben definiert sind.

<val>
    <style-conflict background-conflict-color="#FFFFFF"/>
</val>

Über das <startflag>-Element kann am Anfang des gekennzeichneten Inhalts eine Grafik im Ausgabemedium positioniert werden.

<?xml version="1.0" encoding="UTF-8"?>
<val>
    <prop att="audience" val="user" action="flag">
        <startflag imageref="../special.gif"/>
    </prop>
</val>

Ebenso kann über das <endflag>-Element am Ende des gekennzeichneten Inhalts eine Grafik im Ausgabemedium positioniert werden.

<?xml version="1.0" encoding="UTF-8"?>
<val>
    <prop att="audience" val="user" action="flag">
        <endflag imageref="../obacht.gif"/>
    </prop>
</val>

Sowohl für das <startflag>-Element als auch für das <endflag>-Element steht das <alt-text>-Element zur Verfügung, in dem ein alternativer Text zu den Grafiken angegeben werden kann.

Eine besondere Bedeutung kommt der bedingten Verarbeitung des rev-Attributs zu. Die Definition zur Verarbeitung der Elemente, die ein rev-Attribut aufweisen, werden nicht im <prop>-Element, sondern im <revprop>-Element vorgenommen.

Im <revprop>-Element stehen folgende Attribute zur Verfügung:

  • val: Enthält die Werte der rev-Attribute, die verarbeitet werden sollen.
  • action: Definiert die Methode, mit der das mit dem Attribut ausgezeichnete Element verarbeitet werden soll. Die möglichen Werte für das action-Attribut sind im Anschluss aufgeführt.
  • color: Ist das action-Attribut auf flag gesetzt (siehe unten), dann wird der gekennzeichnete Text mit dem im color-Attribut definierten Wert ausgegeben. Der Wert der Farbe wird mit einer sechstelligen Hexadezimalzahl angegeben, wie das bei den Farbwerten aus HTML bekannt ist. Die Hexadezimalzahl ist in Kleinbuchstaben zu schreiben. Dem Farbwert vorangestellt ist ein #.
  • backcolor: Ist das action-Attribut auf flag gesetzt (siehe unten), dann wird der Hintergrund des gekennzeichneten Texts mit dem im color-Attribut definierten Wert ausgegeben. Der Wert der Farbe wird mit einer sechstelligen Hexadezimalzahl angegeben, wie das bei den Farbwerten aus HTML bekannt ist. Die Hexadezimalzahl ist in Kleinbuchstaben zu schreiben. Dem Farbwert vorangestellt ist ein #.
  • style: Ist das action-Attribut auf flag gesetzt (siehe unten), dann kann der gekennzeichnete Text wie folgt typografisch ausgezeichnet werden:

- kursiv (italics)
- fett (bold)
- überstrichen (overline)
- unterstrichen (underline)
- doppelt unterstrichen (double-underline)

  • changebar: Ist das action-Attribut auf flag gesetzt (siehe unten), dann werden die Inhalte der Elemente, die das changebar-Attribut enthalten, im Ausgabemedium – sofern dies unterstützt wird – mit einem Änderungsbalken versehen.

Mit dem action-Attribut bietet DITA für das <revprop>-Element folgende Verarbeitungsmöglichkeiten an:

  • include: Die Inhalte des Elements werden im Ausgabemedium ausgegeben. Der Wert include ist die Defaulteinstellung.
  • passthrough: Die Inhalte des Elements werden im Ausgabemedium ausgegeben. Der Wert des passthrough-Attributs wird zur Weiterverarbeitung durch andere Verarbeitungsmechanismen weitergegeben.
  • flag: Die Inhalte werden im Ausgabemedium ausgegeben und dort gekennzeichnet, entweder durch farblich markierten Text oder durch eine Grafik.

Das folgende Beispiel zeigt eine ditaval-Datei, in der zwei Revisionsstände mit unterschiedlichen Farben gekennzeichnet werden sollen.

<?xml version="1.0" encoding="UTF-8"?>
<val>
    <revprop val="revion1" action="flag" backcolor="#eeddcc"/>
    <revprop val="revion2" action="flag" backcolor="#ccddcc"/>
</val>

Ebenso wie für das <prop>-Element stehen für das <revprop>-Element das <startflag>-, <endflag>- und <alt-text>-Element zur Verfügung, um die gekennzeichneten Inhalte mit einer Grafik versehen zu können.

  

<< 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