From: Martin H. <ho...@fi...> - 2004-02-24 21:41:10
|
Hello Wolfgang, I got a class cast exception inside the XMLDBTransformer. The bug did ocurr when I switched from snapshot-20040202 to snapshot-20040223 astFactory.create(n1) returns a antlr.CommonAST, but is casted to XQueryAST. Original Exception: java.lang.ClassCastException at org.exist.xquery.parser.XQueryParser.ncnameOrKeyword(XQueryParser.java:4722) at org.exist.xquery.parser.XQueryParser.qName(XQueryParser.java:1061) at org.exist.xquery.parser.XQueryParser.stepExpr(XQueryParser.java:3389) at org.exist.xquery.parser.XQueryParser.relativePathExpr(XQueryParser.java:3233) at org.exist.xquery.parser.XQueryParser.pathExpr(XQueryParser.java:3144) at org.exist.xquery.parser.XQueryParser.intersectExceptExpr(XQueryParser.java:3028) at org.exist.xquery.parser.XQueryParser.unionExpr(XQueryParser.java:2929) at org.exist.xquery.parser.XQueryParser.unaryExpr(XQueryParser.java:2910) at org.exist.xquery.parser.XQueryParser.multiplicativeExpr(XQueryParser.java:2726) at org.exist.xquery.parser.XQueryParser.additiveExpr(XQueryParser.java:2677) at org.exist.xquery.parser.XQueryParser.rangeExpr(XQueryParser.java:2610) at org.exist.xquery.parser.XQueryParser.comparisonExpr(XQueryParser.java:2305) at org.exist.xquery.parser.XQueryParser.castExpr(XQueryParser.java:2254) at org.exist.xquery.parser.XQueryParser.andExpr(XQueryParser.java:2225) at org.exist.xquery.parser.XQueryParser.orExpr(XQueryParser.java:1817) at org.exist.xquery.parser.XQueryParser.exprSingle(XQueryParser.java:1641) at org.exist.xquery.parser.XQueryParser.expr(XQueryParser.java:312) at org.exist.xquery.parser.XQueryParser.queryBody(XQueryParser.java:674) at org.exist.xquery.parser.XQueryParser.mainModule(XQueryParser.java:505) at org.exist.xquery.parser.XQueryParser.module(XQueryParser.java:472) at org.exist.xquery.parser.XQueryParser.xpath(XQueryParser.java:413) at org.exist.dom.SortedNodeSet.addAll(SortedNodeSet.java:64) at org.exist.dom.SortedNodeSet.addAll(SortedNodeSet.java:44) at org.exist.xmldb.LocalResourceSet.<init>(LocalResourceSet.java:57) at org.exist.xmldb.LocalXPathQueryService.doQuery(LocalXPathQueryService.java:248) at org.exist.xmldb.LocalXPathQueryService.doQuery(LocalXPathQueryService.java:227) at org.exist.xmldb.LocalXPathQueryService.query(LocalXPathQueryService.java:100) at org.exist.cocoon.XMLDBTransformer.startForEach(XMLDBTransformer.java:321) at org.exist.cocoon.XMLDBTransformer.startElement(XMLDBTransformer.java:131) The input file (generated from a XSP generator): <?xml version="1.0" encoding="UTF-8"?> <page xmlns:xsp="http://apache.org/xsp" xmlns:input="http://apache.org/cocoon/xsp/input/1.0" xmlns:xsp-request="http://apache.org/xsp/request/2.0" xmlns:log="http://apache.or g/xsp/log/2.0" xmlns:portal="http://www.vs-c.de/schema/portal/1.0" xmlns:etrans="http://exist-db.org/transformer/1.0" xmlns:vlu="http://www.vs-c.de/schema/2002"> <subject>Chemie</subject> <area>Anorganische Chemie</area> <specialism>Chemische Bindung</specialism> <etrans:collection uri="xmldb:exist:///db"> <etrans:for-each sort-by="vlu:title" query="collection('/vlu')/vlu:vlunode[vlu:subject/@specialism &= 'Chemische Bindung']"> <etrans:select-node query="vlu:title"/> </etrans:for-each> </etrans:collection> </page> |
From: Wolfgang M. <wol...@ex...> - 2004-02-25 16:02:30
|
Hi, yes, I subclassed CommonAST to track line and column numbers, but somehow the wrong constructor got called, so ANTLR still used CommonAST instead of my XQueryAST in some places. I uploaded a new snapshot to fix this. Wolfgang On Tuesday 24 February 2004 22:32, Martin Holz wrote: > Hello Wolfgang, > > I got a class cast exception inside the XMLDBTransformer. The bug did > ocurr when I switched from snapshot-20040202 to snapshot-20040223 > > astFactory.create(n1) returns a antlr.CommonAST, but is casted to > XQueryAST. |