当前位置:  开发笔记 > Android > 正文

如何在XQuery中创建没有else的if语句?

如何解决《如何在XQuery中创建没有else的if语句?》经验,为你挑选了1个好方法。

我希望在XQuery中创建一个if没有else部分的语句.

例如:


   { 
   if (5 = 5) then
       
   }

我该怎么做呢?

我也试过这个:


   { 
   if (5 = 5) then
       
   else
       return
   }

虽然编译,但在运行时不起作用!



1> Jens Erat..:

没有ifXQuery 中没有语句else.改为返回空序列(),或任何合理的标识元素(如果没有定义任何特定的,通常会要求你).

if ($foo eq "bar")
then
  42
else
  ()

与过程语言相比,"no else statement"仅仅意味着"什么都不做"XQuery是一种函数式语言,这也意味着每个操作都必须返回"某些东西".如何进行"没有"?它可能已经可以宣布"不else表态意味着返回空序列,而不是",但W3C XML Query工作组似乎已经决定要求,以明确地界定,而不是返回什么.总而言之,这样可以更容易理解并且可能更好的代码,因为您必须考虑要返回的"其他"值是什么; 因为可能有很多合理的值:0如果你正在添加某些内容,1如果相乘,则""用于连接不带分隔符的字符串的空字符串,如果分隔符连接字符串则为空序列,...

不要使用"空return语句"

使用"空"返回是不可能的,但是在当前上下文中返回子元素,因此else return仅仅是a else ./return.如果当前上下文确实有子节点,那么这不仅会失败(并返回某些内容),而且如果没有上下文绑定的话.

不要返回空字符串

返回一个空字符串不会返回任何内容,而是返回空字符串,这是一个值,甚至可能会破坏在另一个地方的输入.返回空字符串不是一般解决方案,但可能在某些特定情况下.

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有