zongaro 2002/12/10 12:18:01
Modified: java/src/org/apache/xalan/processor Tag: XSLTC_DTM
TransformerFactoryImpl.java
java/src/org/apache/xalan/serialize Tag: XSLTC_DTM
Encodings.java SerializerToXML.java
java/src/org/apache/xalan/templates Tag: XSLTC_DTM
ElemVariable.java
java/src/org/apache/xalan/xsltc/dom Tag: XSLTC_DTM
DOMImpl.java NodeSortRecord.java
NodeSortRecordFactory.java
java/src/org/apache/xalan/xsltc/runtime Tag: XSLTC_DTM
DefaultSAXOutputHandler.java TextOutput.java
java/src/org/apache/xml/dtm/ref/dom2dtm Tag: XSLTC_DTM
DOM2DTM.java
java/src/org/apache/xpath/axes Tag: XSLTC_DTM
AxesWalker.java ChildTestIterator.java
MatchPatternIterator.java OneStepIterator.java
ReverseAxesWalker.java
java/src/org/apache/xpath/objects Tag: XSLTC_DTM
XBoolean.java XNodeSet.java
Log:
Bringing branch up to date with respect to changes on the MAIN branch.
Revision Changes Path
No revision
No revision
1.41.6.4 +3 -3
xml-xalan/java/src/org/apache/xalan/processor/TransformerFactoryImpl.java
Index: TransformerFactoryImpl.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/processor/TransformerFactoryImpl.java,v
retrieving revision 1.41.6.3
retrieving revision 1.41.6.4
diff -u -r1.41.6.3 -r1.41.6.4
--- TransformerFactoryImpl.java 5 Nov 2002 10:41:32 -0000 1.41.6.3
+++ TransformerFactoryImpl.java 10 Dec 2002 20:17:59 -0000 1.41.6.4
@@ -860,7 +860,6 @@
throws TransformerConfigurationException
{
- TemplatesHandler builder = newTemplatesHandler();
String baseID = source.getSystemId();
if (null == baseID)
@@ -888,8 +887,6 @@
baseID = SystemIDResolver.getAbsoluteURI(baseID);
}
- builder.setSystemId(baseID);
-
if (source instanceof DOMSource)
{
DOMSource dsource = (DOMSource) source;
@@ -906,6 +903,9 @@
}
}
+ TemplatesHandler builder = newTemplatesHandler();
+ builder.setSystemId(baseID);
+
try
{
InputSource isource = SAXSource.sourceToInputSource(source);
No revision
No revision
1.8.10.5 +21 -20
xml-xalan/java/src/org/apache/xalan/serialize/Encodings.java
Index: Encodings.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/serialize/Encodings.java,v
retrieving revision 1.8.10.4
retrieving revision 1.8.10.5
diff -u -r1.8.10.4 -r1.8.10.5
--- Encodings.java 26 Nov 2002 20:26:26 -0000 1.8.10.4
+++ Encodings.java 10 Dec 2002 20:17:59 -0000 1.8.10.5
@@ -65,6 +65,7 @@
import java.net.URL;
import java.util.Enumeration;
+import java.util.Hashtable;
import java.util.Properties;
import java.util.StringTokenizer;
@@ -198,14 +199,14 @@
*/
public static int getLastPrintable(String encoding)
{
-
- for (int i = 0; i < _encodings.length; ++i)
- {
- if (_encodings[i].name.equalsIgnoreCase(encoding)
- || _encodings[i].javaName.equalsIgnoreCase(encoding))
- return _encodings[i].lastPrintable;
- }
-
+ EncodingInfo ei;
+
+ String normalizedEncoding = encoding.toUpperCase();
+ ei = (EncodingInfo)_encodingTableKeyJava.get(normalizedEncoding);
+ if (ei == null)
+ ei = (EncodingInfo)_encodingTableKeyMime.get(normalizedEncoding);
+ if (ei != null)
+ return ei.lastPrintable;
return m_defaultLastPrintable;
}
@@ -298,15 +299,9 @@
*/
public static String convertJava2MimeEncoding(String encoding)
{
-
- for (int i = 0; i < _encodings.length; ++i)
- {
- if (_encodings[i].javaName.equalsIgnoreCase(encoding))
- {
- return _encodings[i].name;
- }
- }
-
+ EncodingInfo enc =
(EncodingInfo)_encodingTableKeyJava.get(encoding.toUpperCase());
+ if (null != enc)
+ return enc.name;
return encoding;
}
@@ -415,9 +410,13 @@
{
lastPrintable =
Integer.decode(val.substring(pos).trim()).intValue();
StringTokenizer st = new StringTokenizer(val.substring(0,
pos),",");
- while (st.hasMoreTokens()) {
+ for (boolean first = true; st.hasMoreTokens(); first = false) {
mimeName = st.nextToken();
- ret [j++] = new EncodingInfo (mimeName, javaName,
lastPrintable);
+ ret [j] = new EncodingInfo (mimeName, javaName,
lastPrintable);
+ _encodingTableKeyMime.put(mimeName.toUpperCase(), ret[j]);
+ if (first)
+ _encodingTableKeyJava.put(javaName.toUpperCase(), ret[j]);
+ j++;
}
}
}
@@ -430,5 +429,7 @@
}
}
+ private static final Hashtable _encodingTableKeyJava = new Hashtable();
+ private static final Hashtable _encodingTableKeyMime = new Hashtable();
private static final EncodingInfo[] _encodings = loadEncodingInfo();
}
1.14.2.4 +1 -1
xml-xalan/java/src/org/apache/xalan/serialize/SerializerToXML.java
Index: SerializerToXML.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/serialize/SerializerToXML.java,v
retrieving revision 1.14.2.3
retrieving revision 1.14.2.4
diff -u -r1.14.2.3 -r1.14.2.4
--- SerializerToXML.java 5 Nov 2002 10:41:33 -0000 1.14.2.3
+++ SerializerToXML.java 10 Dec 2002 20:17:59 -0000 1.14.2.4
@@ -1279,7 +1279,7 @@
// Output the remaining characters.
writer.write(ch, start, limit - start);
// Protect comment end from a single trailing dash
- if (ch[limit-1] == '-')
+ if (length > 0 && ch[limit-1] == '-')
writer.write(' ');
writer.write("-->");
No revision
No revision
1.17.2.2 +1 -1
xml-xalan/java/src/org/apache/xalan/templates/ElemVariable.java
Index: ElemVariable.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemVariable.java,v
retrieving revision 1.17.2.1
retrieving revision 1.17.2.2
diff -u -r1.17.2.1 -r1.17.2.2
--- ElemVariable.java 29 Jul 2002 00:01:19 -0000 1.17.2.1
+++ ElemVariable.java 10 Dec 2002 20:18:00 -0000 1.17.2.2
@@ -397,7 +397,7 @@
// Only add the variable if this is not a global. If it is a global,
// it was already added by stylesheet root.
- if(!(m_parentNode instanceof Stylesheet))
+ if(!(m_parentNode instanceof Stylesheet) && m_qname != null)
{
m_index = cstate.addVariableName(m_qname) - cstate.getGlobalsSize();
}
No revision
No revision
1.68.2.18 +1 -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.68.2.17
retrieving revision 1.68.2.18
diff -u -r1.68.2.17 -r1.68.2.18
--- DOMImpl.java 14 Nov 2002 18:57:22 -0000 1.68.2.17
+++ DOMImpl.java 10 Dec 2002 20:18:00 -0000 1.68.2.18
@@ -829,19 +829,6 @@
}
/**
- * Returns the leftmost descendant of a node (bottom left in sub-tree)
- */
- private int leftmostDescendant(int node)
- {
- int current;
- while (getType(current = node) >= DTM.NTYPES
- && (node = getFirstChild(node)) != DTM.NULL)
- {
- }
- return current;
- }
-
- /**
* Returns index of last child or 0 if no children
* (returns DTM.NULL in fact)
*/
1.8.10.2 +26 -3
xml-xalan/java/src/org/apache/xalan/xsltc/dom/NodeSortRecord.java
Index: NodeSortRecord.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/NodeSortRecord.java,v
retrieving revision 1.8.10.1
retrieving revision 1.8.10.2
diff -u -r1.8.10.1 -r1.8.10.2
--- NodeSortRecord.java 26 Nov 2002 20:26:27 -0000 1.8.10.1
+++ NodeSortRecord.java 10 Dec 2002 20:18:00 -0000 1.8.10.2
@@ -59,6 +59,7 @@
* @author Jacek Ambroziak
* @author Santiago Pericas-Geertsen
* @author Morten Jorgensen
+ * @author W. Eliot Kimber ([EMAIL PROTECTED])
*
*/
@@ -70,6 +71,8 @@
import java.text.CollationKey;
import org.apache.xalan.xsltc.DOM;
+import org.apache.xalan.xsltc.TransletException;
+import org.apache.xalan.xsltc.CollatorFactory;
import org.apache.xalan.xsltc.runtime.AbstractTranslet;
/**
@@ -93,6 +96,7 @@
* specifies a different language (will be updated iff _locale is
updated).
*/
protected Collator _collator = Collator.getInstance();
+ protected CollatorFactory _collatorFactory;
protected int _levels = 1;
protected int[] _compareType;
@@ -126,8 +130,9 @@
* to the default constructor.
*/
public final void initialize(int node, int last, DOM dom,
- AbstractTranslet translet,
- int[] order, int[] type) {
+ AbstractTranslet translet, int[] order, int[] type,
+ NodeSortRecordFactory nsrFactory) throws TransletException
+ {
_dom = dom;
_node = node;
_last = last;
@@ -139,6 +144,24 @@
_compareType = type;
_values = new Object[_levels];
+
+ // -- W. Eliot Kimber ([EMAIL PROTECTED])
+ String colFactClassname =
+ System.getProperty("org.apache.xalan.xsltc.COLLATOR_FACTORY");
+
+ if (colFactClassname != null) {
+ try {
+ Object candObj = nsrFactory.loadTranslet(colFactClassname);
+ _collatorFactory = (CollatorFactory)candObj;
+ }
+ catch (ClassNotFoundException e) {
+ throw new TransletException(e);
+ }
+ }
+ else {
+ _collatorFactory = new CollatorFactoryBase();
+ }
+ _collator = _collatorFactory.getCollator(_locale);
}
/**
1.7.10.1 +4 -5
xml-xalan/java/src/org/apache/xalan/xsltc/dom/NodeSortRecordFactory.java
Index: NodeSortRecordFactory.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/NodeSortRecordFactory.java,v
retrieving revision 1.7
retrieving revision 1.7.10.1
diff -u -r1.7 -r1.7.10.1
--- NodeSortRecordFactory.java 8 Nov 2001 14:11:15 -0000 1.7
+++ NodeSortRecordFactory.java 10 Dec 2002 20:18:00 -0000 1.7.10.1
@@ -82,7 +82,7 @@
private int _type[];
private final AbstractTranslet _translet;
- private Class loadTranslet(String name) throws ClassNotFoundException {
+ public Class loadTranslet(String name) throws ClassNotFoundException {
// First try to load the class using the default class loader
try {
return Class.forName(name);
@@ -92,8 +92,7 @@
}
// Then try to load the class using the bootstrap class loader
- TransletLoader loader = new TransletLoader();
- return loader.loadTranslet(name);
+ return new TransletLoader().loadTranslet(name);
}
/**
@@ -144,7 +143,7 @@
final NodeSortRecord sortRecord =
(NodeSortRecord)_class.newInstance();
- sortRecord.initialize(node, last, _dom, _translet, _order, _type);
+ sortRecord.initialize(node, last, _dom, _translet, _order, _type, this);
return sortRecord;
}
No revision
No revision
1.23.2.3 +8 -1
xml-xalan/java/src/org/apache/xalan/xsltc/runtime/DefaultSAXOutputHandler.java
Index: DefaultSAXOutputHandler.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/DefaultSAXOutputHandler.java,v
retrieving revision 1.23.2.2
retrieving revision 1.23.2.3
diff -u -r1.23.2.2 -r1.23.2.3
--- DefaultSAXOutputHandler.java 5 Nov 2002 10:41:47 -0000 1.23.2.2
+++ DefaultSAXOutputHandler.java 10 Dec 2002 20:18:00 -0000 1.23.2.3
@@ -78,6 +78,13 @@
import org.xml.sax.SAXException;
import org.xml.sax.ext.LexicalHandler;
+/**
+ * Creates an output handler that accepts events from the translet and
+ * produces SAX events.
+ *
+ * @deprecated This class is no longer supported in XSLTC. It has been
+ * replaced by
<code>xsltc.runtime.output.TransletOutputHandlerFactory</code>.
+ */
public class DefaultSAXOutputHandler implements ContentHandler,
LexicalHandler {
// The output writer
1.54.2.4 +7 -1
xml-xalan/java/src/org/apache/xalan/xsltc/runtime/TextOutput.java
Index: TextOutput.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/TextOutput.java,v
retrieving revision 1.54.2.3
retrieving revision 1.54.2.4
diff -u -r1.54.2.3 -r1.54.2.4
--- TextOutput.java 5 Nov 2002 10:41:47 -0000 1.54.2.3
+++ TextOutput.java 10 Dec 2002 20:18:00 -0000 1.54.2.4
@@ -76,6 +76,12 @@
import org.apache.xalan.xsltc.*;
+/**
+ * Serializer for SAX events.
+ *
+ * @deprecated This class is no longer supported in XSLTC. It has been
+ * replaced by
<code>xsltc.runtime.output.TransletOutputHandlerFactory</code>.
+ */
public final class TextOutput implements TransletOutputHandler, Constants {
// These are the various output types we handle
No revision
No revision
1.28.2.4 +1 -1
xml-xalan/java/src/org/apache/xml/dtm/ref/dom2dtm/DOM2DTM.java
Index: DOM2DTM.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xml/dtm/ref/dom2dtm/DOM2DTM.java,v
retrieving revision 1.28.2.3
retrieving revision 1.28.2.4
diff -u -r1.28.2.3 -r1.28.2.4
--- DOM2DTM.java 17 May 2002 19:38:39 -0000 1.28.2.3
+++ DOM2DTM.java 10 Dec 2002 20:18:01 -0000 1.28.2.4
@@ -1062,7 +1062,7 @@
{
// XSLT treats PIs, and possibly other things, as having QNames.
String qname = newnode.getNodeName();
- if('#'==newnode.getNodeName().charAt(0))
+ if('#'==qname.charAt(0))
{
// Match old default for this function
// This conversion may or may not be necessary
No revision
No revision
1.23.2.2 +1 -0 xml-xalan/java/src/org/apache/xpath/axes/AxesWalker.java
Index: AxesWalker.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xpath/axes/AxesWalker.java,v
retrieving revision 1.23.2.1
retrieving revision 1.23.2.2
diff -u -r1.23.2.1 -r1.23.2.2
--- AxesWalker.java 29 Jul 2002 00:01:32 -0000 1.23.2.1
+++ AxesWalker.java 10 Dec 2002 20:18:01 -0000 1.23.2.2
@@ -216,6 +216,7 @@
{
m_currentNode = DTM.NULL;
m_dtm = null;
+ m_traverser = null;
m_isFresh = true;
m_root = DTM.NULL;
}
1.14.2.1 +17 -0
xml-xalan/java/src/org/apache/xpath/axes/ChildTestIterator.java
Index: ChildTestIterator.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xpath/axes/ChildTestIterator.java,v
retrieving revision 1.14
retrieving revision 1.14.2.1
diff -u -r1.14 -r1.14.2.1
--- ChildTestIterator.java 22 Mar 2002 01:04:42 -0000 1.14
+++ ChildTestIterator.java 10 Dec 2002 20:18:01 -0000 1.14.2.1
@@ -198,5 +198,22 @@
return org.apache.xml.dtm.Axis.CHILD;
}
+ /**
+ * Detaches the iterator from the set which it iterated over, releasing
+ * any computational resources and placing the iterator in the INVALID
+ * state. After<code>detach</code> has been invoked, calls to
+ * <code>nextNode</code> or<code>previousNode</code> will raise the
+ * exception INVALID_STATE_ERR.
+ */
+ public void detach()
+ {
+ if(m_allowDetach)
+ {
+ m_traverser = null;
+
+ // Always call the superclass detach last!
+ super.detach();
+ }
+ }
}
1.4.2.1 +18 -0
xml-xalan/java/src/org/apache/xpath/axes/MatchPatternIterator.java
Index: MatchPatternIterator.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xpath/axes/MatchPatternIterator.java,v
retrieving revision 1.4
retrieving revision 1.4.2.1
diff -u -r1.4 -r1.4.2.1
--- MatchPatternIterator.java 22 Mar 2002 01:04:42 -0000 1.4
+++ MatchPatternIterator.java 10 Dec 2002 20:18:01 -0000 1.4.2.1
@@ -205,6 +205,24 @@
super.setRoot(context, environment);
m_traverser = m_cdtm.getAxisTraverser(m_superAxis);
}
+
+ /**
+ * Detaches the iterator from the set which it iterated over, releasing
+ * any computational resources and placing the iterator in the INVALID
+ * state. After<code>detach</code> has been invoked, calls to
+ * <code>nextNode</code> or<code>previousNode</code> will raise the
+ * exception INVALID_STATE_ERR.
+ */
+ public void detach()
+ {
+ if(m_allowDetach)
+ {
+ m_traverser = null;
+
+ // Always call the superclass detach last!
+ super.detach();
+ }
+ }
/**
* Get the next node via getNextXXX. Bottlenecked for derived class
override.
1.8.2.2 +19 -0
xml-xalan/java/src/org/apache/xpath/axes/OneStepIterator.java
Index: OneStepIterator.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xpath/axes/OneStepIterator.java,v
retrieving revision 1.8.2.1
retrieving revision 1.8.2.2
diff -u -r1.8.2.1 -r1.8.2.2
--- OneStepIterator.java 26 Nov 2002 20:26:27 -0000 1.8.2.1
+++ OneStepIterator.java 10 Dec 2002 20:18:01 -0000 1.8.2.2
@@ -76,6 +76,25 @@
m_iterator = m_cdtm.getAxisIterator(m_axis);
m_iterator.setStartNode(m_context);
}
+
+ /**
+ * Detaches the iterator from the set which it iterated over, releasing
+ * any computational resources and placing the iterator in the INVALID
+ * state. After<code>detach</code> has been invoked, calls to
+ * <code>nextNode</code> or<code>previousNode</code> will raise the
+ * exception INVALID_STATE_ERR.
+ */
+ public void detach()
+ {
+ if(m_allowDetach)
+ {
+ if(m_axis > -1)
+ m_iterator = null;
+
+ // Always call the superclass detach last!
+ super.detach();
+ }
+ }
/**
* Get the next node via getFirstAttribute && getNextAttribute.
1.10.2.1 +11 -0
xml-xalan/java/src/org/apache/xpath/axes/ReverseAxesWalker.java
Index: ReverseAxesWalker.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xpath/axes/ReverseAxesWalker.java,v
retrieving revision 1.10
retrieving revision 1.10.2.1
diff -u -r1.10 -r1.10.2.1
--- ReverseAxesWalker.java 22 Mar 2002 01:04:43 -0000 1.10
+++ ReverseAxesWalker.java 10 Dec 2002 20:18:01 -0000 1.10.2.1
@@ -100,6 +100,17 @@
m_iterator = getDTM(root).getAxisIterator(m_axis);
m_iterator.setStartNode(root);
}
+
+ /**
+ * Detaches the walker from the set which it iterated over, releasing
+ * any computational resources and placing the iterator in the INVALID
+ * state.
+ */
+ public void detach()
+ {
+ m_iterator = null;
+ super.detach();
+ }
/**
* Get the next node in document order on the axes.
No revision
No revision
1.11.2.1 +1 -1 xml-xalan/java/src/org/apache/xpath/objects/XBoolean.java
Index: XBoolean.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xpath/objects/XBoolean.java,v
retrieving revision 1.11
retrieving revision 1.11.2.1
diff -u -r1.11 -r1.11.2.1
--- XBoolean.java 22 Mar 2002 01:04:44 -0000 1.11
+++ XBoolean.java 10 Dec 2002 20:18:01 -0000 1.11.2.1
@@ -170,7 +170,7 @@
public Object object()
{
if(null == m_obj)
- m_obj = m_val ? S_TRUE : S_FALSE;
+ m_obj = new Boolean(m_val);
return m_obj;
}
1.21.2.2 +1 -1 xml-xalan/java/src/org/apache/xpath/objects/XNodeSet.java
Index: XNodeSet.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xpath/objects/XNodeSet.java,v
retrieving revision 1.21.2.1
retrieving revision 1.21.2.2
diff -u -r1.21.2.1 -r1.21.2.2
--- XNodeSet.java 13 Nov 2002 18:37:00 -0000 1.21.2.1
+++ XNodeSet.java 10 Dec 2002 20:18:01 -0000 1.21.2.2
@@ -132,7 +132,7 @@
*/
public XNodeSet(DTMManager dtmMgr)
{
- super(dtmMgr);
+ this(DTM.NULL,dtmMgr);
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]