Xquery if/else 动态命名空间

发布于 2024-12-28 09:56:49 字数 550 浏览 0 评论 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 管理属性调用不同命名空间中的函数。有几个问题:

  1. 我如何根据 weblogic 管理属性动态选择要使用的命名空间?
  2. 在上面的代码中,Oracle 研讨会抱怨了 if/else。 if/else 只能在 FLWOR 内部吗?
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   
  )
} 

I want to call functions in different namespaces based on a weblogic admin property. A couple of questions:

  1. How can i dynamically chose the namespace to use based on weblogic admin property?
  2. In the above code, the Oracle workshop complains about the if/else. Can the if/else be only inside the FLWOR?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

以歌曲疗慰 2025-01-04 09:56:49

关于你的第二个问题:是的,你需要在“if”表达式之前添加一个“return”,以使你的查询在语法上有效。

关于你的第一个问题,我不太确定你的意图是什么?

Regarding your second question: yes, you need to add a "return" before the "if" expression to make your query syntactically valid.

Regarding your first question, I'm not really sure what's your intention?..

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文