- From: Mukul Gandhi <mukul_gandhi@yahoo.com>
- Date: Mon, 21 Mar 2005 06:58:21 -0800 (PST)
- To: Michael Kay <mhk@mhk.me.uk>, 'Sergio Andreozzi' <sergio.andreozzi@cnaf.infn.it>
- Cc: www-ql@w3.org
Thanks a lot Mike. Therefore this XQuery seems good.. Hope Sergio likes it! <Results> { for $A in doc("data.xml")/ASet/A let $matches := $A[B = ("red","yellow")][C =("chair","table")]/((B[.=("red","yellow")] | C[.=("chair","table")])) where $A/$matches return <A> {$A/@*} {$matches} </A> }</Results> Regards, Mukul --- Michael Kay <mhk@mhk.me.uk> wrote: > > I have one question.. Can we write if without else > in > > XQuery? > > No, you can't. > > > > The XQuery grammer says: > > IfExpr ::= "if" "(" Expr ")" "then" > ExprSingle > > "else" ExprSingle > > > > > > If else is mandatory, then is'nt it a > inconvenience..? > > XQuery is an expression language. In most expression > languages, both > branches of a conditional are mandatory. The WG > decided to do it that way > (a) so the else branch is explicit, (b) to avoid > dangling-else ambiguities > in the grammar (the alternative would have been an > "end-if" keyword). You > can always write "else ()". And in most cases, like > this, you can replace > > for ... return if X then Y else () > > by > > for ... where X return Y > > Michael Kay > http://www.saxonica.com/ __________________________________ Do you Yahoo!? Yahoo! Small Business - Try our new resources site! http://smallbusiness.yahoo.com/resources/
Received on Monday, 21 March 2005 14:58:54 UTC