首页 > 解决方案 > 如何让 Saxon XSLT 处理器向 stderr 或 log4j 报告错误?

问题描述

这是我的代码:

import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;

TransformerFactory factory = TransformerFactory.newInstance();
factory.setErrorListener(new MyErrorListener());
Transformer trans = factory.newTransformer(new StreamSource(new StringReader(xsl), sid));
t.setErrorListener(new MyErrorListener());
t.transform(new DOMSource(xml), result);

如何修改此代码以使 Saxon 9 向 stderr 报告错误?现在它无论如何都会保持沉默,只会抛出类型异常TransformerConfigurationExceptionTransformerException报告很少MyErrorListener

标签: javaxmlxsltsaxon

解决方案


您是在谈论编译时错误还是运行时错误?对于编译时错误(更常见),您需要在 TransformerFactory 上设置 ErrorListener,而不是在变压器上。

最好能举个具体的例子。


推荐阅读