Ошибка преобразования eXist-DB с XSLT - где найти журнал ошибок? - PullRequest
0 голосов
/ 10 октября 2018

Среда: eXist 4.2.1 - xquery 3.1 - xslt 3.0 - документ TEI-XML

С помощью интерфейса eXide я пытаюсь выполнить преобразование документа TEI-XML с помощью файла XSL с помощьювывод HTML.

До сих пор я занимался разработкой XML-документов и их XSL-преобразований в Oxygen.Запуская преобразования в Oxygen или используя терминал, оба работали без ошибок.Сейчас я готовлю веб-приложение с использованием eXist (которое будет содержать тысячи документов TEI-XML).

Я пытаюсь просто запустить то же преобразование в eXist с помощью следующего теста xquery:

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, идентичную настройке на моем компьютере, поэтому все относительные местоположения должны работать правильно?

1 Ответ

0 голосов
/ 10 октября 2018

Первый - при использовании функций doc и collection для путей в базе данных вам не нужен URI XML: DB, вместо этого вы можете просто использовать:

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 (Service Wrapper) для запуска eXist-db, вам также может потребоваться проверить $EXIST_HOME/tools/yajsw/logs.

...