当我们创建自己的自定义XPath函数时,有没有办法获取当前的xml数据(参见此处)。
我知道您可以访问XPathContext
,但这还够吗?
示例:
我们的XML:
<foo>
<bar>smang</bar>
<fizz>buzz</fizz>
</foo>
我们的XSL:
<xsl:template match="/">
<xsl:value-of select="ourFunction()" />
</xsl:template>
我们如何获得整个XML树?
编辑:澄清一下:我正在创建一个最终执行静态Java代码的自定义函数(这是一个Saxon特性)。因此,在这个Java代码中,我希望能够从XML树中获取元素,例如bar和fizz,以及它们的CDATA,例如smang和buzz。
答案 0 :(得分:1)
如何选择当前节点从当前节点中选择相关数据到XSL参数,并将该参数传递给函数?像:
<xsl:value-of select="ourFunction($data)" />
答案 1 :(得分:1)
尝试更改您的XSL,以便调用'ourFunction(/)'。那应该将根节点传递给函数。你也可以试试。或.. ..
你可能需要更改执行功能的签名,我会让别人帮忙。