XSLT current()- Funktion
❮ XSLT-FunktionsreferenzDefinition und Verwendung
Die Funktion current() gibt eine Knotenmenge zurück, die nur den aktuellen Knoten enthält. Normalerweise sind der aktuelle Knoten und der Kontextknoten gleich.
<xsl:value-of select="current()"/>
ist gleich
<xsl:value-of select="."/>
Es gibt jedoch einen Unterschied. Sehen Sie sich den folgenden XPath-Ausdruck an: "catalog/cd". Dieser Ausdruck wählt die untergeordneten <catalog>-Knoten des aktuellen Knotens und dann die untergeordneten <cd>-Knoten der <catalog>-Knoten aus. Das bedeutet, dass bei jedem Bewertungsschritt das "." hat eine andere Bedeutung.
Folgende Zeile:
<xsl:apply-templates select="//cd[@title=current()/@ref]"/>
verarbeitet alle cd-Elemente, die ein title-Attribut haben, dessen Wert gleich dem Wert des ref-Attributs des aktuellen Knotens ist.
Das ist anders als
<xsl:apply-templates select="//cd[@title=./@ref]"/>
Dadurch werden alle cd-Elemente verarbeitet, die ein title-Attribut und ein ref-Attribut mit demselben Wert haben.
Syntax
node-set current()
Beispiel 1
<?xml version="1.0" encoding="UTF-8"?>
<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">
Current node: <xsl:value-of select="current()"/>
<br />
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
XML-Datei anzeigen , XSL-Datei anzeigen und Ergebnis anzeigen .
❮ XSLT-Funktionsreferenz