Die Instruktionen im Template-Rumpf

(Auszug aus "XSLT 2.0 & XPath 2.0" von Frank Bongers, Kapitel 1.)

Im Inneren des Rumpfs der Template-Regel befinden sich weitere Elemente, die durch das Präfix xsl gekennzeichnet sind. Bei ihnen handelt es sich um Anweisungen an den verarbeitenden XSLT-Prozessor: Es sind Instruktionen, die den Prozessor zu bestimmten Aktionen veranlassen. Eine solche XSLT-Instruktion kann, muss aber nicht von Literal Result Elements umgeben sein. Sie wird vom Prozessor an Ort und Stelle ausgeführt:

Code-Beispiel: kap01/1.08/beispiel.xsl.

...
  <body>
    <h1 align="center">Die dritte XSLT-Transformation</h1>
    <p align="center"><xsl:value-of select="wurzelelement"/></p>
  </body>
...

Im erzeugten Dokument ist von der XSLT-Instruktion nichts mehr zu sehen. Lediglich das Ergebnis der ausgeführten Anweisung tritt an ihre Stelle:

Code-Beispiel: kap01/1.08/beispiel.html.

...
  <body>
    <h1 align="center">Die dritte XSLT-Transformation</h1>
    <p align="center">Das ist ein Testinhalt aus 'dummy.xml'.</p>
  </body>
...

Exemplarisch: Die Instruktion xsl:value-of

Mittels der Instruktion xsl:value-of wird Text erzeugt, der im Anschluss im Ergebnisdokument erscheint.

Dieser Text ergibt sich durch die Auswertung des XPath-Ausdrucks (XPath Expression) im obligatorisch zu verwendenden select-Attribut. Das Ergebnis des Ausdrucks wird in jedem Fall in eine Zeichenkette (String) umgewandelt – man spricht daher vom Stringwert des Ausdrucks.

In diesem Beispiel adressiert der XPath-Ausdruck über den Namen ein Ele­ment im Quelldokument. Damit wird der Prozessor angewiesen, den String­wert (value) des Elements <wurzelelement> zu extrahieren:

<xsl:value-of select="wurzelelement"/>

Man kann sich dies so vorstellen, dass der XSLT-Prozessor aktiv in das Quelldokument »greift« und sich die Information von der bezeichneten Position holt. Zum Lokalisieren des Ziels wird ein XPath-Ausdruck im select-Attribut von xsl:value-of ausgewertet.

Es erfordert vom Autor des Stylesheets Kenntnis über die Struktur des zu verarbeitende Dokuments. Damit die Wert-Extraktion wie vorgesehen funktioniert, muss bekannt sein, dass ein Element namens <wurzelelement> existiert, und wo es sich im Quelldokument befindet. Dies ist weniger trivial, als es im Augenblick erschei­nen mag.

XPath-Ausdruck vs. XPath-Pattern

Als XPath-Ausdruck bzw. Expression wird im Grunde alles bezeichnet, was mit Hilfe von XPath formulierbar ist. Die »Expression« bildet also den allge­meinen Oberbegriff; das Pattern ist eine spezielle Untergruppe der Expression.

Eine Expression kann also einerseits in Form eines Pfadausdrucks dazu dienen, einen Teil des Quelldokuments zu bezeichnen. Sie kann aber auch Funktions­aufrufe der Form fn:funktionsname() beinhalten, die einen Wert zurückgeben, der dann der aufrufenden Instruktion übergeben wird. In diesem Zusammen­hang kann ein XPath-Ausdruck intern auch Kontrollstrukturen wie for-Schleifen und Bedingungen mit if ... then ... else ... enthalten.

XPath-Ausdrücke werden in den folgenden Kapiteln ausführlicher thematisiert. Vorläufig soll die Betrachtung ihrer einfacheren Untergruppe genügen: der Pfad­ausdrücke. Vor deren eingehenderen Betrachtung ist zunächst ein weiterer Blick auf XML-Dokumente unter einem ganz anderen Aspekt sinnvoll.

   

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

Copyright © Galileo Press, Bonn 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XSLT 2.0 & XPath 2.0 ― Das umfassende Handbuch" 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.


Galileo Press, Rheinwerkallee 4, 53227 Bonn