Как это может быть, что TransformerFactory.newInstance (). NewTransformer (streamSource) возвращает ноль.Согласно 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--<br> java.io.BufferedInputStream@32999f10<br> javax.xml.transform.stream.StreamSource@399ed64<br> org.apache.xalan.processor.TransformerFactoryImpl@6eb04214<br> null
Отвечая на мой собственный вопрос. Если файл XSLT недействителен, это произойдет (newTransformer (Source) вернет null). Я думаю, что об этом следует сообщить в Oracle, чтобы они изменили Javadoc. Это все еще возможно, что null возвращается.
null
Ваш скрипт содержит опечатку.Последнее утверждение печатает «tf», а не «tr».«tf» - неинициализированная переменная сценария, поэтому ее значение равно нулю.