XPath 3.0中用let声明多变量并分别执行for循环的实现方法
XPath 3.0 中用 let 声明变量并单独执行 for 循环的正确写法
要实现用let声明多个变量并为每个变量单独执行for循环,你需要确保return语句后是单个表达式——把多个for循环的结果组合成一个序列即可。
正确示例
let $x := a, $y := b return ( for $var1 in $x return expr1, for $var2 in $y return expr2 )
如果需要更紧凑的写法,也可以写成:
let $x := a, $y := b return (for $var1 in $x return expr1, for $var2 in $y return expr2)
你之前写法的问题
- 第一种写法:
return后拆分了两个独立的括号表达式,XPath要求let...return结构的return后只能跟一个表达式,不能拆分。 - 第二种写法:缺少了开头的
let变量声明部分,语法不完整。 - 第三种写法:
return后直接并列两个for循环,没有用括号包裹成单个序列表达式,不符合语法规范。
内容的提问来源于stack exchange,提问作者tookind
相关产品推荐
相关产品推荐

