使用Saxon 9.8的软件包时遇到一些困难。 Saxon找不到我想要使用的包,但在编译时失败了。
在命令行中使用collisions_2.dat
选项时,出现以下错误消息:
-lib
在oXygen 19中使用java.lang.NullPointerException
at net.sf.saxon.style.PackageVersion.<init>(PackageVersion.java:71)
at net.sf.saxon.trans.packages.VersionedPackageName.<init>(VersionedPackageName.java:29)
at net.sf.saxon.trans.packages.PackageInspector.getNameAndVersion(PackageInspector.java:78)
at et.sf.saxon.trans.packages.PackageInspector.getPackageDetails(PackageInspector.java:91)
at net.sf.saxon.trans.packages.PackageLibrary.<init>(PackageLibrary.java:96)
at net.sf.saxon.Transform.doTransform(Transform.java:404)
at net.sf.saxon.Transform.main(Transform.java:81) Fatal error during transformation: java.lang.NullPointerException: (no message)
选项与Saxon 9.8插件时,我收到以下消息:
-lib
当我使用配置文件声明包时,我在oXygen中收到完全相同的错误消息。
我很确定文件路径没有问题。由于我在oXygen中收到的错误信息中似乎没有识别包版本,我认为这可能是一个语法问题,但我无法找到它的来源。
这是测试我的包裹:
Nom du moteur: Saxon-EE 9.8.0.4 (External)
Gravité: fatal
Description: Cannot find package img_pkg (version *)
Emplacement de début: 7:52
这是我的测试sylesheet:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:package name="img_pkg" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:img="https://www.ephe.fr/annuaire/colin-brisson"
exclude-result-prefixes="xs img" version="1.0">
<xsl:function name="img:test" visibility="final" as="xs:string">
<xsl:value-of select="'test ok'"/>
</xsl:function>
</xsl:package>
非常感谢提前!
答案 0 :(得分:1)
我认为来自命令行的NullPointerException是由于错误3373
https://saxonica.plan.io/issues/3373
虽然在你的情况下,根本原因与bug条目中的根本原因略有不同,但缺少package-version属性。这在9.8.0.4中得到修复,但是从堆栈跟踪中的行号看起来就像是在使用早期的维护版本。
oXygen中的问题可能完全不同,但它可能再次与缺少@ package-version有关。