XSLT current()Funktion


XSLT 函数参考对象Vollständige XSLT-Funktionsreferenz

Definition und Verwendung

Die Funktion current() gibt eine Knotenmenge zurück, die nur den aktuellen Knoten enthält. Normalerweise ist der aktuelle Knoten derselbe wie der Kontextknoten.

<xsl:value-of select="current()"/>

Gleich

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

Es gibt jedoch einen Unterschied. Betrachten wir den folgenden XPath-Ausdruck: "catalog/cd". Der Ausdruck wählt den <catalog>-Kindknoten des aktuellen Knotens aus und wählt dann den <cd>-Kindknoten des <catalog>-Knotens aus. Das bedeutet, dass "." bei jedem Schritt der Auswertung eine andere Bedeutung hat.

Die folgende Zeile:

<xsl:apply-templates select="//cd[@title=current()/@ref]"/>

wird alle cd-Elemente verarbeiten, deren title-Attributwert gleich dem ref-Attributwert des aktuellen Knotens ist.

Im Gegensatz dazu:

<xsl:apply-templates select="//cd[@title=./@ref]"/>

Dies wird alle cd-Elemente verarbeiten, bei denen das title-Attribut und das ref-Attribut denselben Wert haben.


Syntax

Knotenmenge current()

Beispiel 1

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

、 、 。


XSLT 函数参考对象Vollständige XSLT-Funktionsreferenz Weitere Erweiterungen