From: <sp...@so...> - 2003-12-16 15:05:19
|
I have downloaded the latest snapshot (2003/12/16), and some old XQueries don't work anymore. I think there is a problem with the XQuery compiler and the let expression. When I send the following XQuery : for $a in (/document) let $title:=$a/title/text() where contains($title,"term") return <result>{($title)}</result> No results are returned. Although, I get results as expected when I send the following query : for $a in (/document) where contains($a/title/text(),"term") return <result>{($title)}</result> Moreover, the debug logs look like there is an extra "return" statement just before the "let" : DEBUG (RpcConnection.java [doQuery]:181) - generated AST: ( return ( for ( a ( Parenthesized ( AbsoluteSlash document ) ) ) ) ( let ( title ( / ( / a title ) text ) ) ) where ( contains title term ) ( result ( { ( Parenthesized title ) ) ) ) INFO (RpcConnection.java [doQuery]:188) - compiled: (for a in ((ROOT/child::document)) return let title := ($a/child::title/child::text()) where (contains(#atomize(($title)) cast as xs:string cast as xs:string treat as xs:string,(term))) return (<result>({(($title))})</result>)) Is anyone experiencing the same problem ? Thanks. Sebastien. |