функция. Но, глядя на похожие вопросы, вы уже разобрались? Вместо этого вы должны использовать результаты из механизма xquery механизма eXist для обработки XSLT.
: eXist-db 4.2.1, XQuery 3.1, XSLT 2.0
В eXist-db я загружаю XSLT-файл, который содержит ссылку на коллекцию в eXist (чтобы выполнить поиск документов, найденных там, используя ключ). Эта ссылка, кажется, выбрасывает ошибку из Саксонии.
Exception while transforming node: Exception thrown by URIResolver
/db/apps/deheresi/data/
Документы XSLT расположены по адресу/db/apps/deheresi/data/styles
В функции преобразования я передаю параметр из XQuery в файл XSLT дляабсолютный путь в папку данных:
<param name="paramDatauri"
value="xmldb:exist:///db/apps/deheresi/data/"/>
В файле XSLT этот параметр получен и введен в переменную:
<xsl:variable name="coll"
select="collection(concat($paramDatauri,'?select=*.xml'))"/>
Я посмотрел на возможные параметры, которыеСаксонский может понадобиться, но я не нашел ни одного, который может решить эту проблему.
РЕДАКТИРОВАТЬ # 1: я пытался передать атрибут в XQuery transform ()
<attributes>
<attr name="paramSax" value="COLLECTION_URI_RESOLVER"/>
</attributes>
вСаксонская документация, но я получаю сообщение
`Unable to set up transformer: Unknown configuration property`
Я не знаю, является ли это избыточным / ненужным, или я неправильно настроил атрибут.
РЕДАКТИРОВАТЬ # 2: Я попытался жестко закодировать абсолютный путь в файл XSL:
<xsl:variable name="coll"
select="collection('xmldb:exist:///db/apps/deheresi/data/?select=*.xml')"/>
А также относительный путь:
<xsl:variable name="coll"
select="collection('/db/apps/deheresi/data/?select=*.xml')"/>
Всегда возвращаю одну и ту же ошибкуException thrown by URIResolver
.
Это первый раз, когда я пытался использоватьcollection()
функция в XSLT в eXist-db.
Большое спасибо.