Die Verarbeitung im freien Fluss

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

Das neue Stylesheet ist beinahe fertig. Als allerletzte Modifikation wird jetzt noch die Template-Regel für den Dokumentknoten vereinfacht. Auch hier ent­fällt das select-Attribut bei xsl:apply-templates:

<!-- Template-Regel für den Dokumentknoten: -->
<xsl:template match="/">
  ...
  <h1>Adressenliste</h1>
  <xsl:apply-templates/>
  ...
</xsl:template>

Code-Beispiel: kap01/1.17.2/addressen.xsl (Auszug).

In dieser Abbildung sehen Sie das Ergebnis im Browser:

Die neu transformierte Adressenliste im Browser

Abbildung: Die neu transformierte Adressenliste.

Es funktioniert tatsächlich, und zwar ohne Probleme. Das mag unerwartet kommen in Anbetracht der Maßnahmen, die bisher für eine korrekt zusam­mengestellte Eingabesequenz der Template-Regeln getroffen wurden. Hier wurde nichts in dieser Richtung unternommen. Seltsamerweise arbeitet die Transformation dennoch wie vorgesehen.

In der Template-Regel für den Dokumentknoten wird eine Sequenz der Kind­knoten zusammengestellt, die genau ein Item besitzt, nämlich das Wurzelele­ment <adressen> des Dokuments. Für dieses ist jedoch keine Template-Regel vorhanden. Trotzdem werden anschließend auch die Kindknoten <adresse> des Wurzelelements verarbeitet. Irgendwoher muss also eine Sequenz aus <adresse>-Elementknoten kommen. Aber wo wird sie zusammengestellt, schließlich ist nirgendwo eine explizite Anweisung dazu gegeben worden?

   

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