From: Wolfgang M. M. <wol...@us...> - 2004-08-07 16:28:14
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/xquery/parser In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14978/src/org/exist/xquery/parser Modified Files: XQueryLexer.java XQueryParser.java XQueryTreeParser.java XQuery.g Log Message: Namespace declarations in direct or computed element constructors were only copied to the output if they were referenced by a element or attribute qname following the declaration. This made it difficult to write - for example - an XSLT fragment that used the namespace in an xsl:template. Namespace declarations are now preserved. They are attached to the element node in which they were declared. Index: XQueryTreeParser.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/parser/XQueryTreeParser.java,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** XQueryTreeParser.java 4 Aug 2004 19:00:06 -0000 1.17 --- XQueryTreeParser.java 7 Aug 2004 16:28:03 -0000 1.18 *************** *** 114,118 **** case XPOINTER: { ! AST __t268 = _t; org.exist.xquery.parser.XQueryAST tmp1_AST_in = (org.exist.xquery.parser.XQueryAST)_t; match(_t,XPOINTER); --- 114,118 ---- case XPOINTER: { ! AST __t277 = _t; org.exist.xquery.parser.XQueryAST tmp1_AST_in = (org.exist.xquery.parser.XQueryAST)_t; [...3276 lines suppressed...] private static final long[] mk_tokenSet_0() { ! long[] data = { 1442919852509134736L, -5765733423243055566L, 201850867L, 0L, 0L, 0L}; return data; } public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0()); private static final long[] mk_tokenSet_1() { ! long[] data = { 1152930163263537152L, 0L, 134217731L, 0L, 0L, 0L}; return data; } --- 5413,5422 ---- private static final long[] mk_tokenSet_0() { ! long[] data = { 1442915454462623632L, -5765733423243055566L, 201850867L, 0L, 0L, 0L}; return data; } public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0()); private static final long[] mk_tokenSet_1() { ! long[] data = { 1152925765217026048L, 0L, 134217731L, 0L, 0L, 0L}; return data; } Index: XQueryLexer.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/parser/XQueryLexer.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** XQueryLexer.java 29 Jun 2004 14:23:24 -0000 1.11 --- XQueryLexer.java 7 Aug 2004 16:28:02 -0000 1.12 *************** *** 2165,2170 **** { ! int _cnt491=0; ! _loop491: do { if ((_tokenSet_3.member(LA(1)))) { --- 2165,2170 ---- { ! int _cnt502=0; ! _loop502: do { if ((_tokenSet_3.member(LA(1)))) { *************** *** 2172,2179 **** } else { ! if ( _cnt491>=1 ) { break _loop491; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } ! _cnt491++; } while (true); } --- 2172,2179 ---- } else { ! if ( _cnt502>=1 ) { break _loop502; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } ! _cnt502++; } while (true); } *************** *** 2316,2321 **** { ! int _cnt494=0; ! _loop494: do { switch ( LA(1)) { --- 2316,2321 ---- { ! int _cnt505=0; ! _loop505: do { switch ( LA(1)) { *************** *** 2341,2348 **** default: { ! if ( _cnt494>=1 ) { break _loop494; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } } ! _cnt494++; } while (true); } --- 2341,2348 ---- default: { ! if ( _cnt505>=1 ) { break _loop505; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } } ! _cnt505++; } while (true); } *************** *** 3068,3072 **** mNMSTART(false); { ! _loop501: do { if ((_tokenSet_6.member(LA(1)))) { --- 3068,3072 ---- mNMSTART(false); { ! _loop512: do { if ((_tokenSet_6.member(LA(1)))) { *************** *** 3074,3078 **** } else { ! break _loop501; } --- 3074,3078 ---- } else { ! break _loop512; } *************** *** 3093,3098 **** { ! int _cnt504=0; ! _loop504: do { switch ( LA(1)) { --- 3093,3098 ---- { ! int _cnt515=0; ! _loop515: do { switch ( LA(1)) { *************** *** 3122,3129 **** default: { ! if ( _cnt504>=1 ) { break _loop504; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } } ! _cnt504++; } while (true); } --- 3122,3129 ---- default: { ! if ( _cnt515>=1 ) { break _loop515; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } } ! _cnt515++; } while (true); } *************** *** 3142,3151 **** match("(:"); { ! _loop510: do { ! boolean synPredMatched509 = false; if (((LA(1)==':') && (_tokenSet_7.member(LA(2))) && (_tokenSet_7.member(LA(3))))) { ! int _m509 = mark(); ! synPredMatched509 = true; inputState.guessing++; try { --- 3142,3151 ---- match("(:"); { ! _loop521: do { ! boolean synPredMatched520 = false; if (((LA(1)==':') && (_tokenSet_7.member(LA(2))) && (_tokenSet_7.member(LA(3))))) { ! int _m520 = mark(); ! synPredMatched520 = true; inputState.guessing++; try { *************** *** 3158,3167 **** } catch (RecognitionException pe) { ! synPredMatched509 = false; } ! rewind(_m509); inputState.guessing--; } ! if ( synPredMatched509 ) { match(':'); } --- 3158,3167 ---- } catch (RecognitionException pe) { ! synPredMatched520 = false; } ! rewind(_m520); inputState.guessing--; } ! if ( synPredMatched520 ) { match(':'); } *************** *** 3170,3174 **** } else { ! break _loop510; } --- 3170,3174 ---- } else { ! break _loop521; } *************** *** 3273,3277 **** match('.'); { ! _loop518: do { if ((_tokenSet_3.member(LA(1)))) { --- 3273,3277 ---- match('.'); { ! _loop529: do { if ((_tokenSet_3.member(LA(1)))) { *************** *** 3279,3283 **** } else { ! break _loop518; } --- 3279,3283 ---- } else { ! break _loop529; } *************** *** 3367,3371 **** match('.'); { ! _loop526: do { if ((_tokenSet_3.member(LA(1)))) { --- 3367,3371 ---- match('.'); { ! _loop537: do { if ((_tokenSet_3.member(LA(1)))) { *************** *** 3373,3377 **** } else { ! break _loop526; } --- 3373,3377 ---- } else { ! break _loop537; } *************** *** 3481,3485 **** text.setLength(_saveIndex); { ! _loop536: do { if ((LA(1)=='&') && (LA(2)=='a'||LA(2)=='g'||LA(2)=='l'||LA(2)=='q')) { --- 3481,3485 ---- text.setLength(_saveIndex); { ! _loop547: do { if ((LA(1)=='&') && (LA(2)=='a'||LA(2)=='g'||LA(2)=='l'||LA(2)=='q')) { *************** *** 3503,3507 **** } else { ! break _loop536; } --- 3503,3507 ---- } else { ! break _loop547; } *************** *** 3519,3523 **** text.setLength(_saveIndex); { ! _loop540: do { if ((LA(1)=='&') && (LA(2)=='a'||LA(2)=='g'||LA(2)=='l'||LA(2)=='q')) { --- 3519,3523 ---- text.setLength(_saveIndex); { ! _loop551: do { if ((LA(1)=='&') && (LA(2)=='a'||LA(2)=='g'||LA(2)=='l'||LA(2)=='q')) { *************** *** 3541,3545 **** } else { ! break _loop540; } --- 3541,3545 ---- } else { ! break _loop551; } *************** *** 3569,3574 **** { ! int _cnt543=0; ! _loop543: do { switch ( LA(1)) { --- 3569,3574 ---- { ! int _cnt554=0; ! _loop554: do { switch ( LA(1)) { *************** *** 3642,3649 **** } else { ! if ( _cnt543>=1 ) { break _loop543; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } } ! _cnt543++; } while (true); } --- 3642,3649 ---- } else { ! if ( _cnt554>=1 ) { break _loop554; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } } ! _cnt554++; } while (true); } *************** *** 3661,3666 **** { ! int _cnt546=0; ! _loop546: do { switch ( LA(1)) { --- 3661,3666 ---- { ! int _cnt557=0; ! _loop557: do { switch ( LA(1)) { *************** *** 3724,3731 **** } else { ! if ( _cnt546>=1 ) { break _loop546; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } } ! _cnt546++; } while (true); } --- 3724,3731 ---- } else { ! if ( _cnt557>=1 ) { break _loop557; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } } ! _cnt557++; } while (true); } *************** *** 3746,3751 **** text.setLength(_saveIndex); { ! int _cnt553=0; ! _loop553: do { if ((_tokenSet_12.member(LA(1)))) { --- 3746,3751 ---- text.setLength(_saveIndex); { ! int _cnt564=0; ! _loop564: do { if ((_tokenSet_12.member(LA(1)))) { *************** *** 3755,3762 **** } else { ! boolean synPredMatched552 = false; if (((LA(1)=='-'))) { ! int _m552 = mark(); ! synPredMatched552 = true; inputState.guessing++; try { --- 3755,3762 ---- } else { ! boolean synPredMatched563 = false; if (((LA(1)=='-'))) { ! int _m563 = mark(); ! synPredMatched563 = true; inputState.guessing++; try { *************** *** 3769,3785 **** } catch (RecognitionException pe) { ! synPredMatched552 = false; } ! rewind(_m552); inputState.guessing--; } ! if ( synPredMatched552 ) { match('-'); } else { ! if ( _cnt553>=1 ) { break _loop553; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } } ! _cnt553++; } while (true); } --- 3769,3785 ---- } catch (RecognitionException pe) { ! synPredMatched563 = false; } ! rewind(_m563); inputState.guessing--; } ! if ( synPredMatched563 ) { match('-'); } else { ! if ( _cnt564>=1 ) { break _loop564; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } } ! _cnt564++; } while (true); } *************** *** 3802,3807 **** match(' '); { ! int _cnt560=0; ! _loop560: do { if ((_tokenSet_13.member(LA(1)))) { --- 3802,3807 ---- match(' '); { ! int _cnt571=0; ! _loop571: do { if ((_tokenSet_13.member(LA(1)))) { *************** *** 3811,3818 **** } else { ! boolean synPredMatched559 = false; if (((LA(1)=='?'))) { ! int _m559 = mark(); ! synPredMatched559 = true; inputState.guessing++; try { --- 3811,3818 ---- } else { ! boolean synPredMatched570 = false; if (((LA(1)=='?'))) { ! int _m570 = mark(); ! synPredMatched570 = true; inputState.guessing++; try { *************** *** 3825,3841 **** } catch (RecognitionException pe) { ! synPredMatched559 = false; } ! rewind(_m559); inputState.guessing--; } ! if ( synPredMatched559 ) { match('?'); } else { ! if ( _cnt560>=1 ) { break _loop560; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } } ! _cnt560++; } while (true); } --- 3825,3841 ---- } catch (RecognitionException pe) { ! synPredMatched570 = false; } ! rewind(_m570); inputState.guessing--; } ! if ( synPredMatched570 ) { match('?'); } else { ! if ( _cnt571>=1 ) { break _loop571; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } } ! _cnt571++; } while (true); } *************** *** 3882,3889 **** } else { ! boolean synPredMatched577 = false; if (((_tokenSet_15.member(LA(1))) && (_tokenSet_16.member(LA(2))) && (_tokenSet_17.member(LA(3))))) { ! int _m577 = mark(); ! synPredMatched577 = true; inputState.guessing++; try { --- 3882,3889 ---- } else { ! boolean synPredMatched588 = false; if (((_tokenSet_15.member(LA(1))) && (_tokenSet_16.member(LA(2))) && (_tokenSet_17.member(LA(3))))) { ! int _m588 = mark(); ! synPredMatched588 = true; inputState.guessing++; try { *************** *** 3939,3948 **** } catch (RecognitionException pe) { ! synPredMatched577 = false; } ! rewind(_m577); inputState.guessing--; } ! if ( synPredMatched577 ) { mDOUBLE_LITERAL(false); if ( inputState.guessing==0 ) { --- 3939,3948 ---- } catch (RecognitionException pe) { ! synPredMatched588 = false; } ! rewind(_m588); inputState.guessing--; } ! if ( synPredMatched588 ) { mDOUBLE_LITERAL(false); if ( inputState.guessing==0 ) { *************** *** 3963,3970 **** } else { ! boolean synPredMatched563 = false; if (((LA(1)=='<') && (LA(2)=='?'))) { ! int _m563 = mark(); ! synPredMatched563 = true; inputState.guessing++; try { --- 3963,3970 ---- } else { ! boolean synPredMatched574 = false; if (((LA(1)=='<') && (LA(2)=='?'))) { ! int _m574 = mark(); ! synPredMatched574 = true; inputState.guessing++; try { *************** *** 3974,3983 **** } catch (RecognitionException pe) { ! synPredMatched563 = false; } ! rewind(_m563); inputState.guessing--; } ! if ( synPredMatched563 ) { mXML_PI(false); if ( inputState.guessing==0 ) { --- 3974,3983 ---- } catch (RecognitionException pe) { ! synPredMatched574 = false; } ! rewind(_m574); inputState.guessing--; } ! if ( synPredMatched574 ) { mXML_PI(false); if ( inputState.guessing==0 ) { *************** *** 4008,4015 **** } else { ! boolean synPredMatched565 = false; if (((LA(1)=='.') && (LA(2)=='.') && (true))) { ! int _m565 = mark(); ! synPredMatched565 = true; inputState.guessing++; try { --- 4008,4015 ---- } else { ! boolean synPredMatched576 = false; if (((LA(1)=='.') && (LA(2)=='.') && (true))) { ! int _m576 = mark(); ! synPredMatched576 = true; inputState.guessing++; try { *************** *** 4020,4029 **** } catch (RecognitionException pe) { ! synPredMatched565 = false; } ! rewind(_m565); inputState.guessing--; } ! if ( synPredMatched565 ) { mPARENT(false); if ( inputState.guessing==0 ) { --- 4020,4029 ---- } catch (RecognitionException pe) { ! synPredMatched576 = false; } ! rewind(_m576); inputState.guessing--; } ! if ( synPredMatched576 ) { mPARENT(false); if ( inputState.guessing==0 ) { *************** *** 4115,4122 **** } else { ! boolean synPredMatched568 = false; if (((_tokenSet_15.member(LA(1))) && (true) && (true))) { ! int _m568 = mark(); ! synPredMatched568 = true; inputState.guessing++; try { --- 4115,4122 ---- } else { ! boolean synPredMatched579 = false; if (((_tokenSet_15.member(LA(1))) && (true) && (true))) { ! int _m579 = mark(); ! synPredMatched579 = true; inputState.guessing++; try { *************** *** 4145,4154 **** } catch (RecognitionException pe) { ! synPredMatched568 = false; } ! rewind(_m568); inputState.guessing--; } ! if ( synPredMatched568 ) { mDECIMAL_LITERAL(false); if ( inputState.guessing==0 ) { --- 4145,4154 ---- } catch (RecognitionException pe) { ! synPredMatched579 = false; } ! rewind(_m579); inputState.guessing--; } ! if ( synPredMatched579 ) { mDECIMAL_LITERAL(false); if ( inputState.guessing==0 ) { *************** *** 4157,4164 **** } else { ! boolean synPredMatched570 = false; if (((_tokenSet_15.member(LA(1))) && (true) && (true))) { ! int _m570 = mark(); ! synPredMatched570 = true; inputState.guessing++; try { --- 4157,4164 ---- } else { ! boolean synPredMatched581 = false; if (((_tokenSet_15.member(LA(1))) && (true) && (true))) { ! int _m581 = mark(); ! synPredMatched581 = true; inputState.guessing++; try { *************** *** 4169,4178 **** } catch (RecognitionException pe) { ! synPredMatched570 = false; } ! rewind(_m570); inputState.guessing--; } ! if ( synPredMatched570 ) { mDECIMAL_LITERAL(false); if ( inputState.guessing==0 ) { --- 4169,4178 ---- } catch (RecognitionException pe) { ! synPredMatched581 = false; } ! rewind(_m581); inputState.guessing--; } ! if ( synPredMatched581 ) { mDECIMAL_LITERAL(false); if ( inputState.guessing==0 ) { *************** *** 4181,4188 **** } else { ! boolean synPredMatched572 = false; if (((LA(1)=='.') && (true) && (true))) { ! int _m572 = mark(); ! synPredMatched572 = true; inputState.guessing++; try { --- 4181,4188 ---- } else { ! boolean synPredMatched583 = false; if (((LA(1)=='.') && (true) && (true))) { ! int _m583 = mark(); ! synPredMatched583 = true; inputState.guessing++; try { *************** *** 4192,4201 **** } catch (RecognitionException pe) { ! synPredMatched572 = false; } ! rewind(_m572); inputState.guessing--; } ! if ( synPredMatched572 ) { mSELF(false); if ( inputState.guessing==0 ) { --- 4192,4201 ---- } catch (RecognitionException pe) { ! synPredMatched583 = false; } ! rewind(_m583); inputState.guessing--; } ! if ( synPredMatched583 ) { mSELF(false); if ( inputState.guessing==0 ) { *************** *** 4204,4211 **** } else { ! boolean synPredMatched579 = false; if (((_tokenSet_15.member(LA(1))) && (true) && (true))) { ! int _m579 = mark(); ! synPredMatched579 = true; inputState.guessing++; try { --- 4204,4211 ---- } else { ! boolean synPredMatched590 = false; if (((_tokenSet_15.member(LA(1))) && (true) && (true))) { ! int _m590 = mark(); ! synPredMatched590 = true; inputState.guessing++; try { *************** *** 4216,4225 **** } catch (RecognitionException pe) { ! synPredMatched579 = false; } ! rewind(_m579); inputState.guessing--; } ! if ( synPredMatched579 ) { mDECIMAL_LITERAL(false); if ( inputState.guessing==0 ) { --- 4216,4225 ---- } catch (RecognitionException pe) { ! synPredMatched590 = false; } ! rewind(_m590); inputState.guessing--; } ! if ( synPredMatched590 ) { mDECIMAL_LITERAL(false); if ( inputState.guessing==0 ) { Index: XQueryParser.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/parser/XQueryParser.java,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** XQueryParser.java 4 Aug 2004 19:00:06 -0000 1.17 --- XQueryParser.java 7 Aug 2004 16:28:03 -0000 1.18 *************** *** 4727,4737 **** break; } - case LITERAL_namespace: - { - compNSConstructor(); - astFactory.addASTChild(currentAST, returnAST); - computedConstructor_AST = (org.exist.xquery.parser.XQueryAST)currentAST.root; - break; - } default: [...1416 lines suppressed...] case LITERAL_declare: { ! org.exist.xquery.parser.XQueryAST tmp422_AST = null; ! tmp422_AST = (org.exist.xquery.parser.XQueryAST)astFactory.create(LT(1)); ! astFactory.addASTChild(currentAST, tmp422_AST); match(LITERAL_declare); if ( inputState.guessing==0 ) { *************** *** 7005,7009 **** public static final BitSet _tokenSet_10 = new BitSet(mk_tokenSet_10()); private static final long[] mk_tokenSet_11() { ! long[] data = { 288511851128422400L, 6701356245527298048L, 0L, 0L}; return data; } --- 7079,7083 ---- public static final BitSet _tokenSet_10 = new BitSet(mk_tokenSet_10()); private static final long[] mk_tokenSet_11() { ! long[] data = { 288230376151711744L, 6701356245527298048L, 0L, 0L}; return data; } Index: XQuery.g =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/parser/XQuery.g,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** XQuery.g 4 Aug 2004 19:00:06 -0000 1.21 --- XQuery.g 7 Aug 2004 16:28:03 -0000 1.22 *************** *** 663,668 **** | compXmlComment - | - compNSConstructor ; --- 663,666 ---- *************** *** 673,683 **** : ( "element" LCURLY ) => ! "element"! LCURLY! e1:expr RCURLY! LCURLY! e2:expr RCURLY! { #compElemConstructor = #(#[COMP_ELEM_CONSTRUCTOR], #compElemConstructor); } | ! "element"! qn=qName LCURLY! e3:expr RCURLY! { #compElemConstructor = #(#[COMP_ELEM_CONSTRUCTOR, qn], #[STRING_LITERAL, qn], #e3); } ; compAttrConstructor { --- 671,695 ---- : ( "element" LCURLY ) => ! "element"! LCURLY! expr RCURLY! LCURLY! compElemBody RCURLY! { #compElemConstructor = #(#[COMP_ELEM_CONSTRUCTOR], #compElemConstructor); } | ! "element"! qn=qName LCURLY! e3:compElemBody RCURLY! { #compElemConstructor = #(#[COMP_ELEM_CONSTRUCTOR, qn], #[STRING_LITERAL, qn], #e3); } ; + compElemBody + : + ( + ( "namespace" ncnameOrKeyword LCURLY ) => localNamespaceDecl + | + exprSingle + ) + ( COMMA! ( + ( "namespace" ncnameOrKeyword LCURLY ) => localNamespaceDecl + | + exprSingle ) + )* + ; + compAttrConstructor { *************** *** 724,734 **** ; ! compNSConstructor { ! String qn = null; } : ! "namespace" qn=qName LCURLY! e:expr RCURLY! ! { #compNSConstructor = #(#[COMP_NS_CONSTRUCTOR, qn], #e); } ; --- 736,746 ---- ; ! localNamespaceDecl { ! String nc = null; } : ! "namespace"! nc=ncnameOrKeyword LCURLY! l:STRING_LITERAL RCURLY! ! { #localNamespaceDecl = #(#[COMP_NS_CONSTRUCTOR, nc], #l); } ; *************** *** 2411,2415 **** { ElementConstructor c= new ElementConstructor(context); ! c.setASTNode(qn); step= c; elementContent = new EnclosedExpr(context); --- 2423,2427 ---- { ElementConstructor c= new ElementConstructor(context); ! c.setASTNode(qn); step= c; elementContent = new EnclosedExpr(context); *************** *** 2420,2424 **** qnameExpr=expr [qnamePathExpr] ! contentExpr=expr [elementContent] ) | --- 2432,2443 ---- qnameExpr=expr [qnamePathExpr] ! ( ! #( prefix:COMP_NS_CONSTRUCTOR uri:STRING_LITERAL ) ! { ! c.addNamespaceDecl(prefix.getText(), uri.getText()); ! } ! | ! contentExpr=expr[elementContent] ! )* ) | *************** *** 2458,2462 **** { ElementConstructor c= new ElementConstructor(context, e.getText()); ! c.setASTNode(e); step= c; } --- 2477,2481 ---- { ElementConstructor c= new ElementConstructor(context, e.getText()); ! c.setASTNode(e); step= c; } *************** *** 2467,2471 **** AttributeConstructor attrib= new AttributeConstructor(context, attrName.getText()); attrib.setASTNode(attrName); - c.addAttribute(attrib); } ( --- 2486,2489 ---- *************** *** 2479,2482 **** --- 2497,2501 ---- ) )+ + { c.addAttribute(attrib); } ) )* *************** *** 2525,2540 **** | #( - 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 { --- 2544,2547 ---- |