2

TransformerFactory.newInstance().newTransformer(streamSource) 怎么可能返回 null。根据javadoc,这是不可能的:http: //download.oracle.com/javase/6/docs/api/javax/xml/transform/TransformerFactory.html#newTransformer(javax.xml.transform.Source)

这是 groovy 代码示例

    def is = new ClassPathResource('xslt/MySpace-Contact.xsl').inputStream
    println is
    def streamSource = new StreamSource(is)
    println streamSource
    def factory = TransformerFactory.newInstance()
    println factory
    def tr = factory.newTransformer(streamSource)
    println tr

这是输出:

--Output from testTransformation--
java.io.BufferedInputStream@32999f10
javax.xml.transform.stream.StreamSource@399ed64
org.apache.xalan.processor.TransformerFactoryImpl@6eb04214
null

4

2 回答 2

6

回答我自己的问题。如果 XSLT 文件无效,则会发生这种情况(newTransformer(Source) 将返回null)。我认为应该向 Oracle 报告,以便他们更改 javadoc。仍然有可能null返回。

于 2011-02-17T15:48:39.240 回答
0

您的脚本包含错字。最后一条语句打印“tf”而不是“tr”。“tf”是一个未初始化的脚本变量,因此它的值为空。

于 2011-02-03T08:15:06.210 回答