我想在python中显示saxon错误

时间:2016-07-18 10:04:19

标签: python-2.7 xslt-2.0 saxon

我正在使用saxon xslt处理器和python脚本来执行xslt转换。我想在python脚本中添加异常处理。撒克逊处理器具有内置的异常,这些异常是通过代码(例如,SXXP003)等引发的。这些错误消息显示在控制台中,因为我正在使用批处理文件执行撒克逊文件。问题是saxon错误没有被写入python中的回溯堆栈,因为我无法检索错误消息。请提供问题的解决方案。我想在try除了python之外显示saxon错误。

此致 安舒尔米塔尔

2 个答案:

答案 0 :(得分:1)

Python有许多不同的方法可以通过命令行界面调用外部程序:检查您使用的方法是否有任何重定向System.err输出流的方法。 (我不知道Python所以我不能就这方面提出建议)。如果您可以找到一种方法,那么您可以尝试解析错误消息并提取错误代码。

一种不同的方法,可能表现更好并且可以为您提供更多控制(但可能需要更多努力才能正确配置),将使用新的Saxon / C产品并通过其C API调用它,而不是调用它Java产品通过其命令行界面。

答案 1 :(得分:0)

除了Mike的回复之外,Saxon / C的python接口正在开发中,值得一看:

https://github.com/ajelenak/pysaxon