From: Wolfgang M. <wol...@ex...> - 2004-06-23 15:02:15
|
Hi, I just added the missing method implementation to AVLTreeNodeSet, so you shouldn't see the exception anymore. Wolfgang On Tuesday 22 June 2004 22:00, Matt Williamson wrote: > Hey hey- > > In a webapp I'm working on, using eXist (6/22/04 snapshot), I make a > search similar to: > > for $i in collection('/db/data/people/')/* let $hits := (if > (match-all($i//name,'j.*','c.*')) then 1 else 0) return $i > > > == I shortened the $hits section so you guys could read it == > > and I received the following error: > > Failed to execute pipeline. > org.apache.cocoon.ProcessingException: Failed to execute > pipeline.: java.lang.RuntimeException: unsupported method: itemAt > (stacktrace at bottom of email) > > So I jumped over to the "Cocoon + XML:DB" local page so I could play > around with my xquery and I simplified it down and still found the same > error: > > for $i in collection('/db/data/people/')/* > let $m := string(match-all($i//name,'j.*','c.*')) > return $m > > I started changing things around for both queries and noticed that it > works for all of the following: > > When I use match-any() instead of match-all() > When I use just 'j.*' or just 'c.*' > When I use 'j.*' and 'a.*' (because they would not match any > name as a match-all) > > It does not work when i use 'j.*' and 'j.*' (which would return a name) > but it works with 'z.*' and 'z.*' which would not. > > I wanted to use match-all and match-any for their regex support so I > was hoping someone might have an idea at how this problem arose. > > > Thanks, > Matt Williamson > > > > --------------------------------------------------------------------------- >---------------------------------------------------------------------------- >------------------------------------------------------------------- Original > Exception: java.lang.RuntimeException: unsupported method: itemAt at > org.exist.dom.AVLTreeNodeSet.itemAt(AVLTreeNodeSet.java:71) > at > org.exist.xquery.value.AbstractSequence.convertTo(AbstractSequence.java:60) > at org.exist.xquery.functions.FunString.eval(FunString.java:64) > at org.exist.xquery.PathExpr.eval(PathExpr.java:130) > at org.exist.xquery.LetExpr.eval(LetExpr.java:51) > at org.exist.xquery.ForExpr.eval(ForExpr.java:139) > at org.exist.xquery.BindingExpression.eval(BindingExpression.java:97) > at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:45) > at org.exist.xquery.PathExpr.eval(PathExpr.java:148) > at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:45) > at org.exist.xquery.XQuery.execute(XQuery.java:107) > at > org.exist.xmldb.LocalXPathQueryService.execute(LocalXPathQueryService.java: >161) at > org.exist.xmldb.LocalXPathQueryService.doQuery(LocalXPathQueryService.java: >270) at > org.exist.xmldb.LocalXPathQueryService.query(LocalXPathQueryService.java:11 >9) at > org.exist.xmldb.LocalXPathQueryService.query(LocalXPathQueryService.java:98 >) at > org.apache.cocoon.components.source.impl.XMLDBSource.queryToSAX(XMLDBSource >.java:348) at > org.apache.cocoon.components.source.impl.XMLDBSource.collectionToSAX(XMLDBS >ource.java:285) at > org.apache.cocoon.components.source.impl.XMLDBSource.toSAX(XMLDBSource.java >:210) at > org.apache.cocoon.components.source.SourceUtil.parse(SourceUtil.java:279) > at > org.apache.cocoon.generation.FileGenerator.generate(FileGenerator.java:141) > at > org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXML >Pipeline(AbstractProcessingPipeline.java:581) at > org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipelin >e.processXMLPipeline(AbstractCachingProcessingPipeline.java:196) at > org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(Ab >stractProcessingPipeline.java:525) at > org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(Ser >ializeNode.java:155) at > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv >okeNodes(AbstractParentProcessingNode.java:84) at > org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNo >de.java:142) at > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv >okeNodes(AbstractParentProcessingNode.java:84) at > org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invo >ke(PreparableMatchNode.java:165) at > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv >okeNodes(AbstractParentProcessingNode.java:107) at > org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(Pipe >lineNode.java:162) at > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv >okeNodes(AbstractParentProcessingNode.java:107) at > org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(Pip >elinesNode.java:136) at > org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProces >sor.java:371) at > org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProces >sor.java:312) at org.apache.cocoon.Cocoon.process(Cocoon.java:656) > at > org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1112) at > javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366) > at > org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHand >ler.java:293) at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:581) at > org.mortbay.http.HttpContext.handle(HttpContext.java:1687) > at > org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContex >t.java:544) at org.mortbay.http.HttpContext.handle(HttpContext.java:1637) > at org.mortbay.http.HttpServer.service(HttpServer.java:875) > at org.mortbay.http.HttpConnection.service(HttpConnection.java:806) > at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:956) > at org.mortbay.http.HttpConnection.handle(HttpConnection.java:823) > at > org.mortbay.http.SocketListener.handleConnection(SocketListener.java:202) > at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:290) at > org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:743) at > java.lang.Thread.run(Unknown Source) -- Wolfgang Meier Darmstadt University of Technology Tel.: +49 (0) 06151 16 4458 ICQ: #296595621 http://exist-db.org http://www.sozionet.org |