XSLT current()関数
❮XSLT関数リファレンス定義と使用法
current()関数は、現在のノードのみを含むノードセットを返します。通常、現在のノードとコンテキストノードは同じです。
<xsl:value-of select = "current()" />
に等しい
<xsl:value-of select = "。" />
ただし、1つの違いがあります。次のXPath式を見てください: "catalog / cd"。この式は、現在のノードの<catalog>子ノードを選択してから、<catalog>ノードの<cd>子ノードを選択します。これは、評価の各ステップで「。」を意味します。別の意味があります。
次の行:
<xsl:apply-templates select = "// cd [@ title = current()/ @ ref]" />
現在のノードのref属性の値と等しい値を持つtitle属性を持つすべてのcd要素を処理します。
これはとは異なります
<xsl:apply-templates select = "// cd [@ title = ./ @ ref]" />
これは、同じ値のtitle属性とref属性を持つすべてのcd要素を処理します。
構文
node-set current()
例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ファイルを 表示し、XSLファイルを 表示し、結果を表示します。
❮XSLT関数リファレンス