current
Die current
Funktion kann verwendet werden, um den Kontextknoten in einer XSLT-Anweisung zu erhalten.
Syntax
current()
Rückgabewert
Eine Knotenmenge, die nur den aktuellen Knoten enthält.
Beschreibung
Diese Funktion ist eine XSLT-spezifische Ergänzung zu XPath und nicht Teil der Kernbibliothek von XPath-Funktionen.
Für einen äußersten Ausdruck (ein Ausdruck, der nicht innerhalb eines anderen Ausdrucks auftritt) ist der aktuelle Knoten immer derselbe wie der Kontextknoten (welcher durch die .
- oder self
-Syntax zurückgegeben wird). Die folgenden zwei sind semantisch gleichwertig.
<xsl:value-of select="current()"/>
<xsl:value-of select="."/>
In einem inneren Ausdruck (z.B. in eckigen Klammern) bleibt der aktuelle Knoten der gleiche, wie er es in einem äußersten Ausdruck wäre. Daher gibt die current
-Funktion innerhalb aller folgenden drei Ausdrücke denselben Knoten zurück (nicht die gesamten Ausdrücke). Zudem sind die letzten beiden semantisch gleichwertig.
<xsl:value-of select="current()"/>
<xsl:value-of select="foo/bar[current() = X]"/>
<xsl:variable name="current" select="current()"/>
<xsl:value-of select="foo/bar[$current = X]"/>
Und der nächste Code ist auch semantisch gleichwertig zu den letzten beiden, da die .
in einem äußersten Ausdruck vorkommt.
<xsl:variable name="current" select="."/>
<xsl:value-of select="foo/bar[$current = X]"/>
Aber die .
bezieht sich immer auf den engsten Kontext. So gibt in
<xsl:value-of select="foo/bar[. = X]"/>
die .
den bar
-Knoten zurück, der möglicherweise vom aktuellen Knoten verschieden ist.
Spezifikationen
Browser-Kompatibilität
Unterstützt.