You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by zo...@apache.org on 2002/11/13 18:03:40 UTC

cvs commit: xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java

zongaro     2002/11/13 09:03:40

  Modified:    java/src/org/apache/xalan/xsltc/dom Tag: XSLTC_DTM
                        LoadDocument.java
               java/src/org/apache/xalan/xsltc/runtime Tag: XSLTC_DTM
                        BasisLibrary.java
  Log:
  1) Turn off node indexing for XSLTC's DTM objects.  No iterators or traversers
  that XSLTC uses take advantage of it, so it's pure overhead.
  
  2) Renamed getNodeValue method in XSLTC's DOM to getStringValueX - meaning "get
  the string value of a node according to XPath's definition."  The old
  getNodeValue overrode DTM's getNodeValue with slightly different semantics and
  a slightly higher cost in terms of performance.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.11.10.6 +3 -3      xml-xalan/java/src/org/apache/xalan/xsltc/dom/LoadDocument.java
  
  Index: LoadDocument.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/LoadDocument.java,v
  retrieving revision 1.11.10.5
  retrieving revision 1.11.10.6
  diff -u -r1.11.10.5 -r1.11.10.6
  --- LoadDocument.java	17 Sep 2002 21:08:56 -0000	1.11.10.5
  +++ LoadDocument.java	13 Nov 2002 17:03:28 -0000	1.11.10.6
  @@ -171,7 +171,7 @@
                                                  .getDOMImpl()).m_mgr;
               newdom = (SAXImpl)dtmManager.getDTM(
                                    new SAXSource(reader, new InputSource(uri)),
  -                                 false, null, true, true);
  +                                 false, null, true, false);
   
               translet.prepassDocument(newdom);
   
  @@ -241,7 +241,7 @@
   		int node;
   
   		while ((node = iterator.next()) != DTM.NULL) {
  -		    String uri = dom.getNodeValue(node);
  +		    String uri = dom.getStringValueX(node);
   		    // Get the URI from this node if no xml URI base is set
   		    if ((xmlURI == null) || xmlURI.equals("")) {
   			xmlURI = dom.getDocumentURI(node);
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.35.2.11 +26 -26    xml-xalan/java/src/org/apache/xalan/xsltc/runtime/BasisLibrary.java
  
  Index: BasisLibrary.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/BasisLibrary.java,v
  retrieving revision 1.35.2.10
  retrieving revision 1.35.2.11
  diff -u -r1.35.2.10 -r1.35.2.11
  --- BasisLibrary.java	5 Nov 2002 10:41:47 -0000	1.35.2.10
  +++ BasisLibrary.java	13 Nov 2002 17:03:32 -0000	1.35.2.11
  @@ -135,7 +135,7 @@
   	    double result = 0.0;
   	    int node;
   	    while ((node = iterator.next()) != DTMAxisIterator.END) {
  -		result += Double.parseDouble(dom.getNodeValue(node));
  +		result += Double.parseDouble(dom.getStringValueX(node));
   	    }
   	    return result;
   	}
  @@ -148,7 +148,7 @@
        * XSLT Standard function string()
        */
       public static String stringF(int node, DOM dom) {
  -	return dom.getNodeValue(node);
  +	return dom.getStringValueX(node);
       }
   
       /**
  @@ -156,10 +156,10 @@
        */
       public static String stringF(Object obj, DOM dom) {
   	if (obj instanceof DTMAxisIterator) {
  -	    return dom.getNodeValue(((DTMAxisIterator)obj).reset().next());
  +	    return dom.getStringValueX(((DTMAxisIterator)obj).reset().next());
   	}
   	else if (obj instanceof Node) {
  -	    return dom.getNodeValue(((Node)obj).node);
  +	    return dom.getStringValueX(((Node)obj).node);
   	}
   	else if (obj instanceof DOM) {
   	    return ((DOM)obj).getStringValue();
  @@ -174,15 +174,15 @@
        */
       public static String stringF(Object obj, int node, DOM dom) {
   	if (obj instanceof DTMAxisIterator) {
  -	    return dom.getNodeValue(((DTMAxisIterator)obj).reset().next());
  +	    return dom.getStringValueX(((DTMAxisIterator)obj).reset().next());
   	}
   	else if (obj instanceof Node) {
  -	    return dom.getNodeValue(((Node)obj).node);
  +	    return dom.getStringValueX(((Node)obj).node);
   	}
   	else if (obj instanceof DOM) {
   	    // When the first argument is a DOM we want the whole fecking
   	    // DOM and not just a single node - that would not make sense.
  -	    //return ((DOM)obj).getNodeValue(node);
  +	    //return ((DOM)obj).getStringValueX(node);
   	    return ((DOM)obj).getStringValue();
   	}
   	else if (obj instanceof Double) {
  @@ -207,7 +207,7 @@
        * XSLT Standard function number()
        */
       public static double numberF(int node, DOM dom) {
  -	return stringToReal(dom.getNodeValue(node));
  +	return stringToReal(dom.getStringValueX(node));
       }
   
       /**
  @@ -228,10 +228,10 @@
   	}
   	else if (obj instanceof DTMAxisIterator) {
   	    DTMAxisIterator iter = (DTMAxisIterator) obj;
  -	    return stringToReal(dom.getNodeValue(iter.reset().next()));
  +	    return stringToReal(dom.getStringValueX(iter.reset().next()));
   	}
   	else if (obj instanceof Node) {
  -	    return stringToReal(dom.getNodeValue(((Node) obj).node));
  +	    return stringToReal(dom.getStringValueX(((Node) obj).node));
   	}
   	else if (obj instanceof DOM) {
   	    return stringToReal(((DOM) obj).getStringValue());
  @@ -379,7 +379,7 @@
        * XSLT Standard function normalize-space(). 
        */
       public static String normalize_spaceF(int node, DOM dom) {
  -	return normalize_spaceF(dom.getNodeValue(node));
  +	return normalize_spaceF(dom.getStringValueX(node));
       }
   
       /**
  @@ -558,12 +558,12 @@
   	left.reset();
   	
   	while ((lnode = left.next()) != DTMAxisIterator.END) {
  -	    final String lvalue = dom.getNodeValue(lnode);
  +	    final String lvalue = dom.getStringValueX(lnode);
   	    
   	    int rnode;
   	    right.reset();
   	    while ((rnode = right.next()) != DTMAxisIterator.END) {
  -		if (compareStrings(lvalue, dom.getNodeValue(rnode), op, dom)) {
  +		if (compareStrings(lvalue, dom.getStringValueX(rnode), op, dom)) {
   		    return true;
   		}
   	    }
  @@ -580,15 +580,15 @@
   
   	switch(op) {
   	case EQ:
  -	    value = dom.getNodeValue(node);
  +	    value = dom.getStringValueX(node);
   	    while ((rnode = iterator.next()) != DTMAxisIterator.END) {
  -		if (value.equals(dom.getNodeValue(rnode))) return true;
  +		if (value.equals(dom.getStringValueX(rnode))) return true;
   	    }
   	    break;
   	case NE:
  -	    value = dom.getNodeValue(node);
  +	    value = dom.getStringValueX(node);
   	    while ((rnode = iterator.next()) != DTMAxisIterator.END) {
  -		if (!value.equals(dom.getNodeValue(rnode))) return true;
  +		if (!value.equals(dom.getStringValueX(rnode))) return true;
   	    }
   	    break;
   	case LT:
  @@ -618,42 +618,42 @@
   	switch (op) {
   	case EQ:
   	    while ((node = left.next()) != DTMAxisIterator.END) {
  -		if (numberF(dom.getNodeValue(node), dom) == rnumber)
  +		if (numberF(dom.getStringValueX(node), dom) == rnumber)
   		    return true;
   	    }
   	    break;
   
   	case NE:
   	    while ((node = left.next()) != DTMAxisIterator.END) {
  -		if (numberF(dom.getNodeValue(node), dom) != rnumber)
  +		if (numberF(dom.getStringValueX(node), dom) != rnumber)
   		    return true;
   	    }
   	    break;
   
   	case GT:
   	    while ((node = left.next()) != DTMAxisIterator.END) {
  -		if (numberF(dom.getNodeValue(node), dom) > rnumber)
  +		if (numberF(dom.getStringValueX(node), dom) > rnumber)
   		    return true;
   	    }
   	    break;
   
   	case LT:
   	    while ((node = left.next()) != DTMAxisIterator.END) {
  -		if (numberF(dom.getNodeValue(node), dom) < rnumber)
  +		if (numberF(dom.getStringValueX(node), dom) < rnumber)
   		    return true;
   	    }
   	    break;
   
   	case GE:
   	    while ((node = left.next()) != DTMAxisIterator.END) {
  -		if (numberF(dom.getNodeValue(node), dom) >= rnumber)
  +		if (numberF(dom.getStringValueX(node), dom) >= rnumber)
   		    return true;
   	    }
   	    break;
   
   	case LE:
   	    while ((node = left.next()) != DTMAxisIterator.END) {
  -		if (numberF(dom.getNodeValue(node), dom) <= rnumber)
  +		if (numberF(dom.getStringValueX(node), dom) <= rnumber)
   		    return true;
   	    }
   	    break;
  @@ -673,7 +673,7 @@
   	int node;
   	//left.reset();
   	while ((node = left.next()) != DTMAxisIterator.END) {
  -	    if (compareStrings(dom.getNodeValue(node), rstring, op, dom)) {
  +	    if (compareStrings(dom.getStringValueX(node), rstring, op, dom)) {
   		return true;
   	    }
   	}
  @@ -1159,7 +1159,7 @@
   	           org.apache.xpath.objects.XMLStringFactoryImpl.getFactory());
   
   	DOMImpl idom = (DOMImpl)dtmManager.getDTM(new DOMSource(doc), false,
  -                                                  null, true, true);
  +                                                  null, true, false);
   
   	if (dom instanceof MultiDOM) {
               final MultiDOM multiDOM = (MultiDOM) dom;
  
  
  

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