for-each

Start

XML

Namespace

XSL

DTD

Schema

Standardisierung

IMS LD

EML

LMML

Akronyme

Quellen

 

 

XSL: Templates ] XSLT ] XSL-FO ] XPath ]   Bsp.: [ XML-Buchliste ] [ value-of ] [ for-each ] [ apply-templates ] [ XPath ]

Mehrere Element anzeigen (for-each)

Will man mehrere Elemente ausgeben, kann dies mit dem XSLT Element for-each realisiert werden. Ähnlich einer for-Schleife vieler Programmiersprachen werden mehrere Elemente sukzessive angesprochen. Im unten abgebildetetn Quelltext wird im for-each Element buchliste/buch als XPATH Pfadangabe angegeben und damit zum aktuellen Knoten. Alle weiteren Pfadangaben in den value-of Elementen müssen jetzt relativ zu buchliste/buch angegeben werden. Weist man dem Attribut select den Wert /buchliste/buch/titel zu, wird immer nur das erste Buch wiederholt. Gibt man <html> an, wird dem XSLT-Prozessor bekanntgemacht, daß html Elemente im Dokument vorhanden sind.

Als Ergebnis erhält man alle buch Elemente aus unserer Beispieldatei buchliste.xml.

Quelltext der XSLT-Datei:

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
   <html>
   <head>
   <title>Hurra</title>
   </head>
   <body>
   <h1>Buchliste</h1>
   <xsl:for-each select="buchliste/buch">
      <b>Titel: </b><xsl:value-of select="titel"/>
      <br/>
      <b>Autor: </b><xsl:value-of select="autor"/>
      <br/>
      <b>Seiten: </b><xsl:value-of select="seiten"/>
      <br/>
      <b>Preis: </b><xsl:value-of select="preis"/>
      <br/><br/>
   </xsl:for-each>
   </body>
   </html>
</xsl:template>

</xsl:stylesheet>

Beispieldateien:
buchliste_for_each.xml
buchliste_for_each.xsl