morten 01/10/10 03:14:10
Modified: java/src/org/apache/xalan/xsltc/compiler xpath.cup
Log:
Fix for a regressions caused by the fix for bug 3343.
PR: n/a
Obtained from: n/a
Submitted by: [EMAIL PROTECTED]
Reviewed by: [EMAIL PROTECTED]
Revision Changes Path
1.23 +13 -11
xml-xalan/java/src/org/apache/xalan/xsltc/compiler/xpath.cup
Index: xpath.cup
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/xpath.cup,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- xpath.cup 2001/10/09 16:31:38 1.22
+++ xpath.cup 2001/10/10 10:14:10 1.23
@@ -1,5 +1,5 @@
/*
- * @(#)$Id: xpath.cup,v 1.22 2001/10/09 16:31:38 morten Exp $
+ * @(#)$Id: xpath.cup,v 1.23 2001/10/10 10:14:10 morten Exp $
*
* Copyright 2000 Sun Microsystems, Inc. All Rights Reserved.
*
@@ -68,7 +68,7 @@
_xsltc.setMultiDocument(flag);
}
- public int findNodeType(int axis, Object test) {
+ public int findNodeType(int axis, Object test, boolean inPattern) {
if (test == null) { // *
return axis == Axis.ATTRIBUTE
? NodeTest.ATTRIBUTE
@@ -85,7 +85,8 @@
return(NodeTest.ELEMENT);
else if (local.equals("@*"))
return(NodeTest.ATTRIBUTE);
- name = new QName(null,null,local);
+ if (inPattern)
+ name = new QName(null,null,local);
}
return axis == Axis.ATTRIBUTE
? _xsltc.registerAttribute(name)
@@ -251,19 +252,20 @@
StepPattern ::= NodeTestPattern:nt
{: RESULT = new StepPattern(Axis.CHILD,
- parser.findNodeType(Axis.CHILD, nt),
+
parser.findNodeType(Axis.CHILD,nt,true),
null);
:}
| NodeTestPattern:nt Predicates:pp
{: RESULT = new StepPattern(Axis.CHILD,
- parser.findNodeType(Axis.CHILD, nt),
+
parser.findNodeType(Axis.CHILD,nt,true),
pp);
:}
| ChildOrAttributeAxisSpecifier:axis NodeTestPattern:nt
{: RESULT=new StepPattern(axis.intValue(),
- parser.findNodeType(axis.intValue(),
nt),
+ parser.findNodeType(axis.intValue(),
+ nt, true),
null);
:}
@@ -271,7 +273,7 @@
NodeTestPattern:nt Predicates:pp
{: RESULT = new StepPattern(axis.intValue(),
parser.findNodeType(axis.intValue(),
- nt),
+ nt, true),
pp);
:};
@@ -528,25 +530,25 @@
Step ::= NodeTest:ntest
{: RESULT = new Step(Axis.CHILD,
- parser.findNodeType(Axis.CHILD, ntest),
+ parser.findNodeType(Axis.CHILD, ntest, false),
null);
:}
| NodeTest:ntest Predicates:pp
{: RESULT = new Step(Axis.CHILD,
- parser.findNodeType(Axis.CHILD, ntest),
+ parser.findNodeType(Axis.CHILD, ntest, false),
pp);
:}
| AxisSpecifier:axis NodeTest:ntest Predicates:pp
{: RESULT = new Step(axis.intValue(),
- parser.findNodeType(axis.intValue(), ntest),
+ parser.findNodeType(axis.intValue(), ntest,
false),
pp);
:}
| AxisSpecifier:axis NodeTest:ntest
{: RESULT = new Step(axis.intValue(),
- parser.findNodeType(axis.intValue(), ntest),
+ parser.findNodeType(axis.intValue(), ntest,
false),
null);
:}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]