我们希望将XSpec作为Maven构建的一部分运行,以检查XSL转换。一个插件可以从GitHub获得。当我们针对调用函数检查的XSL样式表在Saxon中不可用时,问题就出现了,如下所示:
Error at xsl:if on line 194 column 75 of dyxml_table_cals.xsl:
XPST0017 XPath syntax error at char 0 on line 194 near {...table-enumeration-condition...}:
Cannot find a matching 2-argument function named {http://saxon.sf.net/}evaluate().
Saxon extension functions are not available under Saxon-HE我们拥有PE的执照。根据萨克森的文件增强版在没有许可信息时恢复到开放源代码HE,情况似乎是这样的。是否有可能通过Maven激活PE,例如使用可豪斯插件,这会是什么样子?我们已经使用了一种通过Java进行激活的方法,但是如果可能的话,了解另一种更优雅的方式将是有帮助的。
发布于 2016-09-26 08:56:46
经过一些试验和错误之后,我们发现以下解决方案是有效的:
这解决了许可证问题。现在,我们的XSpec测试已经启动并运行。对我们!
发布于 2016-09-23 23:11:11
我不太熟悉XSpec的Maven插件,但我尝试给出一些提示和解决办法。
您提到的Maven插件的pom.xml包含对使用的Saxon版本的依赖:
<dependency>
<groupId>net.sf.saxon</groupId>
<artifactId>Saxon-HE</artifactId>
<version>9.7.0-1</version>
</dependency>您应该指定Saxon版本,以便使用Saxon或Saxon。然而,这些Saxon版本似乎无法在公共Maven存储库中使用,因为与Saxon不同,它们是专有软件。我想您可以将Saxon的.jar文件放在本地存储库中(请参阅Maven文档)。我建议将.lic许可文件与.jar文件放在同一个目录中。
另外两个提示可能会帮助您找到解决办法:
希望能帮上忙..。
https://stackoverflow.com/questions/39656496
复制相似问题