【问题标题】:How to make Saxon XSLT processor report errors to stderr or log4j?如何让 Saxon XSLT 处理器向 stderr 或 log4j 报告错误?
【发布时间】:2020-11-18 13:14:47
【问题描述】:

这是我的代码:

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 报告很少。

【问题讨论】:

    标签: java xml xslt saxon


    【解决方案1】:

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

    最好能举个具体的例子。

    【讨论】:

    • 在上面的示例中,我确实在工厂设置了ErrorListener,但我仍然没有在日志中看到任何内容。是的,我说的是编译错误。 (顺便说一句,撒克逊人很棒,谢谢!)
    猜你喜欢
    • 2011-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-14
    • 1970-01-01
    相关资源
    最近更新 更多