#xml #osb
#xml #osb
Вопрос:
Как я могу сослаться на XML-документ в XSLT в OSB. У меня есть xml-документ в моей папке ресурсов, теперь я хотел бы сослаться на это в одном из моих XSLT, и, основываясь на некоторой логике, я бы взял значения из этого XML-документа и передал их в другой XSLT.
Комментарии:
1. Я даже не уверен, что вы можете это сделать. XSLT описывает способ, которым вы хотите преобразовать XML-документ. Зачем вам нужен фактический XML-файл в нем?
2. Мне нужно использовать это для целей сопоставления. Например, в моем запросе я получаю целую кучу данных из внешнего интерфейса, теперь серверной части требуются данные в их собственном формате, которые мне нужно преобразовать на основе этого XML-документа, который у меня есть.
Ответ №1:
Самым простым способом было бы переименовать его в .xq или .xsl и поместить XML в качестве литерала. Затем OSB может выполнить это и присвоить его переменной, которую вы будете использовать позже.
В качестве альтернативы, вы можете использовать класс Java для этого, например.
Комментарии:
1. Спасибо Trent за ваш ответ, но могу ли я каким-либо образом сделать это, не меняя его на .xq или не используя какой-либо класс Java, я просто хочу ссылаться на свой XML-документ в XSLT, я попытался использовать document() функцию XSLT и присвоить ее переменной, чтобы приМне требуется, чтобы я мог использовать переменную и просматривать XML-документ, но он не работает в OSB, или я, возможно, не использую правильный синтаксис для функции document() для ссылки на xml-документ в OSB.
2. Не в 11G. Вероятно, и в 12C тоже, но я не проверял.
3. Как мне это сделать, переименовав его в .xq. Могу ли я каким-либо образом включить .xq внутри XSLT в OSB
4. нет, они довольно разные. Я уверен, что есть хитрости для загрузки отдельного файла с использованием xslt.
5. Что ж, спасибо, но я искал только этот трюк, с помощью которого я могу включить или сделать ссылку на этот xquery в моем XSLT. Между тем, можете ли вы помочь мне с еще одной вещью, я не могу преобразовать sting в nodelist в OSB, даже когда я использую функцию node-set, она выдает ошибку