morten 01/11/30 00:52:10
Modified: java/src/org/apache/xalan/xsltc/compiler xpath.cup
Log:
A fix to the XPath parser to make sure (again!) that non-prefixed elements
in XPath expressions/patterns are not assigned the default namespace but
rather the null namespace.
PR: bugzilla 4904
Obtained from: n/a
Submitted by: [EMAIL PROTECTED]
Reviewed by: [EMAIL PROTECTED]
Revision Changes Path
1.32 +12 -14 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.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- xpath.cup 2001/11/20 13:32:01 1.31
+++ xpath.cup 2001/11/30 08:52:10 1.32
@@ -1,5 +1,5 @@
/*
- * @(#)$Id: xpath.cup,v 1.31 2001/11/20 13:32:01 morten Exp $
+ * @(#)$Id: xpath.cup,v 1.32 2001/11/30 08:52:10 morten Exp $
*
* The Apache Software License, Version 1.1
*
@@ -119,7 +119,8 @@
_xsltc.setMultiDocument(flag);
}
- public int findNodeType(int axis, Object test, boolean inPattern) {
+ public int findNodeType(int axis, Object test) {
+
if (test == null) { // *
if (axis == Axis.ATTRIBUTE)
return NodeTest.ATTRIBUTE;
@@ -151,8 +152,7 @@
}
else if (local.equals("@*"))
return(NodeTest.ATTRIBUTE);
- if (inPattern)
- name = new QName(null,null,local);
+ name = new QName(null,null,local);
}
if (axis == Axis.ATTRIBUTE) {
return _xsltc.registerAttribute(name);
@@ -331,28 +331,26 @@
StepPattern ::= NodeTestPattern:nt
{: RESULT = new StepPattern(Axis.CHILD,
- parser.findNodeType(Axis.CHILD,nt,true),
+ parser.findNodeType(Axis.CHILD, nt),
null);
:}
| NodeTestPattern:nt Predicates:pp
{: RESULT = new StepPattern(Axis.CHILD,
- parser.findNodeType(Axis.CHILD,nt,true),
+ parser.findNodeType(Axis.CHILD, nt),
pp);
:}
| ChildOrAttributeAxisSpecifier:axis NodeTestPattern:nt
{: RESULT=new StepPattern(axis.intValue(),
- parser.findNodeType(axis.intValue(),
- nt, true),
+ parser.findNodeType(axis.intValue(), nt),
null);
:}
| ChildOrAttributeAxisSpecifier:axis
NodeTestPattern:nt Predicates:pp
{: RESULT = new StepPattern(axis.intValue(),
- parser.findNodeType(axis.intValue(),
- nt, true),
+ parser.findNodeType(axis.intValue(),nt),
pp);
:};
@@ -615,7 +613,7 @@
}
else {
RESULT = new Step(Axis.CHILD,
- parser.findNodeType(Axis.CHILD, ntest, false),
+ parser.findNodeType(Axis.CHILD, ntest),
null);
}
:}
@@ -629,19 +627,19 @@
}
else {
RESULT = new Step(Axis.CHILD,
- parser.findNodeType(Axis.CHILD, ntest, false),pp);
+ parser.findNodeType(Axis.CHILD, ntest), pp);
}
:}
| AxisSpecifier:axis NodeTest:ntest Predicates:pp
{: RESULT = new Step(axis.intValue(),
- parser.findNodeType(axis.intValue(), ntest, false),
+ parser.findNodeType(axis.intValue(), ntest),
pp);
:}
| AxisSpecifier:axis NodeTest:ntest
{: RESULT = new Step(axis.intValue(),
- parser.findNodeType(axis.intValue(), ntest, false),
+ parser.findNodeType(axis.intValue(), ntest),
null);
:}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]