【发布时间】:2014-12-17 10:06:02
【问题描述】:
我使用 Saxon XSLT 版本 9.6.0.1。样式表包含以下代码:
...
<xsl:message terminate="yes">errormessage</xsl:message>
...
我的应用程序按预期终止,但出现以下异常:
net.sf.saxon.expr.instruct.TerminationException: Processing terminated by xsl:message at line 45 in
at net.sf.saxon.expr.instruct.Message.processLeavingTail(Message.java:253) at net.sf.saxon.expr.instruct.Message.processLeavingTail(Message.java:253)
at net.sf.saxon.expr.instruct.Choose.processLeavingTail(Choose.java:822)
现在我想知道“错误消息”文本的实际位置。我可以在 stderr 上看到它,但需要将其显示给用户或将其放入日志文件中。
如何以编程方式访问消息文本?
【问题讨论】:
-
您在 Saxon 9.6 中使用哪个 API,JAXP API 还是 s9api?
-
显然我正在使用 JAXP API,而我已经有一段代码可以检查 saxon TransformerImpl、强制转换类并设置 MessageEmitter。如下所述,有一个 MessageListener。 MessageEmitter 和 MessageListener 有什么区别?