У меня есть запрос XQuery, в котором я создаю документ XHTML из данных, хранящихся в XML. XML выглядит так:
<document>
<div>
<head>name-I-should-display</head>
<!-- more data -->
</div>
<div>
<head>name-of-div-2</head>
<!-- more data -->
</div>
<!-- more divs -->
</document>
В моем xquery я могу получить документ XML в порядке:
let $mydoc := doc("my-xml-file.xml")
Я могу получить узел «document» следующим образом:
let $rootnode := $mydoc/*[1]
но если я попробую это:
let $rootnode := $mydoc/document
Я ничего не понимаю. Когда я получаю узел «document» с первой формой, div ведут себя так же. Я очень плохо знаком с XQuery, но знаю, что это должно работать, как это уже было в другом запросе к документу с очень похожей структурой.
Дополнительная информация, которая может помочь:
- используется программа BaseX 9.0.2 на Linux
- Я использую функцию
/name()
, чтобы определить, получил ли я нужный мне узел или получил ноль
- XML-файл в начале имеет объявление таблицы стилей XSLT, аналогичный файл, который работал таким образом, не имел ни одного
- Я не могу изменить файл XML
Что могло пойти не так?