TransformerFactory.newInstance().newTransformer(streamSource) ส่งคืนค่า null

เป็นไปได้อย่างไรที่ 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


person Archer    schedule 31.01.2011    source แหล่งที่มา
comment
คุณกำลังพิมพ์ factory 2 ครั้ง   -  person tenshi    schedule 31.01.2011
comment
ฉันไม่รู้ว่าคุณกำลังถามอะไรที่นี่ และฉันก็สงสัยว่าคนอื่นก็ทำเช่นกัน โปรดลองกำหนดปัญหาของคุณเป็นคำถาม   -  person Dónal    schedule 31.01.2011


คำตอบ (2)


ตอบคำถามของฉันเอง หากไฟล์ XSLT ไม่ถูกต้อง สิ่งนี้จะเกิดขึ้น (newTransformer(Source) จะส่งกลับ null) ฉันคิดว่าควรรายงานไปยัง Oracle เพื่อให้พวกเขาเปลี่ยน javadoc ยังคงเป็นไปได้ที่ null จะถูกส่งคืน

person Archer    schedule 17.02.2011

สคริปต์ของคุณมีการพิมพ์ผิด คำสั่งสุดท้ายพิมพ์ "tf" แทนที่จะเป็น "tr" "tf" เป็นตัวแปรสคริปต์ที่ไม่ได้กำหนดค่าเริ่มต้น ดังนั้นค่าของตัวแปรจึงเป็นโมฆะ

person Peter Niederwieser    schedule 03.02.2011
comment
ขอบคุณ ;) ฉันเปลี่ยนมันโดยตรงที่นี่ พิมพ์ผิดจริงๆ - person Archer; 17.02.2011