从SaxonHE 9.6迁移到SaxonHE 9.7

问题描述 投票:1回答:1

我有一个在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

这里是超类:XPathFunctionLibrary.java

以及这里的基本函数类:XFormsFunction.java

任何提示如何替换那些类或重写那些类以符合最新版本的建议,在我用尽了所有想法的情况下,均表示赞赏-谢谢Joern

java function xpath migration saxon
1个回答
0
投票

您显然已经相当深入地研究了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协议。最好在http://saxonica.plan.io的Saxonica论坛上提出这样的问题,该问题更适合于开放式讨论而不是严格的问题/答案格式。话虽如此,您显然可以通过深入研究Saxon代码并加深对它的工作原理的理解来使代码正常工作,并且您可能必须再次执行相同的操作。希望我们所做的更改使您的集成更加轻松而不是更加困难。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.