0

使用我的撒克逊扩展功能代码,我有日志消息:

> java -cp ./saxon-he-10.2.jar:./ net.sf.saxon.Transform -t -init:MyInitializer -xsl:./exttest.xsl -o:./out.xml -it:initialtemplate

Saxon-HE 10.2J from Saxonica
Java version 14.0.2
Stylesheet compilation time: 305.437652ms
Processing  (no source document) initial template = initialtemplate
Using parser com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser
Building tree for null using class net.sf.saxon.tree.tiny.TinyBuilder
Tree built in 0.850325ms
Tree size: 3 nodes, 0 characters, 0 attributes
Execution time: 29.965658ms
Memory used: 14Mb

我不清楚是否Building tree for null using class net.sf.saxon.tree.tiny.TinyBuilder意味着我的代码https://gitlab.com/ms452206/socode20200915有问题以及如何避免它。

4

1 回答 1

0

这是一条糟糕的信息,我会改进它;“null”将是文档的基本 URI(或 systemId),如果它有的话。文档没有已知的基本 URI 这一事实可能预示着下游会出现问题,因为有些事情依赖于具有已知基本 URI 的文档;但这本身并不是一个错误。

如果您使用属性为 null的 JAXPSource对象构建文档,则最有可能发生这种情况。systemId这是你在写的时候所做的:

new StreamSource(new StringReader("<foo/>"))

仅当文档包含相对 URI(例如在外部实体引用或hrefxml:base属性中)时,这可能会导致失败,而简单的 XML 文档并非如此。

于 2020-09-15T07:50:54.020 回答