Gewusst wo: Vom Auffinden der Inhalte

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

Zur Demonstration wurden zwei simple XML-Dokumente erstellt. In der ersten Version liegt ein Element <hallo> im Inneren des Elements <gruss>:

Code-Beispiel: kap01/1.11.1/gruss.xml.

<?xml version="1.0" encoding="ISO-8859-1"?>
<gruss>
  <hallo>Hallo Welt! Dies ist XSLT.</hallo>
</gruss>

In der zweiten Version liegt es außerhalb, bildet also das Wurzelelement:

Code-Beispiel: kap01/1.11.1/hallo.xml.

<?xml version="1.0" encoding="ISO-8859-1"?>
<hallo>
  <gruss>Hallo Welt! Dies ist XSLT.</gruss>
</hallo>

Beide Dokumente werden mit dem gleichen Stylesheet gruss.xsl verarbeitet. Mittels <xsl:value-of select="gruss"/> soll der Textin­halt von <gruss> ins Ergebnisdokument kopiert werden:

Code-Beispiel: kap01/1.11.1/gruss.xsl.

<xsl:template match="/">
  <html>
    ...
    <body>
      <h1 align="center">Dies ist ein Ergebnisdokument.</h1>
      <p align="center"><xsl:value-of select="gruss"/></p>
    </body>
  </html>
</xsl:template>
  

Für die erste Variante der neuen Quelldokumente sieht das Ergebnis auch aus wie wir erwartet hatten:

Code-Beispiel: kap01/1.11.1/gruss.html.

<html>
  ...
  <body>
    <h1 align="center">Dies ist ein Ergebnisdokument.</h1>
    <p align="center">Hallo Welt! Dies ist XSLT.</p>
  </body>
</html>
  

Für die zweite dagegen nicht:

Code-Beispiel: kap01/1.11.1/hallo.html.

<html>
  ...
  <body>
    <h1 align="center">Dies ist ein Ergebnisdokument.</h1>
    <p align="center"></p>
  </body>
</html>

Offensichtlich ist es xsl:value-of im zweiten Fall nicht gelungen, den Text zu extrahieren. Das bedeutet nicht etwa, dass die Instruktion nicht ausgeführt wurde, sie hat nur nichts gefunden. Woran liegt das?

   

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