gpt4 book ai didi

java - 从 SaxonHE 9.6 迁移到 SaxonHE 9.7

转载 作者:行者123 更新时间:2023-11-30 05:22:59 25 4
gpt4 key购买 nike

我有一个在 SaxonHE 9.6.0-10 上运行的 xforms 引擎,并且我的测试运行绿色。最近两个工作日尝试迁移到最新版本 9.9.1-5,但没有成功。

缩小问题范围,第一个问题出现在版本 9.7 中,我遇到了类的编译错误:

net.sf.saxon.expr.Container

net.sf.saxon.functions.SystemFunctionCall

这些类似乎已在 9.7 中删除,但我不知道如何替换它们。

当切换到 9.9.1-5 时,这个类似乎也消失了:

net.sf.saxon.functions.StandardFunction

尝试了 saxonica.com 上的更改文档,但没有向我透露任何内容。

问题区域是一个 FunctionLibrary,我需要提供所有特定于 XForms 的函数。该库的代码在这里: XFormsFunctionLibrary.java

这里是父类(super class): XPathFunctionLibrary.java

还有我的基函数类: XFormsFunction.java

任何有关如何替换这些类或重写这些类以符合最新版本的提示都将受到高度赞赏,因为我已经没有想法了 - 感谢 Joern

最佳答案

您显然已经深入研究了 Saxon 的内部结构,在这个级别上,从一个版本到下一个版本,事情确实会发生一些变化。

Container 对象是 Saxon 内部表达式树实现的一部分,在博客文章中对 Saxon 9.7 中重新设计的方式进行了一些讨论:http://dev.saxonica.com/blog/mike/2015/09/parent-pointers-in-the-saxon-expression-tree.html

由于 XPath 3.0 中数据模型的变化,Saxon 中系统函数的表示方式发生了变化,函数成为数据模型中的第一类值。同样,有一篇 2015 年的博客文章解释了更改的动机:http://dev.saxonica.com/blog/mike/2015/02/functions-function-calls-function-items.html

您的问题读起来像是一般性的求助请求,而不是具体的信息请求。这使得它非常不适合 StackOverflow 协议(protocol)。最好在 Saxonica 论坛上提出此类问题:http://saxonica.plan.io ,更适合开放式讨论,而不是严格的问题/答案格式。话虽如此,显然您通过深入研究 Saxon 代码并了解其工作原理来使代码正常工作,并且您可能必须再次执行相同的操作。希望我们所做的更改能让您的集成变得更容易,而不是更困难。

关于java - 从 SaxonHE 9.6 迁移到 SaxonHE 9.7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59215938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com