FLWOR(读作flower)是XQuery最重要最有特色的语法之一,
和SQL的Select-From-Where语句类似有相似的功能
FLWORExpr ::= (ForClause | LetClause)+ WhereClause? OrderByClause? "return" ExprSingle
ForClause ::= "for" "$" VarName TypeDeclaration? PositionalVar? "in"
ExprSingle ("," "$" VarName TypeDeclaration? PositionalVar?
"in" ExprSingle)*
LetClause ::= "let" "$" VarName TypeDeclaration? ":=" ExprSingle
("," "$" VarName TypeDeclaration? ":=" ExprSingle)*
WhereClause ::= "where" ExprSingle
以DB2为例
xquery
for $d in db2-fn:xmlcolumn ('T.DOC')
let $a:=$d//title,$b:=$d/actor
where $a/text()='Chicago'
order by $b/text()
return $a
XQuery查询的处理模型
评论