java - 如何让 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 报告错误?现在它无论如何都会保持沉默,只会抛出类型异常TransformerConfigurationException
或TransformerException
报告很少MyErrorListener
。
解决方案
您是在谈论编译时错误还是运行时错误?对于编译时错误(更常见),您需要在 TransformerFactory 上设置 ErrorListener,而不是在变压器上。
最好能举个具体的例子。
推荐阅读
- python - 如何使用多处理池和 cx_oracle 运行并行查询
- python - 在python中同时LED和蜂鸣器是不可能的吗?
- r - 将一列拆分为多列,同时防止前导零掉入拆分列
- r - 使用 seq 在 R 中打印偶数行文本
- laravel - 使用 Laravel 迁移更新枚举选项
- join - 有条件的更新/插入行
- jquery - Jquery .get函数不读取txt文件
- selenium - 如何获取 selenium 中子项的标记名作为字符串并根据标记名类型执行操作
- java - java.util.ArrayList 无法转换为 com.android.billingclient.api.SkuDetails
- javascript - 如何使用索引迭代 json 文件并使用本机组件进行渲染?