Parameterübergabe über den XSLT-Prozessor

(Auszug aus "DocBook-XML: Medienneutrales und plattformunabhängiges Publizieren" von Thomas Schraitle)

Jeder XSLT-Prozessor besitzt eine Option, um in einem Stylesheet Parameter zu überschreiben. Dies hat folgende Vorteile:

  • Parameter sind einfach zu ändern, da Sie lediglich Ihren XSLT-Prozessor benötigen und den entsprechenden Namen des Parameter mit seinem Wert.
  • Für kleine Änderungen benötigen Sie keine Anpassungsdatei.
  • Auswirkungen lassen sich schnell testen.
  • Parameter lassen sich trotzdem mit einer Anpassungsdatei kombinieren.

Um beispielsweise eine HTML-Datei mit einer CSS-Datei zu verknüpfen, gibt es den Parameter html.stylesheet. Schreiben Sie für xsltproc:

xsltproc --stringparam html.stylesheet "user.css" ... 

Bei Saxon wird folgende Schreibweise benötigt:

saxon ... html.stylesheet="'user.css'"

Saxon erwartet Parameter in einfachen Anführungszeichen, die als Zeichenketten interpretiert werden. Werden mehrere Parameter benötigt, geben Sie jeden als Parameter=Wert-Ausdruck an. Für xsltproc verwenden Sie dagegen für Zeichenketten die Option --stringparam oder für nummerische Werte die Option --param. Verwechseln Sie die Optionen, wird fälschlicherweise eine Zahl als Zeichenkette übergeben mit unerwünschten Resultaten.

Mit Hilfe des obigen Verfahrens können Sie auch mehrere Parameter an das Stylesheet weiterreichen. Allerdings werden zu viele davon unhandlich, weshalb es besser ist, eine Anpassungsdatei zu schreiben.

  

<< zurück vor >>
Tipp der data2type-Redaktion:
Zum Thema DocBook bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © 2009 Millin Verlag
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "DocBook-XML: Medienneutrales und plattformunabhängiges Publizieren" 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.

Millin Verlag, Siebengebirgsring 36, 53797 Lohmar, info(at)millin.de