XPath 3.0 中多个变量的 Let 表达式

Let expression for multiple variables in XPath 3.0

提问人:tookind 提问时间:11/9/2023 最后编辑:tookind 更新时间:11/9/2023 访问量:40

问:

我想使用函数声明 2-3 个变量,并为每个变量运行单独的循环。我该怎么做?letfor

我只能使用 XPath 3.0。

提前致谢。

我尝试了这样的表达式,但它们不起作用: 1)let $x := a, $y := b return (for $var1 in $x return expr1), (for $var2 in $y return expr2)

  1. return (for $var1 in $x return expr1, for $var2 in $y return expr2)

  2. return for $var1 in $x return expr1, for $var2 in $y return expr2

XML XPath XPATH-3.0

评论


答:

0赞 Michael Kay 11/9/2023 #1

XPath 3.0 中的语法是

[11]    LetExpr    ::=      
          SimpleLetClause "return" ExprSingle
[12]    SimpleLetClause    ::=      
          "let" SimpleLetBinding ("," SimpleLetBinding)*
[13]    SimpleLetBinding   ::=      
          "$" VarName ":=" ExprSingle

我相信结构:

let $x := a, $y := b 
return (for $var1 in $x return expr1, for $var2 in $y return expr2)

应该可以工作,尽管我没有 XPath 3.0 处理器可以尝试。它肯定在 XPath 3.1 中有效。