XML-Know How

Auf Knotenwerte zugreifen

Bislang haben wir lediglich die Struktur der Daten verändert (XML → HTML), ohne jedoch eine Auswahl einzelner Elemente vorzunehmen oder die Reihenfolge zu verändern. Das wollen wir nun in den nächsten Schritten tun.

xsl:value-of

Für den gezielten Zugriff auf Inhalte einzelner Tags wird das <xsl:value-of>-Element mit dem Attribut select verwendet. Die Reihenfolge der <xsl:value-of select= …>-Elemente im Template steuert die Reihenfolge der Ausgabe, d. h. die Sequenz, nach der die Inhalte in den Ergebnisbaum kopiert werden.

Gibt man einen Elementnamen als Attributwert von select an, so wird der textliche Inhalt des angegebenen Elements ausgewählt und im Ergebnisbaum wiedergegeben (allerdings ohne die ggf. darin auftretenden Inhalte von Unterelementen!).

Neben dem Inhalt eines Elements lässt sich nach dem gleichen Prinzip auch auf dessen Namen oder seine Attributwerte zugreifen: Möchte man auf Attributwerte eines Elements im Quellbaum zugreifen, so lautet die entsprechende Syntax select="ELEMENTNAME/@ATTRIBUTNAME".

Beispiel:

<xsl:template match="rezept">

<p>

<xsl:value-of select="ueberschrift1"/>

(<xsl:value-of select="@kalorien"/> kcal.)

</p>

</xsl:template>

Dieses Template erzeugt bezogen auf unsere Musterinstanz folgendes Ergebnis (Ausschnitt):

<p>Huhn mit Rosmarinkartoffeln (1200 kcal.)</p>

<p>Selleriesuppe (350 kcal.)</p>