Schutzwall für Leerzeichen: Die Instruktion xsl:text
(Auszug aus "XSLT 2.0 & XPath 2.0" von Frank Bongers, Kapitel 1.)
Die Lösung des Problems mit den fehlenden Leerzeichen ist einfach, erfordert jedoch eine neue Instruktion: xsl:text. Die Anweisung »schützt« die in ihr enthaltene Zeichenkette vor dem Zugriff des XSLT-Prozessors und veranlasst ihn, diese unverändert in das Ergebnisdokument zu kopieren.
Hier geschieht dies für das eingeschlossene Leerzeichen:
<xsl:text> </xsl:text>
Nachdem die Template-Regel für <anschrift> passend erweitert wurde, entspricht das Ergebnis den Erwartungen:
<!-- Template-Regel für <anschrift>: -->
<xsl:template match="anschrift">
<xsl:value-of select="strasse"/>
<xsl:text> </xsl:text>
<xsl:value-of select="nr"/>
<xsl:text>, </xsl:text>
<xsl:value-of select="plz"/>
<xsl:text> </xsl:text>
<xsl:value-of select="ort"/>
</xsl:template>
Auch das Komma wurde zusammen mit einem folgenden Leerzeichen in die Instruktion eingeschlossen. Dies unterdrückt das Kopieren des folgenden Zeilenumbruchs, der dann im folgenden Whitespace Node liegt.
Der Ergebnisquelltext sieht jetzt bereits befriedigender aus:
...
<p>
<b>
Peter
Mustermann
</b><br>
Wagenstr. 5a, 12345 Beispielshausen
</p>
...
Wann verwendet man xsl:text?
Die Instruktion xsl:text schützt die in ihr enthaltene Zeichenkette und veranlasst den XSLT-Prozessor, diese unverändert in das Ergebnisdokument zu kopieren. Dies wird speziell dann benötigt, wenn es sich um Leerzeichen handelt, die ansonsten entfernt würden.
Generell wird xsl:text dort verwendet, wo Weißraumzeichen kontrolliert in das Ergebnisdokument einfließen sollen. Ein anderer Zusammenhang, in dem die Instruktion anzutreffen ist, wird in Verbindung mit der Erzeugung von Nummerierungen behandelt.
<< 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