From: Wolfgang M. M. <wol...@us...> - 2004-07-02 16:51:06
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/xquery/parser In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15222/src/org/exist/xquery/parser Modified Files: XQueryTreeParser.java XQuery.g Log Message: Fixed processing of computed constructors. Index: XQueryTreeParser.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** XQueryTreeParser.java 29 Jun 2004 14:23:26 -0000 1.12 --- XQueryTreeParser.java 2 Jul 2004 16:50:57 -0000 1.13 *************** *** 4561,4568 **** c.setContent(elementContent); PathExpr qnamePathExpr = new PathExpr(context); qnameExpr=expr(_t,qnamePathExpr); _t = _retTree; - c.setNameExpr(qnameExpr); contentExpr=expr(_t,elementContent); _t = _retTree; --- 4561,4568 ---- c.setContent(elementContent); PathExpr qnamePathExpr = new PathExpr(context); + c.setNameExpr(qnamePathExpr); qnameExpr=expr(_t,qnamePathExpr); _t = _retTree; contentExpr=expr(_t,elementContent); _t = _retTree; *************** *** 4582,4594 **** step = a; PathExpr qnamePathExpr = new PathExpr(context); elementContent = new PathExpr(context); ! a.setValueExpr(elementContent); qnameExpr=expr(_t,qnamePathExpr); _t = _retTree; - a.setNameExpr(qnameExpr); contentExpr=expr(_t,elementContent); _t = _retTree; - elementContent.add(contentExpr); _t = __t435; _t = _t.getNextSibling(); --- 4582,4593 ---- step = a; PathExpr qnamePathExpr = new PathExpr(context); + a.setNameExpr(qnamePathExpr); elementContent = new PathExpr(context); ! a.setContentExpr(elementContent); qnameExpr=expr(_t,qnamePathExpr); _t = _retTree; contentExpr=expr(_t,elementContent); _t = _retTree; _t = __t435; _t = _t.getNextSibling(); *************** *** 4606,4609 **** --- 4605,4609 ---- step = pd; PathExpr qnamePathExpr = new PathExpr(context); + pd.setNameExpr(qnamePathExpr); elementContent = new PathExpr(context); pd.setContentExpr(elementContent); *************** *** 4611,4618 **** qnameExpr=expr(_t,qnamePathExpr); _t = _retTree; - pd.setNameExpr(qnameExpr); contentExpr=expr(_t,elementContent); _t = _retTree; - elementContent.add(contentExpr); _t = __t436; _t = _t.getNextSibling(); --- 4611,4616 ---- *************** *** 4735,4745 **** match(_t,COMP_TEXT_CONSTRUCTOR); _t = _t.getFirstChild(); - contentExpr=expr(_t,new PathExpr(context)); - _t = _retTree; ! DynamicTextConstructor text = new DynamicTextConstructor(context, contentExpr); text.setASTNode(t); step= text; _t = __t447; _t = _t.getNextSibling(); --- 4733,4744 ---- match(_t,COMP_TEXT_CONSTRUCTOR); _t = _t.getFirstChild(); ! elementContent = new PathExpr(context); ! DynamicTextConstructor text = new DynamicTextConstructor(context, elementContent); text.setASTNode(t); step= text; + contentExpr=expr(_t,elementContent); + _t = _retTree; _t = __t447; _t = _t.getNextSibling(); *************** *** 4752,4762 **** match(_t,COMP_COMMENT_CONSTRUCTOR); _t = _t.getFirstChild(); - contentExpr=expr(_t,new PathExpr(context)); - _t = _retTree; ! DynamicCommentConstructor comment = new DynamicCommentConstructor(context, contentExpr); comment.setASTNode(t); step= comment; _t = __t448; _t = _t.getNextSibling(); --- 4751,4762 ---- match(_t,COMP_COMMENT_CONSTRUCTOR); _t = _t.getFirstChild(); ! elementContent = new PathExpr(context); ! DynamicCommentConstructor comment = new DynamicCommentConstructor(context, elementContent); comment.setASTNode(t); step= comment; + contentExpr=expr(_t,elementContent); + _t = _retTree; _t = __t448; _t = _t.getNextSibling(); *************** *** 4769,4780 **** match(_t,COMP_NS_CONSTRUCTOR); _t = _t.getFirstChild(); - contentExpr=expr(_t,new PathExpr(context)); - _t = _retTree; NamespaceConstructor ns = new NamespaceConstructor(context, prefix.getText()); ! ns.setURIExpression(contentExpr); ns.setASTNode(t); step= ns; _t = __t449; _t = _t.getNextSibling(); --- 4769,4781 ---- match(_t,COMP_NS_CONSTRUCTOR); _t = _t.getFirstChild(); + elementContent = new PathExpr(context); NamespaceConstructor ns = new NamespaceConstructor(context, prefix.getText()); ! ns.setURIExpression(elementContent); ns.setASTNode(t); step= ns; + contentExpr=expr(_t,elementContent); + _t = _retTree; _t = __t449; _t = _t.getNextSibling(); *************** *** 4787,4797 **** match(_t,COMP_DOC_CONSTRUCTOR); _t = _t.getFirstChild(); - contentExpr=expr(_t,new PathExpr(context)); - _t = _retTree; ! DocumentConstructor doc = new DocumentConstructor(context, contentExpr); doc.setASTNode(d); step= doc; _t = __t450; _t = _t.getNextSibling(); --- 4788,4799 ---- match(_t,COMP_DOC_CONSTRUCTOR); _t = _t.getFirstChild(); ! elementContent = new PathExpr(context); ! DocumentConstructor doc = new DocumentConstructor(context, elementContent); doc.setASTNode(d); step= doc; + contentExpr=expr(_t,elementContent); + _t = _retTree; _t = __t450; _t = _t.getNextSibling(); Index: XQuery.g =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/parser/XQuery.g,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** XQuery.g 29 Jun 2004 14:23:26 -0000 1.15 --- XQuery.g 2 Jul 2004 16:50:57 -0000 1.16 *************** *** 2414,2421 **** c.setContent(elementContent); PathExpr qnamePathExpr = new PathExpr(context); } qnameExpr=expr [qnamePathExpr] - { c.setNameExpr(qnameExpr); } contentExpr=expr [elementContent] ) --- 2414,2421 ---- c.setContent(elementContent); PathExpr qnamePathExpr = new PathExpr(context); + c.setNameExpr(qnamePathExpr); } qnameExpr=expr [qnamePathExpr] contentExpr=expr [elementContent] ) *************** *** 2428,2438 **** step = a; PathExpr qnamePathExpr = new PathExpr(context); elementContent = new PathExpr(context); ! a.setValueExpr(elementContent); } qnameExpr=expr [qnamePathExpr] - { a.setNameExpr(qnameExpr); } contentExpr=expr [elementContent] - { elementContent.add(contentExpr); } ) | --- 2428,2437 ---- step = a; PathExpr qnamePathExpr = new PathExpr(context); + a.setNameExpr(qnamePathExpr); elementContent = new PathExpr(context); ! a.setContentExpr(elementContent); } qnameExpr=expr [qnamePathExpr] contentExpr=expr [elementContent] ) | *************** *** 2444,2454 **** step = pd; PathExpr qnamePathExpr = new PathExpr(context); elementContent = new PathExpr(context); pd.setContentExpr(elementContent); } qnameExpr=expr [qnamePathExpr] - { pd.setNameExpr(qnameExpr); } contentExpr=expr [elementContent] - { elementContent.add(contentExpr); } ) | --- 2443,2452 ---- step = pd; PathExpr qnamePathExpr = new PathExpr(context); + pd.setNameExpr(qnamePathExpr); elementContent = new PathExpr(context); pd.setContentExpr(elementContent); } qnameExpr=expr [qnamePathExpr] contentExpr=expr [elementContent] ) | *************** *** 2504,2544 **** #( t:COMP_TEXT_CONSTRUCTOR ! contentExpr=expr [new PathExpr(context)] ! { ! DynamicTextConstructor text = new DynamicTextConstructor(context, contentExpr); text.setASTNode(t); step= text; } ) | #( tc:COMP_COMMENT_CONSTRUCTOR - contentExpr=expr [new PathExpr(context)] { ! DynamicCommentConstructor comment = new DynamicCommentConstructor(context, contentExpr); comment.setASTNode(t); step= comment; } ) | #( prefix:COMP_NS_CONSTRUCTOR - contentExpr=expr [new PathExpr(context)] { NamespaceConstructor ns = new NamespaceConstructor(context, prefix.getText()); ! ns.setURIExpression(contentExpr); ns.setASTNode(t); step= ns; } ) | #( d:COMP_DOC_CONSTRUCTOR - contentExpr=expr [new PathExpr(context)] { ! DocumentConstructor doc = new DocumentConstructor(context, contentExpr); doc.setASTNode(d); step= doc; } ) | --- 2502,2546 ---- #( t:COMP_TEXT_CONSTRUCTOR ! { ! elementContent = new PathExpr(context); ! DynamicTextConstructor text = new DynamicTextConstructor(context, elementContent); text.setASTNode(t); step= text; } + contentExpr=expr [elementContent] ) | #( tc:COMP_COMMENT_CONSTRUCTOR { ! elementContent = new PathExpr(context); ! DynamicCommentConstructor comment = new DynamicCommentConstructor(context, elementContent); comment.setASTNode(t); step= comment; } + contentExpr=expr [elementContent] ) | #( prefix:COMP_NS_CONSTRUCTOR { + elementContent = new PathExpr(context); NamespaceConstructor ns = new NamespaceConstructor(context, prefix.getText()); ! ns.setURIExpression(elementContent); ns.setASTNode(t); step= ns; } + contentExpr=expr [elementContent] ) | #( d:COMP_DOC_CONSTRUCTOR { ! elementContent = new PathExpr(context); ! DocumentConstructor doc = new DocumentConstructor(context, elementContent); doc.setASTNode(d); step= doc; } + contentExpr=expr [elementContent] ) | |