问题描述
> 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以及如何避免它有问题,我还不清楚。
解决方法
这是一个不好的信息,我会加以改善;如果有文档,则“ null”将是文档的基本URI(或systemId)。该文档没有已知基本URI的事实可能是下游故障的预兆,因为某些事情依赖于具有已知基本URI的文档。但这本身不是错误。
如果使用Source
属性为null的JAXP systemId
对象构建文档,则最有可能发生这种情况。您撰写时所完成的工作是:
new StreamSource(new StringReader("<foo/>"))
仅当文档包含相对URI(例如,在外部实体引用或href
或xml:base
属性中)时,这才可能导致失败,而对于简单的XML文档则不是这种情况。 / p>