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

雅亚·乌丁(Yahya Uddin)

我希望在XQuery中创建if不包含任何内容的语句else

例如:

<results>
   { 
   if (5 = 5) then
       <foo/>
   }
<results>

我该怎么做呢?

我也尝试过这个:

<results>
   { 
   if (5 = 5) then
       <foo/>
   else
       return
   }
<results>

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

詹斯原为

没有if,XQuery中没有语句else而是返回空序列(),或者返回任何合理的标识元素(如果没有定义任何特定的内容,通常将需要此元素)。

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

与过程语言相反,过程语言“ no else statement”仅表示“不执行任何操作”。XQuery是一种功能语言,这也意味着每个操作都必须返回“某事”。如何进行“一无所有”?可能已经可以宣布“不else表态意味着返回空序列,而不是”,但W3C XML Query工作组似乎已经决定要求,以明确地界定,而不是返回什么。总而言之,由于您必须考虑要返回的“ else”值是什么,因此这会使代码更易于理解,甚至可能更好。因为可能会有很多合理的值:0如果您要1累加一些东西,如果要相乘,则为空字符串""用于连接不带分隔符的字符串如果连接分隔符的字符串则为空序列,...

不要使用“空return语句”

使用“空”返回是不可能的,但是将<return/>在当前上下文中返回子元素,而else return仅仅是一个else ./return如果当前上下文确实有<return/>子级,那么这不仅会失败(并返回某些内容),而且如果根本没有绑定上下文,这也会失败

不要返回空字符串

返回空字符串不会返回任何内容,而是空字符串,它是一个值,甚至可能会中断在其他位置的输入。返回空字符串不是一般解决方案,但在某些特定情况下可能会返回。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在没有2条if语句的情况下在JSX中添加If…Else语句?

如何在Oracle SQL脚本中创建if-then-else语句?

如何在OCaml中实现没有“else”的“if”?

没有 else 语句的 lambda 函数中的单行 if 语句

如何在没有一堆if else语句的情况下编写此函数?

如何在python中缩短'if,else'语句?

如何在Python中执行else语句

如何在Brainfuck中编写if else语句

如何在XQuery 1.0中获得没有分组依据的最频繁元素?

如何在python中使用if else语句将列表放入函数中以创建变量?

如何在 lambda 函数中创建一个 If 语句,返回查找所有字符串中没有的内容

如何在golang中创建没有证书的TLS连接?

如何在 Odoo 10 中创建没有模型的视图

如何在Python中创建没有getter的setter?

如何在VBS中创建具有多个条件(而不是嵌套的多个语句)的If语句?

如何在 if-else 语句中创建循环?

在没有if / else的情况下如何编写此语句?

如何在Windows Batch中创建“ if and if”语句?

如何在 if(condition & condition & if()) 中创建 if 语句?

如何在Highcharts中创建没有样条且没有插值的图表?

如何使用if else语句在javascript对象中创建密钥

如何在 Databricks 流中的 Scala 中运行 if else 语句

如何在没有任何循环语句的情况下获取数组中多个文件的值

我如何在没有Elif的if语句Python中修复错误

在 Python 中,如何在没有“time.sleep()”的情况下暂停“if 语句”

我如何在xquery中拥有计数器?

如何在java中简化我的if-else语句?

如何在 PostgreSql 的 RETURN QUERY EXECUTE 中编写 IF ELSE 语句

如何在if / else语句Java中包含数字范围