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]

Reply via email to