当我们制作自己的自定义 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 和嗡嗡声)。

有帮助吗?

解决方案

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

您可能需要更改实现函数的签名,我会让其他人帮忙。

其他提示

关于什么 选择当前节点 从当前节点选择相关数据到 XSL 参数中,并将该参数传递给函数?喜欢:

<xsl:value-of select="ourFunction($data)" />
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top