Skip to Content

Inhalte filtern

Zu den Stärken von DITA gehören die vielfältigen Filtermöglichkeiten und deren Nutzung für bedingte Abschnitte und Revisionsmarkierungen.

Im Beispielprojekt ist die Konfiguration von Filtern an leicht verständlichen Beispielen erläutert.

Filterdaten hinterlegen

Grundlage für die Filterung ist die Hinterlegung von Filterdaten im Dokument selbst. Durch entsprechende Attribute kann man für jedes Element festlegen:

  • an welche Zielgruppe sich der Text richtet (audience-Attribut),
  • für welche Rechner-Plattform er relevant ist (platform-Attribut),
  • welcher Versionsstand beschrieben wird (rev-Attribut),
  • welche Produkt beschrieben wird (product-Attribut),
  • beliebige andere Information (otherprops_Attribut).

Im Beispielprojekt sind bereits einige solche Informationen hinterlegt.

  • In der Datei inhalte/install.xml unterscheiden sich Schritte für die Plattformen Windows und Linux bzw. OS/X.
  • Auch sind teilweise detailliere Anweisungen vorhanden, die jedoch nur für die Zielgruppe der Anfänger relevant sind.
  • In der Datei inhalte/andere_targets_erzeugen.xml sind in einem Update neue Inhalte hinzugekommen und mit Version 1.1 gekennzeichnet worden.

Filter definieren

Die einfachste Anwendung des DITA-Filtersystems ist die Filterung, also der Aus-oder Einschluss von Teilen der Dokumentation, die bestimmte Kriterien erfüllen.

Dazu werden die Filterkriterien in eigens dafür vorgesehen Dateien hinterlegt. Jede Filterdatei beschreibt eine gewünschte Filterung und wird bei Bedarf in das Projekt eingebunden.

Im Beispielprojekt finden Sie im Basisverzeichnis verschiedene Filterdateien namens filter_....xml.

Der Name und Pfad der Datei selbst spielen übrigens keine Rolle, da die Filterdatei über ihren Dateinamen aufgerufen wird.

In der Datei finden Sie innerhalb des Wurzelelements <val> ein oder mehrere <prop>-Elemente, die die Kriterien des Filters enthalten.

  • Im Attribut att steht der Name des Attributes, nach dem gefiltert werden soll. Hier wird eines der oben aufgeführten Filterattribute eingetragen.
  • Im Attribut value wird der Wert eingetragen, auf den der Filter reagieren soll. Beim Ausblenden bedingter Abschnitte also die Angabe, die ausgeblendet werden soll.
  • Das dritte Attribut action beschreibt die gewünschte Handlung. In diesem Falle "exclude" oder "include" weil die Abschnitte ein- oder ausgeschlossen werden sollen.

Meist genügt ein Kriterium allein nicht, um den gewünschten Effekt zu erreichen. So muss für eine Plattform-spezifische Variante nicht nur eine Variante eingeblendet werden, alle anderen Varianten müssen ausgeblendet werden. Die Beispiel-Filter enthalten daher fast alle mehrere Bedingselemente.

Filter einbinden

Als letzter Schritt muss der definierte Filter auf das Projekt angewendet werden. Die Datei build.xml im Basisverzeichnis der Beispielinstallation zeigt einen Weg das zu tun:

Etwa in der Mitte der Datei (Zeile 56) finden Sie mehrere auskommentierte Property-Elemente für die Eigenschaft dita.input.valfile

<!--<property name="dita.input.valfile" value="${basedir}${file.separator}filter_nurWindows.xml"/>--> <!--<property name="dita.input.valfile" value="${basedir}${file.separator}filter_nurMacosx.xml"/>--> <!--<property name="dita.input.valfile" value="${basedir}${file.separator}filter_nurLinux.xml"/>--> <!--<property name="dita.input.valfile" value="${basedir}${file.separator}filter_nurUniversell.xml"/>-->

Durch Entfernen der Kommentarzeile können Sie wahlweise einen der beiden Filter einbinden und zur Anwendung bringen.