Добрый день!
Я продолжаю искать, возможно ли объявить несколько пространств имен по умолчанию в XQuery?
Образец XML, который я использую, имеет 2 пространства имен по умолчанию:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
....
<wsMessageHeader xmlns="http://integration.sampleabc.com/common/header/WSMessageHeader/v2">
........
</wsMessageHeader>
<queryContactGlobalPreferences xmlns="http://integration.sampleabc.com/interfaces/queryContactGlobalPreferences/v1/queryContactGlobalPreferences.xsd">
</queryContactGlobalPreferences >
...
</soapenv:Envelope>
Поэтому я объявил в запросе два пространства имен по умолчанию:
declare namespace soapenv='.......';
declare default element namespace '......';
declare default element namespace '........';
Вывод: когда я выполняю запрос, я всегда получаю эту ошибку. Если я удаляю одно пространство имен по умолчанию, оно работает на этом узле, но мне также нужно запросить другой узел. Кажется, он разрешает только 1 пространство имен по умолчанию. Есть ли обходной путь для этого?
Вот ошибка:
Error on line 1 column 264
XPST0003: XQuery syntax error in #...lare default element namespace#:
Namespace declarations cannot follow variables, functions, or options