2011-03-23 52 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

相关问题