Выдает base-uri Ошибка XQST0046 при попытке применить base-uri к узлам
Мой XQuery выглядит так:
for $cit in /*:CitedReferenceCIT[@status = 'D']
where contains($cit/@file, "#")
return string-join(base-uri($cit/@file))
Когда я запускаю этот запрос, я получаю сообщение об ошибке, подобное этому:
Ошибка:
Остановленный в C:/Users/Administrator/Desktop/XQuery/233Update.xq, 3/28: [XQST0046] URI "/STD_KR_CIT_ZIP/20160927/20070102/20070102-1-001.ZIP/1/KR202007000003512KR00200700003560ACITKO20070102KR00#/KR202007000003512KR00200700003560ACITKO20070102KR00#.XML' является недействительным.
Кажется, это связано с "#", но это то, что находится в пути к файлу, нет способа преодолеть это, Может кто-нибудь сказать мне, как это преодолеть?
1 ответ
Используйте db:path() вместо base-uri(), чтобы получить путь к документу в базе данных.