Функция 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.

Ответы на вопрос(2)

Ваш ответ на вопрос