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

时间:2012-09-21 03:54:35

标签: syntax xquery

这就是......我有一个问题:

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)之间的线条在哪里?

1 个答案:

答案 0 :(得分:1)

嗯,只是......

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

另一方面(b1,b2)是两个独立的元素节点,并且要使一个序列ya需要放一个逗号