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]

Reply via email to