zongaro 2003/12/11 20:24:12
Modified: java/src/org/apache/xalan/xsltc/cmdline Transform.java
java/src/org/apache/xalan/xsltc/dom DocumentCache.java
java/src/org/apache/xalan/xsltc/trax
TransformerHandlerImpl.java
Log:
Take advantage of DTM pluggability support for XSLTC.
Revision Changes Path
1.30 +9 -6
xml-xalan/java/src/org/apache/xalan/xsltc/cmdline/Transform.java
Index: Transform.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/cmdline/Transform.java,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- Transform.java 24 Nov 2003 22:18:57 -0000 1.29
+++ Transform.java 12 Dec 2003 04:24:12 -0000 1.30
@@ -76,7 +76,7 @@
import org.apache.xalan.xsltc.TransletException;
import org.apache.xalan.xsltc.compiler.util.ErrorMsg;
-import org.apache.xalan.xsltc.dom.SAXImpl;
+import org.apache.xalan.xsltc.DOMEnhancedForDTM;
import org.apache.xalan.xsltc.dom.XSLTCDTMManager;
import org.apache.xalan.xsltc.runtime.AbstractTranslet;
import org.apache.xalan.xsltc.runtime.Constants;
@@ -153,7 +153,9 @@
final XMLReader reader = parser.getXMLReader();
// Set the DOM's DOM builder as the XMLReader's SAX2 content handler
- XSLTCDTMManager dtmManager = XSLTCDTMManager.newInstance();
+ XSLTCDTMManager dtmManager =
+ (XSLTCDTMManager)XSLTCDTMManager.getDTMManagerClass()
+ .newInstance();
DTMWSFilter wsfilter;
if (translet != null && translet instanceof StripFilter) {
@@ -162,9 +164,10 @@
wsfilter = null;
}
- final SAXImpl dom = (SAXImpl)dtmManager.getDTM(
- new SAXSource(reader, new
InputSource(_fileName)),
- false, wsfilter, true, false,
translet.hasIdCall());
+ final DOMEnhancedForDTM dom =
+ (DOMEnhancedForDTM)dtmManager.getDTM(
+ new SAXSource(reader, new
InputSource(_fileName)),
+ false, wsfilter, true, false,
translet.hasIdCall());
dom.setDocumentURI(_fileName);
translet.prepassDocument(dom);
1.14 +7 -2
xml-xalan/java/src/org/apache/xalan/xsltc/dom/DocumentCache.java
Index: DocumentCache.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/DocumentCache.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- DocumentCache.java 4 Dec 2003 16:44:53 -0000 1.13
+++ DocumentCache.java 12 Dec 2003 04:24:12 -0000 1.14
@@ -191,7 +191,12 @@
*/
public DocumentCache(int size) throws SAXException {
this(size, null);
- _dtmManager = XSLTCDTMManager.newInstance();
+ try {
+ _dtmManager =
(XSLTCDTMManager)XSLTCDTMManager.getDTMManagerClass()
+ .newInstance();
+ } catch (Exception e) {
+ throw new SAXException(e);
+ }
}
/**
1.17 +17 -8
xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerHandlerImpl.java
Index: TransformerHandlerImpl.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerHandlerImpl.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- TransformerHandlerImpl.java 11 Jul 2003 17:13:38 -0000 1.16
+++ TransformerHandlerImpl.java 12 Dec 2003 04:24:12 -0000 1.17
@@ -222,9 +222,17 @@
if (!_isIdentity) {
boolean hasIdCall = (_translet != null) ? _translet.hasIdCall()
: false;
+ XSLTCDTMManager dtmManager = null;
// Create an internal DOM (not W3C) and get SAX2 input handler
- XSLTCDTMManager dtmManager = XSLTCDTMManager.newInstance();
+ try {
+ dtmManager =
+ (XSLTCDTMManager)_transformer.getTransformerFactory()
+ .getDTMManagerClass()
+ .newInstance();
+ } catch (Exception e) {
+ throw new SAXException(e);
+ }
DTMWSFilter wsFilter;
if (_translet != null && _translet instanceof StripFilter) {
@@ -234,20 +242,21 @@
}
// Construct the DTM using the SAX events that come through
- _dom = (SAXImpl)dtmManager.getDTM(null, false, wsFilter, true,
false, hasIdCall);
-
+ _dom = (SAXImpl)dtmManager.getDTM(null, false, wsFilter, true,
+ false, hasIdCall);
+
_handler = _dom.getBuilder();
_lexHandler = (LexicalHandler) _handler;
_dtdHandler = (DTDHandler) _handler;
_declHandler = (DeclHandler) _handler;
- // Set document URI
- _dom.setDocumentURI(_systemId);
+ // Set document URI
+ _dom.setDocumentURI(_systemId);
- if (_locator != null) {
+ if (_locator != null) {
_handler.setDocumentLocator(_locator);
- }
+ }
}
// Proxy call
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]