zongaro 2003/12/11 20:25:20
Modified: java/src/org/apache/xalan/xsltc/cmdline Tag: xslt20-compiled
Transform.java
java/src/org/apache/xalan/xsltc/dom Tag: xslt20-compiled
DocumentCache.java
java/src/org/apache/xalan/xsltc/trax Tag: xslt20-compiled
TransformerHandlerImpl.java
Log:
Take advantage of DTM pluggability support for XSLTC.
Revision Changes Path
No revision
No revision
1.27.2.2 +10 -7
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.27.2.1
retrieving revision 1.27.2.2
diff -u -r1.27.2.1 -r1.27.2.2
--- Transform.java 24 Nov 2003 23:03:01 -0000 1.27.2.1
+++ Transform.java 12 Dec 2003 04:25:20 -0000 1.27.2.2
@@ -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;
@@ -149,11 +149,14 @@
final XMLReader reader = parser.getXMLReader();
// Set the DOM's DOM builder as the XMLReader's SAX2 content handler
- XSLTCDTMManager dtmManager = XSLTCDTMManager.newInstance();
-
- final SAXImpl dom = (SAXImpl)dtmManager.getDTM(
- new SAXSource(reader, new
InputSource(_fileName)),
- false, null, true, false, translet.hasIdCall());
+ XSLTCDTMManager dtmManager =
+ (XSLTCDTMManager)XSLTCDTMManager.getDTMManagerClass()
+ .newInstance();
+
+ final DOMEnhancedForDTM dom =
+ (DOMEnhancedForDTM)dtmManager.getDTM(
+ new SAXSource(reader, new
InputSource(_fileName)),
+ false, null, true, false, translet.hasIdCall());
dom.setDocumentURI(_fileName);
translet.prepassDocument(dom);
No revision
No revision
1.12.2.2 +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.12.2.1
retrieving revision 1.12.2.2
diff -u -r1.12.2.1 -r1.12.2.2
--- DocumentCache.java 4 Dec 2003 20:58:41 -0000 1.12.2.1
+++ DocumentCache.java 12 Dec 2003 04:25:20 -0000 1.12.2.2
@@ -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);
+ }
}
/**
No revision
No revision
1.16.2.1 +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.16.2.1
diff -u -r1.16 -r1.16.2.1
--- TransformerHandlerImpl.java 11 Jul 2003 17:13:38 -0000 1.16
+++ TransformerHandlerImpl.java 12 Dec 2003 04:25:20 -0000 1.16.2.1
@@ -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]