mkwan       2003/02/10 11:36:46

  Modified:    java/src/org/apache/xalan/xsltc/cmdline Tag: XSLTC_DTM
                        Transform.java
               java/src/org/apache/xalan/xsltc/dom Tag: XSLTC_DTM
                        DocumentCache.java SAXImpl.java
                        XSLTCDTMManager.java
               java/src/org/apache/xalan/xsltc/runtime Tag: XSLTC_DTM
                        BasisLibrary.java
               java/src/org/apache/xalan/xsltc/trax Tag: XSLTC_DTM
                        SmartTransformerFactoryImpl.java
                        TransformerHandlerImpl.java TransformerImpl.java
                        XSLTCSource.java
  Log:
  Make XSLTC on DTM completely independent of Xalan and XPath
  
  1. Remove the reference to org.apache.xpath.objects.XMLStringFactoryImpl
  in XSLTCDTMManager. A null XMLStringFactory is used when creating a SAXImpl.
  
  2. In SAXImpl, replace the references to getStringValue() by 
getStringValueX() which
  does not use XMLStrings.
  
  3. In SmartTransformerFactoryImpl.java, do not explicitly reference
  org.apache.xalan.processor.TransformerFactoryImpl to get rid of
  the compile time dependency on Xalan.
  
  4. Do not use reflection in XSLTCDTMManaget.newInstance(). There is no 
intention
  to let the user specify another XSLTCDTMManager at the moment. We can revisit
  this issue if there is a future need.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.15.10.10 +2 -3      
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.15.10.9
  retrieving revision 1.15.10.10
  diff -u -r1.15.10.9 -r1.15.10.10
  --- Transform.java    30 Jan 2003 18:41:36 -0000      1.15.10.9
  +++ Transform.java    10 Feb 2003 19:36:45 -0000      1.15.10.10
  @@ -167,8 +167,7 @@
            final XMLReader reader = parser.getXMLReader();
   
            // Set the DOM's DOM builder as the XMLReader's SAX2 content handler
  -            DTMManager dtmManager = XSLTCDTMManager.newInstance(
  -                 org.apache.xpath.objects.XMLStringFactoryImpl.getFactory());
  +            DTMManager dtmManager = XSLTCDTMManager.newInstance();
   
               final SAXImpl dom = (SAXImpl)dtmManager.getDTM(
                                new SAXSource(reader, new 
InputSource(_fileName)),
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.6.10.9  +2 -4      
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.6.10.8
  retrieving revision 1.6.10.9
  diff -u -r1.6.10.8 -r1.6.10.9
  --- DocumentCache.java        30 Jan 2003 18:41:47 -0000      1.6.10.8
  +++ DocumentCache.java        10 Feb 2003 19:36:45 -0000      1.6.10.9
  @@ -134,9 +134,7 @@
        public void loadDocument(String uri) {
   
               XSLTCDTMManager dtmManager =
  -                    (XSLTCDTMManager)XSLTCDTMManager.newInstance(
  -                                  
org.apache.xpath.objects.XMLStringFactoryImpl
  -                                                          .getFactory());
  +                    (XSLTCDTMManager)XSLTCDTMManager.newInstance();
            try {
                final long stamp = System.currentTimeMillis();
                   _dom = (SAXImpl)dtmManager.getDTM(
  
  
  
  1.1.2.28  +12 -12    
xml-xalan/java/src/org/apache/xalan/xsltc/dom/Attic/SAXImpl.java
  
  Index: SAXImpl.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/Attic/SAXImpl.java,v
  retrieving revision 1.1.2.27
  retrieving revision 1.1.2.28
  diff -u -r1.1.2.27 -r1.1.2.28
  --- SAXImpl.java      31 Jan 2003 20:31:33 -0000      1.1.2.27
  +++ SAXImpl.java      10 Feb 2003 19:36:45 -0000      1.1.2.28
  @@ -424,7 +424,7 @@
               for (node = super.next(); node != END; node = super.next()) {
                   if (getExpandedTypeID(node) == _nodeType
                         || getNodeType(node) == _nodeType
  -                      || getIdForNamespace(getStringValue(node).toString())
  +                      || getIdForNamespace(getStringValueX(node))
                                == _nodeType) {
                       return returnNode(node);
                   }
  @@ -1396,7 +1396,7 @@
        case DTM.TEXT_NODE:
        case DTM.COMMENT_NODE:
        case DTM.PROCESSING_INSTRUCTION_NODE:
  -         System.out.print(getStringValue(node).toString());
  +         System.out.print(getStringValueX(node));
            break;
        default:                  // element
            final String name = getNodeName(node);
  @@ -1404,7 +1404,7 @@
            for (int a = getFirstAttribute(node); a != DTM.NULL; a = 
getNextAttribute(a))
         {
                    System.out.print("\n" + getNodeName(a) +
  -                              "=\"" + getStringValue(a).toString() + "\"");
  +                              "=\"" + getStringValueX(a) + "\"");
            }
            System.out.print('>');
            for (int child = getFirstChild(node); child != DTM.NULL;
  @@ -1471,7 +1471,7 @@
       public String getAttributeValue(final int type, final int element)
       {
         final int attr = getAttributeNode(type, element);
  -      return (attr != DTM.NULL) ? getStringValue(attr).toString() : 
EMPTYSTRING;
  +      return (attr != DTM.NULL) ? getStringValueX(attr) : EMPTYSTRING;
       }
   
       /**
  @@ -1821,7 +1821,7 @@
         final String value  = new String(text, i + 1, length - len - 1);
         */
         final String target = getNodeName(node);
  -      final String value = getStringValue(node).toString();
  +      final String value = getStringValueX(node);
         handler.processingInstruction(target, value);
       }
   
  @@ -1907,7 +1907,7 @@
         
         // optimization: only create StringBuffer if > 1 child      
         if ((getNodeType(child) == DTM.TEXT_NODE) && (getNextSibling(child) == 
DTM.NULL))
  -        return getStringValue(child).toString();
  +        return getStringValueX(child);
         else
           return stringValueAux(new StringBuffer(), doc).toString();
       }
  @@ -1937,7 +1937,7 @@
           case DTM.COMMENT_NODE:
             break;
           case DTM.TEXT_NODE:
  -          buffer.append(getStringValue(child).toString());
  +          buffer.append(getStringValueX(child));
             break;
           case DTM.PROCESSING_INSTRUCTION_NODE:
             break;
  @@ -1978,15 +1978,15 @@
            switch (getNodeType(child)) {
            case DTM.COMMENT_NODE:
                buffer.append("<!--");
  -             buffer.append(buffer.append(getStringValue(child).toString()));
  +             buffer.append(buffer.append(getStringValueX(child)));
                buffer.append("-->");
                break;
            case DTM.TEXT_NODE:
  -             buffer.append(buffer.append(getStringValue(child).toString()));
  +             buffer.append(buffer.append(getStringValueX(child)));
                break;
            case DTM.PROCESSING_INSTRUCTION_NODE:
                buffer.append("<?");
  -             buffer.append(buffer.append(getStringValue(child).toString()));
  +             buffer.append(buffer.append(getStringValueX(child)));
                buffer.append("?>");
                break;
            default:
  @@ -2091,6 +2091,6 @@
       }
   
       public boolean compareNodeToString(int node, String value) {
  -        return getStringValue(node).equals(value);
  +        return getStringValueX(node).equals(value);
       }
   }
  
  
  
  1.1.2.8   +15 -45    
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.7
  retrieving revision 1.1.2.8
  diff -u -r1.1.2.7 -r1.1.2.8
  --- XSLTCDTMManager.java      30 Jan 2003 18:41:47 -0000      1.1.2.7
  +++ XSLTCDTMManager.java      10 Feb 2003 19:36:45 -0000      1.1.2.8
  @@ -107,47 +107,14 @@
     
     /**
      * Obtain a new instance of a <code>DTMManager</code>.
  -   * This static method creates a new factory instance
  -   * This method uses the following ordered lookup procedure to determine
  -   * the <code>DTMManager</code> implementation class to
  -   * load:
  -   * <ul>
  -   * <li>
  -   * Use the <code>org.apache.xml.dtm.DTMManager</code> system
  -   * property.
  -   * </li>
  -   * <li>
  -   * Use the JAVA_HOME(the parent directory where jdk is
  -   * installed)/lib/jaxp.properties for a property file that contains the
  -   * name of the implementation class keyed on the same value as the
  -   * system property defined above.
  -   * </li>
  -   * <li>
  -   * Use the Services API (as detailed in the JAR specification), if
  -   * available, to determine the classname. The Services API will look
  -   * for a classname in the file
  -   * <code>META-INF/services/javax.xml.parsers.DTMManager</code>
  -   * in jars available to the runtime.
  -   * </li>
  -   * <li>
  -   * Use the default <code>DTMManager</code> classname, which is
  -   * <code>org.apache.xml.dtm.ref.DTMManagerDefault</code>.
  -   * </li>
  -   * </ul>
  -   *
  -   * Once an application has obtained a reference to a <code>
  -   * DTMManager</code> it can use the factory to configure
  -   * and obtain parser instances.
  -   *
  -   * @return new DTMManager instance, never null.
  -   *
  -   * @throws DTMConfigurationException
  -   * if the implementation is not available or cannot be instantiated.
  +   * This static method creates a new factory instance.
  +   * The current implementation just returns a new XSLTCDTMManager instance.
      */
  -  public static DTMManager newInstance(XMLStringFactory xsf) 
  -           throws DTMConfigurationException
  +  public static DTMManager newInstance()
     {
  -
  +    return new XSLTCDTMManager();
  +    
  +    /*
       String classname =  defaultClassName;
   
       if (classname == null)
  @@ -178,6 +145,7 @@
       factoryImpl.setXMLStringFactory(xsf);
   
       return factoryImpl;
  +    */
     } 
   
     /**
  @@ -279,7 +247,7 @@
                         " source: "+source.getSystemId()
                         );
   
  -    XMLStringFactory xstringFactory = m_xsf;
  +    // XMLStringFactory xstringFactory = m_xsf;
       int dtmPos = getFirstFreeDTMID();
       int documentID = dtmPos << IDENT_DTM_NODE_BITS;
   
  @@ -289,10 +257,10 @@
   
         if (size <= 0) {
           dtm = new DOMImpl(this, (DOMSource) source, documentID,
  -                          whiteSpaceFilter, xstringFactory, doIndexing);
  +                          whiteSpaceFilter, null, doIndexing);
         } else {
           dtm = new DOMImpl(this, (DOMSource) source, documentID,
  -                          whiteSpaceFilter, xstringFactory, doIndexing, 
size);
  +                          whiteSpaceFilter, null, doIndexing, size);
         }
   
         addDTM(dtm, dtmPos);
  @@ -352,10 +320,10 @@
           SAXImpl dtm;
           if (size <= 0) {
             dtm = new SAXImpl(this, source, documentID, whiteSpaceFilter,
  -                            xstringFactory, doIndexing);
  +                            null, doIndexing);
           } else {
             dtm = new SAXImpl(this, source, documentID, whiteSpaceFilter,
  -                            xstringFactory, doIndexing, size);
  +                            null, doIndexing, size);
           }
   
           // Go ahead and add the DTM to the lookup table.  This needs to be
  @@ -363,6 +331,7 @@
           // created a new DTM.
           addDTM(dtm, dtmPos, 0);
   
  +        /*
           boolean haveXercesParser =
             (null != reader)
             && 
(reader.getClass().getName().equals("org.apache.xerces.parsers.SAXParser") );
  @@ -447,6 +416,7 @@
           }
           else
           {
  +        */
             if (null == reader)
             {
   
  @@ -487,7 +457,7 @@
   
               throw new org.apache.xml.utils.WrappedRuntimeException(e);
             }
  -        }
  +        /* } */
   
           if (DUMPTREE)
           {
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.35.2.15 +2 -3      
xml-xalan/java/src/org/apache/xalan/xsltc/runtime/BasisLibrary.java
  
  Index: BasisLibrary.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/BasisLibrary.java,v
  retrieving revision 1.35.2.14
  retrieving revision 1.35.2.15
  diff -u -r1.35.2.14 -r1.35.2.15
  --- BasisLibrary.java 30 Jan 2003 18:41:48 -0000      1.35.2.14
  +++ BasisLibrary.java 10 Feb 2003 19:36:45 -0000      1.35.2.15
  @@ -1171,8 +1171,7 @@
           copyNodes(nodeList, doc, topElementNode);
   
           // w3cDOM -> DTM -> DOMImpl
  -     DTMManager dtmManager = XSLTCDTMManager.newInstance(
  -                org.apache.xpath.objects.XMLStringFactoryImpl.getFactory());
  +     DTMManager dtmManager = XSLTCDTMManager.newInstance();
   
        DOMImpl idom = (DOMImpl)dtmManager.getDTM(new DOMSource(doc), false,
                                                     null, true, false);
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.5.10.3  +2 -3      
xml-xalan/java/src/org/apache/xalan/xsltc/trax/SmartTransformerFactoryImpl.java
  
  Index: SmartTransformerFactoryImpl.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/trax/SmartTransformerFactoryImpl.java,v
  retrieving revision 1.5.10.2
  retrieving revision 1.5.10.3
  diff -u -r1.5.10.2 -r1.5.10.3
  --- SmartTransformerFactoryImpl.java  30 Jan 2003 18:41:50 -0000      1.5.10.2
  +++ SmartTransformerFactoryImpl.java  10 Feb 2003 19:36:45 -0000      1.5.10.3
  @@ -142,8 +142,7 @@
        try {
            Class xalanFactClass = Class.forName(
                "org.apache.xalan.processor.TransformerFactoryImpl");
  -         _xalanFactory = (org.apache.xalan.processor.TransformerFactoryImpl)
  -             xalanFactClass.newInstance();
  +         _xalanFactory = (SAXTransformerFactory)xalanFactClass.newInstance();
        } 
        catch (ClassNotFoundException e) {
            System.err.println(xalanMessage);
  
  
  
  1.6.10.12 +2 -3      
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.6.10.11
  retrieving revision 1.6.10.12
  diff -u -r1.6.10.11 -r1.6.10.12
  --- TransformerHandlerImpl.java       30 Jan 2003 18:41:51 -0000      
1.6.10.11
  +++ TransformerHandlerImpl.java       10 Feb 2003 19:36:45 -0000      
1.6.10.12
  @@ -219,8 +219,7 @@
   
           if (!_isIdentity) {
            // Create an internal DOM (not W3C) and get SAX2 input handler
  -            DTMManager dtmManager = XSLTCDTMManager.newInstance(
  -                 org.apache.xpath.objects.XMLStringFactoryImpl.getFactory());
  +            DTMManager dtmManager = XSLTCDTMManager.newInstance();
   
               DTMWSFilter wsFilter;
               if (_translet != null && _translet instanceof StripFilter) {
  
  
  
  1.37.2.17 +4 -10     
xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerImpl.java
  
  Index: TransformerImpl.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerImpl.java,v
  retrieving revision 1.37.2.16
  retrieving revision 1.37.2.17
  diff -u -r1.37.2.16 -r1.37.2.17
  --- TransformerImpl.java      4 Feb 2003 16:08:13 -0000       1.37.2.16
  +++ TransformerImpl.java      10 Feb 2003 19:36:45 -0000      1.37.2.17
  @@ -457,9 +457,7 @@
                // Create a new internal DOM and set up its builder to trap
                // all content/lexical events
                XSLTCDTMManager dtmManager = 
  -                   (XSLTCDTMManager) XSLTCDTMManager.newInstance(
  -                                   
org.apache.xpath.objects.XMLStringFactoryImpl
  -                                                       .getFactory());
  +                   (XSLTCDTMManager) XSLTCDTMManager.newInstance();
   
                   //dtmManager.setIncremental(_isIncremental);
                dom = (SAXImpl)dtmManager.getDTM(sax, false, wsfilter, true, 
false,
  @@ -480,9 +478,7 @@
   
                // Create a new internal DTM and build it directly from DOM
                XSLTCDTMManager dtmManager =
  -                     (XSLTCDTMManager)XSLTCDTMManager.newInstance(
  -                                   
org.apache.xpath.objects.XMLStringFactoryImpl
  -                                                         .getFactory());
  +                     (XSLTCDTMManager)XSLTCDTMManager.newInstance();
       
                   //dtmManager.setIncremental(_isIncremental);
                dom = (DOMImpl)dtmManager.getDTM(domsrc, false, wsfilter, true,
  @@ -500,9 +496,7 @@
                // Create a new internal DOM and set up its builder to trap
                // all content/lexical events
                XSLTCDTMManager dtmManager =
  -                         (XSLTCDTMManager) XSLTCDTMManager.newInstance(
  -                                   
org.apache.xpath.objects.XMLStringFactoryImpl
  -                                                   .getFactory());
  +                         (XSLTCDTMManager) XSLTCDTMManager.newInstance();
   
                //dtmManager.setIncremental(_isIncremental);
                
  
  
  
  1.3.10.6  +5 -7      
xml-xalan/java/src/org/apache/xalan/xsltc/trax/XSLTCSource.java
  
  Index: XSLTCSource.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/trax/XSLTCSource.java,v
  retrieving revision 1.3.10.5
  retrieving revision 1.3.10.6
  diff -u -r1.3.10.5 -r1.3.10.6
  --- XSLTCSource.java  30 Jan 2003 18:41:51 -0000      1.3.10.5
  +++ XSLTCSource.java  10 Feb 2003 19:36:46 -0000      1.3.10.6
  @@ -100,12 +100,11 @@
       public XSLTCSource(int size) 
       {
         DTMManager dtmManager =
  -                XSLTCDTMManager.newInstance(org.apache.xpath.objects
  -                                            
.XMLStringFactoryImpl.getFactory());
  +                XSLTCDTMManager.newInstance();
         int dtmPos = ((DTMManagerDefault)dtmManager).getFirstFreeDTMID();
         int documentID = dtmPos << DTMManager.IDENT_DTM_NODE_BITS;
         _dom = (DOM)new SAXImpl(dtmManager, this, documentID, null,
  -                              dtmManager.getXMLStringFactory(), true, size);
  +                              null, true, size);
         ((DTMManagerDefault)dtmManager).addDTM((DTM)_dom, dtmPos);
       }
   
  @@ -115,12 +114,11 @@
       public XSLTCSource() 
       {
         DTMManager dtmManager =
  -                XSLTCDTMManager.newInstance(org.apache.xpath.objects
  -                                            
.XMLStringFactoryImpl.getFactory());
  +                XSLTCDTMManager.newInstance();
         int dtmPos = ((DTMManagerDefault)dtmManager).getFirstFreeDTMID();
         int documentID = dtmPos << DTMManager.IDENT_DTM_NODE_BITS;
         _dom = (DOM)new SAXImpl(dtmManager, this, documentID, null,
  -                              dtmManager.getXMLStringFactory(), true);
  +                              null, true);
         ((DTMManagerDefault)dtmManager).addDTM((DTM)_dom, dtmPos);
       }
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to