在自定义XPath函数中获取XML数据
时间:2020-03-05 18:55:09 来源:igfitidea点击:
当我们创建自己的自定义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。
解决方案
回答
如何选择当前节点,将当前节点中的相关数据选择为XSL参数,然后将该参数传递给函数呢?喜欢:
<xsl:value-of select="ourFunction($data)" />
回答
尝试更改XSL,以便我们调用" ourFunction(/)"。那应该将根节点传递给函数。我们也可以尝试。或者 ..
我们可能需要更改实现功能的签名,我将让其他人。