何时必须使用逗号来分隔结果



事情是这样的... 我有一个疑问:

for $item in doc("order.xml")//item 
$name:= doc("catalog.xml")//product[number = $item/@num]/name 
return <item num="{$item/@num" (: a1 :)
    name="{$name}"             (: a2 :)
    quan="{$item/@quantity}"/> (: a3 :)

.... 没有逗号,对吧? 后来,它说"如果firstresult后面的逗号不存在,那将是一个语法错误,因为查询正文中会有两个单独的表达式",关于不同的查询:

declare boundary-space preserve;
declare namespace prod = "http://datypic.com/prod";
declare variable $catalog := doc("catalog.xml")//catalog;
<firstResult>{count($catalog/product)}</firstResult>               (: b1 :)
<prod:secondResult>{$catalog/product/number}</prod:secondResult>   (: b2 :)
"单独的查询"(b1 和

b2)和"同一查询的单独部分"(a1、a2 和 a3)之间的界限在哪里?

嗯,它只是...

(a1, a2, a3) 是单元素节点,但跨越多行(这是允许的!

另一方面(B1,B2)是两个独立的元素节点,要制作序列,您需要放置一个逗号

最新更新