获取自定义XPath函数中的XML数据

时间:2008-09-16 04:50:28

标签: java xslt xpath saxon

当我们创建自己的自定义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。

2 个答案:

答案 0 :(得分:1)

如何选择当前节点从当前节点中选择相关数据到XSL参数,并将该参数传递给函数?像:

<xsl:value-of select="ourFunction($data)" />

答案 1 :(得分:1)

尝试更改您的XSL,以便调用'ourFunction(/)'。那应该将根节点传递给函数。你也可以试试。或.. ..

你可能需要更改执行功能的签名,我会让别人帮忙。