You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by mo...@apache.org on 2001/12/04 11:30:08 UTC

cvs commit: xml-xalan/java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java CurrentNodeListIterator.java DOMImpl.java FilterIterator.java FilteredStepIterator.java KeyIndex.java MatchingIterator.java MultiDOM.java NodeIteratorBase.java NthIterator.java StepIterator.java UnionIterator.java

morten      01/12/04 02:30:08

  Modified:    java/src/org/apache/xalan/xsltc NodeIterator.java
               java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java
                        CurrentNodeListIterator.java DOMImpl.java
                        FilterIterator.java FilteredStepIterator.java
                        KeyIndex.java MatchingIterator.java MultiDOM.java
                        NodeIteratorBase.java NthIterator.java
                        StepIterator.java UnionIterator.java
  Log:
  A fix for the various node iterators cloneIterator() method. This method
  should clear the _isRestartable flag to prevent iterators contained within
  variables and parameters from changing their value. This flag is now wrapped
  inside a setRestartable(boolean flag) method so that the call can be
  propagated down a stack of iterators. This seems to solve many of our
  iterator problems.
  PR:		n/a
  Obtained from:	n/a
  Submitted by:	morten@xml.apache.org
  Reviewed by:	morten@xml.apaceh.org
  
  Revision  Changes    Path
  1.2       +6 -1      xml-xalan/java/src/org/apache/xalan/xsltc/NodeIterator.java
  
  Index: NodeIterator.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/NodeIterator.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- NodeIterator.java	2001/04/17 18:51:13	1.1
  +++ NodeIterator.java	2001/12/04 10:30:07	1.2
  @@ -1,5 +1,5 @@
   /*
  - * @(#)$Id: NodeIterator.java,v 1.1 2001/04/17 18:51:13 sboag Exp $
  + * @(#)$Id: NodeIterator.java,v 1.2 2001/12/04 10:30:07 morten Exp $
    *
    * The Apache Software License, Version 1.1
    *
  @@ -111,5 +111,10 @@
        * Returns a deep copy of this iterator.
        */
       public NodeIterator cloneIterator();
  +
  +    /**
  +     * Prevents or allows iterator restarts.
  +     */
  +    public void setRestartable(boolean isRestartable);
   
   }
  
  
  
  1.6       +7 -2      xml-xalan/java/src/org/apache/xalan/xsltc/dom/AbsoluteIterator.java
  
  Index: AbsoluteIterator.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/AbsoluteIterator.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- AbsoluteIterator.java	2001/10/30 15:49:31	1.5
  +++ AbsoluteIterator.java	2001/12/04 10:30:07	1.6
  @@ -1,5 +1,5 @@
   /*
  - * @(#)$Id: AbsoluteIterator.java,v 1.5 2001/10/30 15:49:31 morten Exp $
  + * @(#)$Id: AbsoluteIterator.java,v 1.6 2001/12/04 10:30:07 morten Exp $
    *
    * The Apache Software License, Version 1.1
    *
  @@ -77,6 +77,11 @@
       public int next() {
   	return returnNode(_source.next());
       }
  +
  +    public void setRestartable(boolean isRestartable) {
  +	_isRestartable = isRestartable;
  +	_source.setRestartable(isRestartable);
  +    }
   	
       public NodeIterator setStartNode(int node) {
   	_startNode = DOM.ROOTNODE;
  @@ -90,7 +95,7 @@
       public NodeIterator cloneIterator() {
   	try {
   	    final AbsoluteIterator clone = (AbsoluteIterator)super.clone();
  -	    clone._isRestartable = false;
  +	    clone.setRestartable(false);
   	    clone._source = _source.cloneIterator();
   	    return clone.reset();
   	}
  
  
  
  1.5       +7 -2      xml-xalan/java/src/org/apache/xalan/xsltc/dom/CurrentNodeListIterator.java
  
  Index: CurrentNodeListIterator.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/CurrentNodeListIterator.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- CurrentNodeListIterator.java	2001/11/27 15:20:55	1.4
  +++ CurrentNodeListIterator.java	2001/12/04 10:30:07	1.5
  @@ -1,5 +1,5 @@
   /*
  - * @(#)$Id: CurrentNodeListIterator.java,v 1.4 2001/11/27 15:20:55 morten Exp $
  + * @(#)$Id: CurrentNodeListIterator.java,v 1.5 2001/12/04 10:30:07 morten Exp $
    *
    * The Apache Software License, Version 1.1
    *
  @@ -104,6 +104,11 @@
   	return this;
       }
   
  +    public void setRestartable(boolean isRestartable) {
  +	_isRestartable = isRestartable;
  +	_source.setRestartable(isRestartable);
  +    }
  +
       public boolean isReverse() {
   	return !_docOrder;
       }
  @@ -113,7 +118,7 @@
   	    final CurrentNodeListIterator clone =
   		(CurrentNodeListIterator)super.clone();
   	    clone._nodes = (IntegerArray)_nodes.clone();
  -	    clone._isRestartable = false;
  +	    clone.setRestartable(false);
   	    return clone.reset();
   	}
   	catch (CloneNotSupportedException e) {
  
  
  
  1.65      +24 -14    xml-xalan/java/src/org/apache/xalan/xsltc/dom/DOMImpl.java
  
  Index: DOMImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/DOMImpl.java,v
  retrieving revision 1.64
  retrieving revision 1.65
  diff -u -r1.64 -r1.65
  --- DOMImpl.java	2001/11/29 11:33:09	1.64
  +++ DOMImpl.java	2001/12/04 10:30:07	1.65
  @@ -1,5 +1,5 @@
   /*
  - * @(#)$Id: DOMImpl.java,v 1.64 2001/11/29 11:33:09 morten Exp $
  + * @(#)$Id: DOMImpl.java,v 1.65 2001/12/04 10:30:07 morten Exp $
    *
    * The Apache Software License, Version 1.1
    *
  @@ -105,6 +105,7 @@
   	    public boolean isReverse() { return false; }
   	    public NodeIterator resetOnce() { return this; }
   	    public NodeIterator includeSelf() { return this; }
  +	    public void setRestartable(boolean isRestartable) { }
   	};
   
       // Contains the number of nodes and attribute nodes in the tree
  @@ -743,7 +744,7 @@
   		final TypedChildrenIterator clone =
   		    (TypedChildrenIterator)super.clone();
   		clone._nodeType = _nodeType;
  -		clone._isRestartable = false;
  +		clone.setRestartable(false);
   		return clone.reset();
   	    }
   	    catch (CloneNotSupportedException e) {
  @@ -1201,7 +1202,7 @@
   	    try {
   		final PrecedingIterator clone = 
   		    (PrecedingIterator)super.clone();
  -		clone._isRestartable = false;
  +		clone.setRestartable(false);
   		return clone.reset();
   	    }
   	    catch (CloneNotSupportedException e) {
  @@ -1361,7 +1362,7 @@
   	public NodeIterator cloneIterator() {
   	    try {
   		final AncestorIterator clone = (AncestorIterator)super.clone();
  -		clone._isRestartable = false; // must set to false for any clone
  +		clone.setRestartable(false); // must set to false for any clone
   		clone._startNode = _startNode;
   		return clone.reset();
   	    }
  @@ -1537,6 +1538,11 @@
   	    _pos = pos;
   	}
   
  +	public void setRestartable(boolean isRestartable) {
  +	    _isRestartable = isRestartable;
  +	    _source.setRestartable(isRestartable);
  +	}
  +
   	// The start node of this iterator is always the root!!!
   	public NodeIterator setStartNode(int node) {
   	    _source.setStartNode(node);
  @@ -1625,6 +1631,11 @@
   	    }
   	}
   
  +	public void setRestartable(boolean isRestartable) {
  +	    _isRestartable = isRestartable;
  +	    _source.setRestartable(isRestartable);
  +	}
  +
   	public NodeIterator setStartNode(int node) {
   	    if (_children) {
   		if (_filter.stripSpace((DOM)DOMImpl.this, node,
  @@ -1724,6 +1735,7 @@
   	private boolean _op;
   	private final boolean _isReverse;
   	private int _returnType = RETURN_PARENT;
  +	private int _pos;
   
   	public NodeValueIterator(NodeIterator source, int returnType,
   				 String value, boolean op) {
  @@ -1738,20 +1750,16 @@
   	    return _isReverse;
   	}
       
  +	public void setRestartable(boolean isRestartable) {
  +	    _isRestartable = isRestartable;
  +	    _source.setRestartable(isRestartable);
  +	}
  +
   	public NodeIterator cloneIterator() {
   	    try {
   		NodeValueIterator clone = (NodeValueIterator)super.clone();
   		clone._source = _source.cloneIterator();
  -		if (_source instanceof StepIterator) {
  -		    StepIterator source = (StepIterator)clone._source;
  -		    source.setRestartable();
  -		}
  -		else if (_source instanceof NodeIteratorBase) {
  -		    NodeIteratorBase source = (NodeIteratorBase)clone._source;
  -		    source._isRestartable = true;
  -		}
  -		clone._value = _value;
  -		clone._op = _op;
  +		clone.setRestartable(false);
   		return clone.reset();
   	    }
   	    catch (CloneNotSupportedException e) {
  @@ -1791,10 +1799,12 @@
   
   	public void setMark() {
   	    _source.setMark();
  +	    _pos = _position;
   	}
   
   	public void gotoMark() {
   	    _source.gotoMark();
  +	    _position = _pos;
   	}
       }                       
   
  
  
  
  1.4       +8 -3      xml-xalan/java/src/org/apache/xalan/xsltc/dom/FilterIterator.java
  
  Index: FilterIterator.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/FilterIterator.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- FilterIterator.java	2001/10/30 15:49:32	1.3
  +++ FilterIterator.java	2001/12/04 10:30:07	1.4
  @@ -1,5 +1,5 @@
   /*
  - * @(#)$Id: FilterIterator.java,v 1.3 2001/10/30 15:49:32 morten Exp $
  + * @(#)$Id: FilterIterator.java,v 1.4 2001/12/04 10:30:07 morten Exp $
    *
    * The Apache Software License, Version 1.1
    *
  @@ -80,11 +80,16 @@
       public boolean isReverse() {
   	return _isReverse;
       }
  -    
  +
  +    public void setRestartable(boolean isRestartable) {
  +	_isRestartable = isRestartable;
  +	_source.setRestartable(isRestartable);
  +    }
  +
       public NodeIterator cloneIterator() {
   	try {
   	    final FilterIterator clone = (FilterIterator)super.clone();
  -	    clone._isRestartable = false;
  +	    clone.setRestartable(false);
   	    clone._source = _source.cloneIterator();
   	    return clone.reset();
   	}
  
  
  
  1.5       +2 -2      xml-xalan/java/src/org/apache/xalan/xsltc/dom/FilteredStepIterator.java
  
  Index: FilteredStepIterator.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/FilteredStepIterator.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- FilteredStepIterator.java	2001/11/27 15:20:55	1.4
  +++ FilteredStepIterator.java	2001/12/04 10:30:07	1.5
  @@ -1,5 +1,5 @@
   /*
  - * @(#)$Id: FilteredStepIterator.java,v 1.4 2001/11/27 15:20:55 morten Exp $
  + * @(#)$Id: FilteredStepIterator.java,v 1.5 2001/12/04 10:30:07 morten Exp $
    *
    * The Apache Software License, Version 1.1
    *
  @@ -85,7 +85,7 @@
   	    clone._source = _source.cloneIterator();
   	    clone._iterator = _iterator.cloneIterator();
   	    clone._filter = _filter;
  -	    clone.setNotRestartable();
  +	    clone.setRestartable(false);
   	    return clone.reset();
   	}
   	catch (CloneNotSupportedException e) {
  
  
  
  1.7       +5 -1      xml-xalan/java/src/org/apache/xalan/xsltc/dom/KeyIndex.java
  
  Index: KeyIndex.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/KeyIndex.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- KeyIndex.java	2001/11/27 15:20:55	1.6
  +++ KeyIndex.java	2001/12/04 10:30:07	1.7
  @@ -1,5 +1,5 @@
   /*
  - * @(#)$Id: KeyIndex.java,v 1.6 2001/11/27 15:20:55 morten Exp $
  + * @(#)$Id: KeyIndex.java,v 1.7 2001/12/04 10:30:07 morten Exp $
    *
    * The Apache Software License, Version 1.1
    *
  @@ -85,6 +85,10 @@
        */
       public KeyIndex(int size) {
   	_arraySize = size;
  +    }
  +
  +    public void setRestartable(boolean flag) {
  +	    
       }
    
       /**
  
  
  
  1.6       +7 -2      xml-xalan/java/src/org/apache/xalan/xsltc/dom/MatchingIterator.java
  
  Index: MatchingIterator.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/MatchingIterator.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- MatchingIterator.java	2001/11/27 15:20:55	1.5
  +++ MatchingIterator.java	2001/12/04 10:30:07	1.6
  @@ -1,5 +1,5 @@
   /*
  - * @(#)$Id: MatchingIterator.java,v 1.5 2001/11/27 15:20:55 morten Exp $
  + * @(#)$Id: MatchingIterator.java,v 1.6 2001/12/04 10:30:07 morten Exp $
    *
    * The Apache Software License, Version 1.1
    *
  @@ -76,11 +76,16 @@
   	_match = match;
       }
   
  +    public void setRestartable(boolean isRestartable) {
  +	_isRestartable = isRestartable;
  +	_source.setRestartable(isRestartable);
  +    }
  +
       public NodeIterator cloneIterator() {
   	try {
   	    final MatchingIterator clone = (MatchingIterator)super.clone();
   	    clone._source = _source.cloneIterator();
  -	    clone._isRestartable = false;
  +	    clone.setRestartable(false);
   	    return clone;
   	}
   	catch (CloneNotSupportedException e) {
  
  
  
  1.16      +13 -6     xml-xalan/java/src/org/apache/xalan/xsltc/dom/MultiDOM.java
  
  Index: MultiDOM.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/MultiDOM.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- MultiDOM.java	2001/11/27 15:20:55	1.15
  +++ MultiDOM.java	2001/12/04 10:30:07	1.16
  @@ -1,5 +1,5 @@
   /*
  - * @(#)$Id: MultiDOM.java,v 1.15 2001/11/27 15:20:55 morten Exp $
  + * @(#)$Id: MultiDOM.java,v 1.16 2001/12/04 10:30:07 morten Exp $
    *
    * The Apache Software License, Version 1.1
    *
  @@ -107,6 +107,10 @@
   	    return node != END ? (node | _mask) : END;
   	}
   	
  +	public void setRestartable(boolean flag) {
  +	    _source.setRestartable(flag);
  +	}
  +
   	public NodeIterator setStartNode(final int node) {
   	    _mask = node & SET;
   	    int dom = node >>> 24;
  @@ -155,7 +159,7 @@
   	public NodeIterator cloneIterator() {
   	    final AxisIterator clone = new AxisIterator(_axis, _type);
   	    clone._source = _source.cloneIterator();
  -	    clone._mask = _mask;	    
  +	    clone._mask = _mask;
   	    return clone;
   	}
   
  @@ -191,9 +195,7 @@
   	    try {
   		NodeValueIterator clone = (NodeValueIterator)super.clone();
   		clone._source = _source.cloneIterator();
  -		clone._value = _value;
  -		clone._op = _op;
  -		_isRestartable = false;
  +		clone.setRestartable(false);
   		return clone.reset();
   	    }
   	    catch (CloneNotSupportedException e) {
  @@ -202,7 +204,12 @@
   		return null;
   	    }
   	}
  -    
  +
  +	public void setRestartable(boolean isRestartable) {
  +	    _isRestartable = isRestartable;
  +	    _source.setRestartable(isRestartable);
  +	}
  +
   	public NodeIterator reset() {
   	    _source.reset();
   	    return resetPosition();
  
  
  
  1.6       +6 -1      xml-xalan/java/src/org/apache/xalan/xsltc/dom/NodeIteratorBase.java
  
  Index: NodeIteratorBase.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/NodeIteratorBase.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- NodeIteratorBase.java	2001/10/30 15:49:32	1.5
  +++ NodeIteratorBase.java	2001/12/04 10:30:07	1.6
  @@ -1,5 +1,5 @@
   /*
  - * @(#)$Id: NodeIteratorBase.java,v 1.5 2001/10/30 15:49:32 morten Exp $
  + * @(#)$Id: NodeIteratorBase.java,v 1.6 2001/12/04 10:30:07 morten Exp $
    *
    * The Apache Software License, Version 1.1
    *
  @@ -58,6 +58,7 @@
    *
    * @author Jacek Ambroziak
    * @author Santiago Pericas-Geertsen
  + * @author Morten Jorgensen
    *
    */
   
  @@ -74,6 +75,10 @@
       protected int _startNode = NodeIterator.END;
       protected boolean _includeSelf = false;
       protected boolean _isRestartable = true;
  +
  +    public void setRestartable(boolean isRestartable) {
  +	_isRestartable = isRestartable;
  +    }
   
       public NodeIterator reset() {
   	final boolean temp = _isRestartable;
  
  
  
  1.9       +11 -5     xml-xalan/java/src/org/apache/xalan/xsltc/dom/NthIterator.java
  
  Index: NthIterator.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/NthIterator.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- NthIterator.java	2001/11/27 15:20:55	1.8
  +++ NthIterator.java	2001/12/04 10:30:07	1.9
  @@ -1,5 +1,5 @@
   /*
  - * @(#)$Id: NthIterator.java,v 1.8 2001/11/27 15:20:55 morten Exp $
  + * @(#)$Id: NthIterator.java,v 1.9 2001/12/04 10:30:07 morten Exp $
    *
    * The Apache Software License, Version 1.1
    *
  @@ -77,6 +77,11 @@
   	_source = source;
   	_position = n;
       }
  +
  +    public void setRestartable(boolean isRestartable) {
  +	_isRestartable = isRestartable;
  +	_source.setRestartable(isRestartable);
  +    }
       
       public int next() {
   	if (_ready && _position > 0) {
  @@ -94,8 +99,10 @@
       }
   	
       public NodeIterator setStartNode(final int node) {
  -	_source.setStartNode(node);
  -	_ready = true;
  +	if (_isRestartable) {
  +	    _source.setStartNode(node);
  +	    _ready = true;
  +	}
   	return this;
       }
   	
  @@ -127,9 +134,8 @@
   
       public NodeIterator cloneIterator() {
   	NodeIterator clone = _source.cloneIterator();
  -	((NodeIteratorBase)clone)._isRestartable = true;
   	NthIterator other = new NthIterator(clone, _position);
  -	other._isRestartable = false;
  +	other.setRestartable(false);
   	return other.reset();
       }
   }
  
  
  
  1.11      +6 -24     xml-xalan/java/src/org/apache/xalan/xsltc/dom/StepIterator.java
  
  Index: StepIterator.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/StepIterator.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- StepIterator.java	2001/11/29 11:33:09	1.10
  +++ StepIterator.java	2001/12/04 10:30:07	1.11
  @@ -1,5 +1,5 @@
   /*
  - * @(#)$Id: StepIterator.java,v 1.10 2001/11/29 11:33:09 morten Exp $
  + * @(#)$Id: StepIterator.java,v 1.11 2001/12/04 10:30:07 morten Exp $
    *
    * The Apache Software License, Version 1.1
    *
  @@ -79,36 +79,18 @@
   	_iterator = iterator;
       }
   
  -    protected void setRestartable() {
  -	_isRestartable = true;
  -	if (_source instanceof StepIterator) {
  -	    ((StepIterator)_source).setRestartable();
  -	}
  -	else if (_source instanceof NodeIteratorBase) {
  -	    ((NodeIteratorBase)_source)._isRestartable = true;
  -	}
  -	if (_iterator instanceof NodeIteratorBase)
  -	    ((NodeIteratorBase)_iterator)._isRestartable = true;
  +    public void setRestartable(boolean isRestartable) {
  +	_isRestartable = isRestartable;
  +	_source.setRestartable(isRestartable);
  +	_iterator.setRestartable(true); // must _always_ be restartable
       }
   
  -    protected void setNotRestartable() {
  -	_isRestartable = false;
  -	if (_source instanceof StepIterator) {
  -	    ((StepIterator)_source).setNotRestartable();
  -	}
  -	else if (_source instanceof NodeIteratorBase) {
  -	    ((NodeIteratorBase)_source)._isRestartable = false;
  -	}
  -	if (_iterator instanceof NodeIteratorBase)
  -	    ((NodeIteratorBase)_iterator)._isRestartable = true;
  -    }
  -
       public NodeIterator cloneIterator() {
   	try {
   	    final StepIterator clone = (StepIterator)super.clone();
   	    clone._source = _source.cloneIterator();
   	    clone._iterator = _iterator.cloneIterator();
  -	    clone.setNotRestartable();
  +	    clone.setRestartable(false);
   	    return clone.reset();
   	}
   	catch (CloneNotSupportedException e) {
  
  
  
  1.10      +2 -2      xml-xalan/java/src/org/apache/xalan/xsltc/dom/UnionIterator.java
  
  Index: UnionIterator.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/UnionIterator.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- UnionIterator.java	2001/11/27 15:20:55	1.9
  +++ UnionIterator.java	2001/12/04 10:30:07	1.10
  @@ -1,5 +1,5 @@
   /*
  - * @(#)$Id: UnionIterator.java,v 1.9 2001/11/27 15:20:55 morten Exp $
  + * @(#)$Id: UnionIterator.java,v 1.10 2001/12/04 10:30:07 morten Exp $
    *
    * The Apache Software License, Version 1.1
    *
  @@ -125,7 +125,7 @@
   	try {
   	    final UnionIterator clone = (UnionIterator)super.clone();
   	    System.arraycopy(_heap, 0, heapCopy, 0, _heap.length);
  -	    clone._isRestartable = false;
  +	    clone.setRestartable(false);
   	    clone._heap = heapCopy;
   	    return clone.reset();
   	} 
  
  
  

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