使用Saxon扩展功能并使用-t选项,“使用TinyBuilder为null构建树”是什么意思?

问题描述

使用我的Saxon扩展功能代码,我得到了日志消息:

> 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(例如,在外部实体引用或hrefxml:base属性中)时,这才可能导致失败,而对于简单的XML文档则不是这种情况。 / p>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...