【问题标题】:eXist-DB transformation failure with XSLT - where to find error log?使用 XSLT 的 eXist-DB 转换失败 - 在哪里可以找到错误日志?
【发布时间】:2018-10-10 10:48:43
【问题描述】:

环境:eXist 4.2.1 - xquery 3.1 - xslt 3.0 - TEI-XML 文档

使用 eXide 接口,我正在尝试使用 XSL 文件对 TEI-XML 文档进行转换,并输出 HTML。

到目前为止,我一直在开发 XML 文档及其在 Oxygen 中的 XSL 转换。在 Oxygen 中启动转换或使用终端,两者都可以正常工作。现在我正在使用 eXist 准备一个 Web 应用程序(其中将包含数千个 TEI-XML 文档)。

我正在尝试使用以下 xquery 测试在 eXist 中简单地启动相同的转换:

let $result := transform:transform(doc("xmldb:exist://db/apps/deheresi/resources/documents/ms609_0001.xml"), doc("xmldb:exist://db/apps/deheresi/resources/documents/document_style.xsl"), ())

return $result?output

eXide 只返回给我这个:

exerr:ERROR Unable to set up transformer: Stylesheet compilation failed: 62 errors reported [at line 3, column 16]

我是 eXist DB 的新手,无法弄清楚如何获取错误原因。

  1. 如何在 eXist 中访问错误详细信息(详细日志?)? (我搜索了我的书籍和在线文档但没有成功;例如 https://exist-db.org/exist/apps/doc/xsl-transform 对错误没有任何帮助)。

  2. 对于氧气和终端转换,我使用 Saxon 9he。我知道 eXist 使用相同?

注意:我的文档都组织在与我计算机上的设置相同的 eXist 集合中,因此所有相关位置都应该正常工作?

【问题讨论】:

    标签: xslt xquery saxon exist-db tei


    【解决方案1】:

    首先 - 当对数据库中的路径使用 doccollection 函数时,您不需要 XML:DB URI,而是可以使用:

    transform:transform(doc("/db/apps/deheresi/resources/documents/ms609_0001.xml"),
            doc("/db/apps/deheresi/resources/documents/document_style.xsl"), ())
    

    错误应该在exist.log,默认位置是$EXIST_HOME/webapp/WEB-INF/logs。您可能会在运行 eXist-db 的终端会话的“标准输出”中找到它们。

    如果您使用 YAJSW(服务包装器)运行 eXist-db,您可能还需要检查 $EXIST_HOME/tools/yajsw/logs

    【讨论】:

    • 谢谢亚当。当我尝试学习 eXist 时,你的书就在我身边。 Exist 是否支持 XSLT 3.0?当我查看 conf.xml 文件中的转换器设置时,我看到仅支持 1.0 和 2.0。
    • exist.log 显示由于 Saxon 处理 XSL 2.0 导致的错误:我的 XSL 文件是 3.0。如果我将 XSL 样式表降级到 2.0,我会在 Oxygen 中得到相同的错误。 eXist 是否能够支持 XSL 3.0?
    • @jbrehr, github.com/eXist-db/exist/tree/eXist-4.2.1/lib/endorsed 建议您的 eXist 版本带有 Saxon 9.6 HE,该版本不支持 XSLT 3,需要 9.8 或 9.9 HE 版本。但我无法告诉您是否只需将当前版本的 Saxon HE jar 文件放到您的 eXist 库目录中即可让 eXist 与 Saxon 9.8 或 9.9 一起正常工作。
    • 不,很遗憾,无法插入较新的版本。 Betterform 库需要一个特定的 Saxon 版本。
    • 所以是的,eXist 5 支持 XSLT 3
    猜你喜欢
    • 1970-01-01
    • 2013-11-11
    • 2014-09-13
    • 2023-02-22
    • 2021-01-11
    • 2021-12-06
    • 2010-10-03
    • 2012-10-01
    • 1970-01-01
    相关资源
    最近更新 更多