XSLT current()-funktionen
Definition och användning
current()-funktionen returnerar en noduppsättning som endast innehåller den aktuella noden. Vanligtvis är den aktuella noden densamma som kontextnoden.
<xsl:value-of select="current()"/>
likar
<xsl:value-of select="."/>
Men det finns en skillnad. Låt oss titta på följande XPath-expression: "catalog/cd". Uttrycket väljer den aktuella nodens <catalog>-undernod, och sedan väljer den <catalog>-nodens <cd>-undernod. Detta innebär att "." har ett annat betydelse i varje steg av beräkningen.
Nedan är denna rad:
<xsl:apply-templates select="//cd[@title=current()/@ref]"/>
Detta kommer att hantera alla cd-element där värdet för title-egenskapen är lika med värdet för ref-egenskapen för den aktuella noden.
Och detta är annorlunda:
<xsl:apply-templates select="//cd[@title=./@ref]"/>
Detta kommer att hantera alla cd-element som har samma värde för title-egenskapen och ref-egenskapen.
grammatik
node-set current()
exempel
<?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"> Current node: <xsl:value-of select="current()"/> <br /> </xsl:for-each> </body> </html> </xsl:template> </xsl:stylesheet>