呼び出し元のノードへのxpathを返すXSLT関数が必要です。
XML
<root>
<node>
<subnode />
<subnode />
<subnode />
</node>
<node>
<subnode>
<subsubnode >
<xsl:value-of select="fn:generateXPath()" />
</subsubnode >
</subnode>
</node>
</root>
XSL
<xsl:template match="root/node/subnode/sub" >
<xsl:value-of select="fn:generateXPath()" />
</xsl:template>
<xsl:function name="fn:generateXPath" >
<xsl:for-each select="ancestor::*">
<xsl:value-of select="name()" />
</xsl:for-each>
<xsl:value-of select="name()" />
</xsl:function>
上記の関数を試してみましたが、エラーが発生します。
XPDY0002:ここでノードを選択できません:コンテキストアイテムが未定義です
しかし、名前付きテンプレートでこれを試したところ、結果を得ることができました。これは、を使用して実装できますかxslt:function
。