mkwan 2003/02/11 11:17:19
Modified: java/src/org/apache/xalan/xsltc/dom Tag: XSLTC_DTM
XSLTCDTMManager.java
java/src/org/apache/xml/dtm/ref/sax2dtm Tag: XSLTC_DTM
SAX2DTM2.java
Added: java/src/org/apache/xml/utils Tag: XSLTC_DTM
XMLStringDefault.java XMLStringFactoryDefault.java
Log:
Provide default implementations of XMLString and XMLStringFactory in
org.apache.xml.utils.
The default implementation is just a simple wrapper around a real String
object.
Although SAX2DTM2 no longer uses XMLString right now, some extensions and
DOMImpl still
make use of XMLStrings, which we do not want to change at the moment. This
seems to
be a better solution of removing the XPath dependency while keeping the
semantics
of all existing interfaces.
Revision Changes Path
No revision
No revision
1.1.2.9 +9 -6
xml-xalan/java/src/org/apache/xalan/xsltc/dom/Attic/XSLTCDTMManager.java
Index: XSLTCDTMManager.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/Attic/XSLTCDTMManager.java,v
retrieving revision 1.1.2.8
retrieving revision 1.1.2.9
diff -u -r1.1.2.8 -r1.1.2.9
--- XSLTCDTMManager.java 10 Feb 2003 19:36:45 -0000 1.1.2.8
+++ XSLTCDTMManager.java 11 Feb 2003 19:17:18 -0000 1.1.2.9
@@ -73,6 +73,7 @@
import org.apache.xml.res.XMLMessages;
import org.apache.xml.utils.SystemIDResolver;
import org.apache.xml.utils.XMLStringFactory;
+import org.apache.xml.utils.XMLStringFactoryDefault;
import org.xml.sax.InputSource;
import org.xml.sax.SAXNotRecognizedException;
@@ -112,7 +113,9 @@
*/
public static DTMManager newInstance()
{
- return new XSLTCDTMManager();
+ DTMManager factoryImpl = new XSLTCDTMManager();
+ factoryImpl.setXMLStringFactory(new XMLStringFactoryDefault());
+ return factoryImpl;
/*
String classname = defaultClassName;
@@ -247,7 +250,7 @@
" source: "+source.getSystemId()
);
- // XMLStringFactory xstringFactory = m_xsf;
+ XMLStringFactory xstringFactory = m_xsf;
int dtmPos = getFirstFreeDTMID();
int documentID = dtmPos << IDENT_DTM_NODE_BITS;
@@ -257,10 +260,10 @@
if (size <= 0) {
dtm = new DOMImpl(this, (DOMSource) source, documentID,
- whiteSpaceFilter, null, doIndexing);
+ whiteSpaceFilter, xstringFactory, doIndexing);
} else {
dtm = new DOMImpl(this, (DOMSource) source, documentID,
- whiteSpaceFilter, null, doIndexing, size);
+ whiteSpaceFilter, xstringFactory, doIndexing,
size);
}
addDTM(dtm, dtmPos);
@@ -320,10 +323,10 @@
SAXImpl dtm;
if (size <= 0) {
dtm = new SAXImpl(this, source, documentID, whiteSpaceFilter,
- null, doIndexing);
+ xstringFactory, doIndexing);
} else {
dtm = new SAXImpl(this, source, documentID, whiteSpaceFilter,
- null, doIndexing, size);
+ xstringFactory, doIndexing, size);
}
// Go ahead and add the DTM to the lookup table. This needs to be
No revision
No revision
1.1.2.7 +20 -0
xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm/Attic/SAX2DTM2.java
Index: SAX2DTM2.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm/Attic/SAX2DTM2.java,v
retrieving revision 1.1.2.6
retrieving revision 1.1.2.7
diff -u -r1.1.2.6 -r1.1.2.7
--- SAX2DTM2.java 5 Feb 2003 16:37:11 -0000 1.1.2.6
+++ SAX2DTM2.java 11 Feb 2003 19:17:18 -0000 1.1.2.7
@@ -58,6 +58,7 @@
import org.apache.xml.dtm.*;
import org.apache.xml.dtm.ref.*;
+import org.apache.xml.utils.XMLString;
import org.apache.xml.utils.XMLStringFactory;
import org.apache.xml.res.XMLMessages;
import org.apache.xml.res.XMLErrorResources;
@@ -2056,6 +2057,25 @@
return m_valuesOrPrefixes.indexToString(qnameIndex);
}
+ }
+
+ /**
+ * Override SAX2DTM.getStringValue(int)
+ *
+ * This implementation just calls getStringValueX(int) and creates
+ * a XMLString wrapper from the returned String.
+ *
+ * Get the string-value of a node as a String object
+ * (see http://www.w3.org/TR/xpath#data-model
+ * for the definition of a node's string-value).
+ *
+ * @param nodeHandle The node ID.
+ *
+ * @return A string object that represents the string-value of the given
node.
+ */
+ public XMLString getStringValue(int nodeHandle)
+ {
+ return m_xstrf.newstr(getStringValueX(nodeHandle));
}
/**
No revision
No revision
1.1.2.1 +838 -0
xml-xalan/java/src/org/apache/xml/utils/Attic/XMLStringDefault.java
1.1.2.1 +120 -0
xml-xalan/java/src/org/apache/xml/utils/Attic/XMLStringFactoryDefault.java
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]