Funkce XSLT current() .
❮ Reference funkce XSLTDefinice a použití
Funkce current() vrací sadu uzlů, která obsahuje pouze aktuální uzel. Obvykle jsou aktuální uzel a kontextový uzel stejné.
<xsl:value-of select="current()"/>
je rovný
<xsl:value-of select="."/>
Je tu však jeden rozdíl. Podívejte se na následující výraz XPath: "catalog/cd". Tento výraz vybere podřízené uzly <katalog> aktuálního uzlu a poté vybere podřízené uzly <cd> uzlů <katalog>. To znamená, že v každém kroku hodnocení se "." má jiný význam.
Následující řádek:
<xsl:apply-templates select="//cd[@title=current()/@ref]"/>
zpracuje všechny prvky cd, které mají atribut title s hodnotou rovnou hodnotě atributu ref aktuálního uzlu.
Toto se liší od
<xsl:apply-templates select="//cd[@title=./@ref]"/>
který zpracuje všechny prvky cd, které mají atribut title a atribut ref se stejnou hodnotou.
Syntax
node-set current()
Příklad 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>
Zobrazit soubor XML , zobrazit soubor XSL a zobrazit výsledek .
❮ Reference funkce XSLT