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]

Reply via email to