TransformerFactory.newInstance().newTransformer(streamSource) 返回 null

Arc*_*her 2 java xslt groovy xalan

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
Run Code Online (Sandbox Code Playgroud)

这是输出:

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

Arc*_*her 6

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