0
declare function tns:getDt($inp as xs:string) as element(ns1:Sschema)*{
let $primary := fn-bea:get-property('PRIMARY','1')
let $sec := fn-bea:get-property('SECONDARY','2')
if ($primary = "1") then (
for $response in tns:getData1()
return
$response
) else (
for $response in tns2:getData1()
return
$response
)
}
Я хочу вызвать функции в разных пространствах имен на основе свойства weblogic admin. Несколько вопросов:Xquery if/else для динамического пространства имен
- Как я могу динамически выбирать пространство имен для использования на основе свойства weblogic admin?
- В приведенном выше коде семинар Oracle жалуется на if/else. Может ли if/else быть только внутри FLWOR?
Спасибо. Я получил его работу с возвратом до if. Что касается первого вопроса, вместо использования «1» и «2», я хотел бы перейти в пространство имен и использовать его для вызова соответствующей функции. Например, если PRIMARY = "ld: test/test1", то я хочу иметь возможность использовать $ PRIMARY: func(). – user127091
Простите, что в XQuery это невозможно, так как пространства имен необходимо статически определять. Вот почему вам нужно будет использовать if/else или switch выражения, чтобы вызвать правильную функцию (как и в любом случае). –