Der Stringwert eines Elementknotens
(Auszug aus "XSLT 2.0 & XPath 2.0" von Frank Bongers, Kapitel 1.)
Für einen auf dem Dokumentknoten liegenden Kontext hat die Instruktion
<xsl:value-of select="gruss"/>
für diese Struktur
<gruss>
<hallo>Hallo Welt! Dies ist XSLT.</hallo>
</gruss>
ein Ergebnis erzielt. Keines jedoch für
<hallo>
<gruss>Hallo Welt! Dies ist XSLT.</gruss>
</hallo>
Letzteres ist klar: Es ist zwar ein Element <gruss> vorhanden, dieses erfüllt jedoch nicht die Forderung des Ausdrucks child::gruss, direkt unterhalb des Kontextes zu liegen, »dazwischen« befindet sich ja das Element <hallo>.
Im ersten Fall liegt <gruss> zwar an der geforderten Position und es wird auch der innen liegenden Textknoten erreicht. Dies jedoch, obwohl jener nicht direkt in <gruss> liegt, sondern eine Ebene weiter innen im Element <hallo>. Das dazwischen liegende Element wird offensichtlich ignoriert.
Ein anderes Beispiel zur Veranschaulichung:
<a>Noch<b> ein <c>anderes</c></b> Stringwertbeispiel.</a>
↓ ↓ ↓ ↓
Noch ein anderes Stringwertbeispiel.
Der Stringwert von <a> besteht aus der Folge aller Textknoten (Anmerkung: De facto wird der betrachtete Dokumentzweig geplättet, wobei die Elementmarken verworfen werden.), die zur Ausgabe zu einem einzigen Textknoten zusammengefasst werden. Es entsteht die Zeichenkette »Noch ein anderes Stringwertbeispiel.« Der Stringwert von <b> wäre demnach »ein anderes«, der von <c> wäre »anderes«.
Nebenbei: Es werden für den Stringwert eines Elements nur in diesem enthaltene Textknoten, nicht aber die Werte von möglicherweise vorhandenen Kommentar- oder gar Attributknoten berücksichtigt. Diese besitzen für sich betrachtet jedoch durchaus einen Stringwert.
Der Stringwert des Elements <person> im Fall von
<person nachname="Meier" vorname="Peter"/>
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