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, ent­spricht 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 Zeilen­umbruchs, 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 veran­lasst den XSLT-Prozessor, diese unverändert in das Ergebnisdokument zu kopie­ren. 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