You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by sa...@apache.org on 2002/08/30 16:49:41 UTC

cvs commit: xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup

santiagopg    2002/08/30 07:49:41

  Modified:    java/src/org/apache/xalan/xsltc/compiler xpath.cup
  Log:
  Fix for Bugzilla 12125.
  
  Revision  Changes    Path
  1.40      +21 -43    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.39
  retrieving revision 1.40
  diff -u -r1.39 -r1.40
  --- xpath.cup	27 Jun 2002 21:52:09 -0000	1.39
  +++ xpath.cup	30 Aug 2002 14:49:41 -0000	1.40
  @@ -116,10 +116,6 @@
           return _lineNumber;
       }
   
  -    public QName getQName(String name) {
  -          return _parser.getQName(name);
  -    }    
  -
       public QName getQNameIgnoreDefaultNs(String name) {
             return _parser.getQNameIgnoreDefaultNs(name);
       }    
  @@ -133,14 +129,10 @@
       }
   
       public int findNodeType(int axis, Object test) {
  -
   	if (test == null) {  // *
  -            if (axis == Axis.ATTRIBUTE)
  -                return NodeTest.ATTRIBUTE;
  -            else if (axis == Axis.NAMESPACE)
  -                return -1;
  -            else
  -                return NodeTest.ELEMENT;
  +	    return (axis == Axis.ATTRIBUTE) ? 
  +		NodeTest.ATTRIBUTE :
  +		(axis == Axis.NAMESPACE) ? -1 : NodeTest.ELEMENT;
           }
           else if (test instanceof Integer) {
               return ((Integer)test).intValue();
  @@ -149,30 +141,24 @@
   	    QName name = (QName)test;
   
   	    if (axis == Axis.NAMESPACE) {
  -                if (name.toString().equals("*"))
  -                    return -1;
  -                else
  -                    return _xsltc.registerNamespace(name);
  +		return (name.toString().equals("*")) ? -1
  +		    : _xsltc.registerNamespace(name);
               }
   
  -            if (name.getPrefix() == null || name.getNamespace() == null) {
  -                final String local = name.getLocalPart();
  -	        if (local.equals("*")) {
  -                    if (axis == Axis.ATTRIBUTE)
  -                        return(NodeTest.ATTRIBUTE);
  -                    else
  -                        return(NodeTest.ELEMENT);
  -                }
  -                else if (local.equals("@*"))
  -                    return(NodeTest.ATTRIBUTE);
  -                name = new QName(null,null,local);
  -            }
  -            if (axis == Axis.ATTRIBUTE) {
  -                return _xsltc.registerAttribute(name);
  -            }
  -            else {
  -		return _xsltc.registerElement(name);
  -            }
  +	    if (name.getNamespace() == null) {
  +		final String local = name.getLocalPart();
  +
  +		if (local.equals("*")) {
  +		    return (axis == Axis.ATTRIBUTE) ? NodeTest.ATTRIBUTE
  +			: NodeTest.ELEMENT;
  +		}
  +		else if (local.equals("@*")) {
  +		    return NodeTest.ATTRIBUTE;
  +		}
  +	    }
  +
  +	    return (axis == Axis.ATTRIBUTE) ? _xsltc.registerAttribute(name)
  +		: _xsltc.registerElement(name); 
           }
       }
   
  @@ -942,19 +928,11 @@
   
   FunctionName ::= QName:fname
           {: 
  -	    final String prefix = fname.getPrefix();
  -	    if (prefix == null || prefix.equals(Constants.EMPTYSTRING)) {
  -		fname = parser.getQNameIgnoreDefaultNs(fname.getLocalPart());
  -	    }
   	    RESULT = fname; 
   	:};
   
   VariableName ::= QName:vname
           {: 
  -	    final String prefix = vname.getPrefix();
  -	    if (prefix == null || prefix.equals(Constants.EMPTYSTRING)) {
  -		vname = parser.getQNameIgnoreDefaultNs(vname.getLocalPart());
  -	    }
   	    RESULT = vname; 
   	:};
   
  @@ -994,7 +972,7 @@
                {: RESULT = qn; :};
   
   QName ::= QNAME:qname
  -        {: RESULT = parser.getQName(qname); :}
  +        {: RESULT = parser.getQNameIgnoreDefaultNs(qname); :}
   
   	| DIV
           {: RESULT = parser.getQNameIgnoreDefaultNs("div"); :}
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org