2011-03-23 49 views
0

在我的單元測試中,我試圖通過向javax.xml.transform的org.apache.xalan.processor.TransformerFactoryImpl實現發送一些格式錯誤的xml來引發TransformException錯誤。變壓器xalan爲什麼不會在格式錯誤的XML中拋出TransformException錯誤

調用

transform(Source xmlSource,Result outputTarget) throws TransformerException 

控制檯顯示以下信息,但沒有TransformerException中被拋出

file:/filepath/MalformedInput.xml; Line #85; Column #16; XML document structures must start and end within the same entity. 

任何我至於爲什麼它不會拋出TransformerException,或者我可以如何爲這種情況拋出異常?

我試圖與撒克遜和TransformerException中被拋出,但我寧願使用Xalan

感謝

+1

只是好奇;你爲什麼更喜歡使用xalan而不是撒克遜? – 2011-03-23 17:58:19

+0

代碼的另一部分使用共享的Java庫,內部構建用於我們的公司平臺。該代碼不適用於撒克遜,只有xalan。所以我寧願使用xalan而不是xalan&saxon。 – jamesshipton 2011-03-24 10:15:04

回答

1

您需要在您的變壓器指定一個ErrorListener(我相信你在TransformerFactory中設置此) 。

+0

謝謝。我已經嘗試了xalan的版本v2.6.0,並且在xml文檔格式不正確時未指定ErrorListener就會引發TransformerException錯誤。看起來這是在v2.7.1中刪除的,需要設置一個特定的ErrorListener – jamesshipton 2011-03-24 14:27:11

相關問題