Функция XSLT для получения xpath к узлу
Мне нужна функция XSLT, которая вернет мне xpath к узлу, из которого она была вызвана.
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
.