Каждый префикс пространства имен, который вы используете в своем запросе , также должен быть объявлен в запросе. В вашем случае вы можете добавить строку
declare namespace text="urn:oasis:names:tc:opendocument:xmlns:text:1.0";
вверху, чтобы исправить ваш запрос.
Так как префиксы пространства имен (text
в вашем случае) являются только ссылкой на связанный URI пространства имен, он не должен совпадать с префиксом в документе XML. Следующий запрос эквивалентен на 100%:
declare namespace whatever="urn:oasis:names:tc:opendocument:xmlns:text:1.0";
for $foo in db:open("foo")
return $foo//whatever:p