XSLT current() Funktion
Definition und Verwendung
Die current()-Funktion gibt eine Knotensequenz zurück, die nur den aktuellen Knoten enthält. Normalerweise ist der aktuelle Knoten mit dem Kontextknoten identisch.
<xsl:value-of select="current()"/>
Gleich
<xsl:value-of select="."/>
Aber, es gibt einen Unterschied. Lassen Sie uns den folgenden XPath-Ausdruck betrachten: "catalog/cd". Der Ausdruck wählt den <catalog>-Knotenkind des aktuellen Knotens und dann den <cd>-Knotenkind des <catalog>-Knotens aus. Dies bedeutet, dass "." in jedem Schritt eine andere Bedeutung hat.
Das folgende Zeile:
<xsl:apply-templates select="//cd[@title=current()/@ref]"/>
Diese Funktion behandelt alle cd-Elemente, deren title-Attribut den Wert des ref-Attributs des aktuellen Knotens hat.
Das ist anders:
<xsl:apply-templates select="//cd[@title=./@ref]"/>
Diese Funktion behandelt alle cd-Elemente, deren title- und ref-Attribute denselben Wert haben.
Syntax
node-set current()
Beispiel
<?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> <body> <xsl:for-each select="catalog/cd/artist"> Aktueller Knoten: <xsl:value-of select="current()"/> <br /> </xsl:for-each> </body> </html> </xsl:template> </xsl:stylesheet>