Выдает 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(), чтобы получить путь к документу в базе данных.

Другие вопросы по тегам