FLWOR式return節メモ
あーあー、return節単体じゃ書けないのか。
FLWORExpr ::= (ForClause | LetClause)+ WhereClause? OrderByClause? "return" ExprSingle
http://www.w3.org/TR/xquery/#id-grammar
for節か、let節が必ずひとつ以上要るのね。
はあ……これくらいならいいけど、全部EBNF覚えてらんないよ。XMLマスターのばーか、ばーか。
要するに、
return (<hoge/>, <piyo/>, <fuga/>)
こんなんダメってこと。
(<hoge/>, <piyo/>, <fuga/>)
FLWOR式じゃなくて、これだけ書くならいい。()はなくてもいい。return節には単一式しか書けないから要る。
yuno.xml
<ひだまりスケッチ xmlns="×365"> <X><_><X/></_></X> <来週も見てくださいね/> </ひだまりスケッチ>
XQuery
declare default element namespace "×365"; let $_ := fn:doc("yuno.xml")/*[X / _ / X << 来週も見てくださいね] return fn:concat( fn:name($_), fn:namespace-uri($_), " ", fn:name($_/*[fn:last()]), "!" )