1

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

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

到目前为止,我一直在用 Oxygen 开发 XML 文档和它们的 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 集合中,因此所有相关位置都应该正常工作吗?

4

1 回答 1

3

首先 - 在数据库中使用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.

于 2018-10-10T11:19:52.940 回答