Attribut-basiertes Filtern

Mit FrameMaker 10 hat Adobe bei dieser Funktion in zweierlei Hinsicht nachgebessert:

  • Sie können gewählte Einstellungen über den Format-Import in andere Dateien importieren
  • Sie können nun auch Attribute mit mehreren Werten auswerten

Das letzte will ich kurz erläutern. Aus Ihrer Master-Dokumentation sollen zum Beispiel Handbücher für drei Produktvarianten A, B und C entstehen. Dann gibt es zwangsläufig Texte, die allgemein gültig sind, einige sind speziell nur für eine Variante (A, B, C), andere wiederum für zwei der drei Varianten (AB, BC, AC). Bislang mussten Sie die möglichen Kombinationen ausmultiplizieren, um all diese Fälle abdecken zu können. Jetzt gibt es neue Operatoren, mit denen neben dem Fall Attribut enthält den Wert auch Attribut enthält irgendeinen Wert (ANY) und Attribut enthält nur bestimmte Werte abgefragt werden können. Die Detail finden sich in folgendem Blog-Beitrag:

Ein wenig rätsele ich, weshalb Adobe sich innerhalb der inkonsistent umgesetzten Boole’schen Algebra dann noch einmal eine eigene Syntax mit dem Operator # ausgedacht hat. Denn es gibt bereits einen Standard, mit dem man sogar viel mehr machen kann, als Attributwerte abzufragen: XPath. Und XPath-basierende Ausdrücke können Sie mit dem nach wie vor kostenlosen Plug-in AXCM verwenden (welches auch sonst deutlich flexibler ist):

Adobe FBA¹ AXCM Ausdruck
platform = „win“ *[@platform = „win“]
platform #ANY *[@platform != „“]
platform # „win“ „unix“ *[contains(„win unix“, @platform) or contains(„unix win“, @platform)]

Der dritte Fall sieht zwar in XPath komplizierter aus, aber wenn Sie sich einmal an die Logik gewöhnt haben – die Sie auch in anderen XML-basierten Umgebungen brauchen können! – werden Sie feststellen, dass die Mächtigkeit von XPath diesen Extra-Aufwand ohne weiteres wert ist. Weitere Informationen zu AXCM finden Sie hier:

¹: FBA = Filter By Attribute

Dieser Beitrag wurde unter FrameMaker veröffentlicht. Setze ein Lesezeichen auf den Permalink.