xalan-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From santiag...@apache.org
Subject cvs commit: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
Date Thu, 20 Nov 2003 18:01:49 GMT
santiagopg    2003/11/20 10:01:49

  Modified:    java/src/org/apache/xalan/xsltc/trax
                        TransformerFactoryImpl.java
  Log:
  Moved and modified Xerces' fallback code for the creation of XMLReaders. This fallback does
not belong here and will be removed after we figure out why is needed.
  
  Revision  Changes    Path
  1.68      +23 -19    xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerFactoryImpl.java
  
  Index: TransformerFactoryImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerFactoryImpl.java,v
  retrieving revision 1.67
  retrieving revision 1.68
  diff -u -r1.67 -r1.68
  --- TransformerFactoryImpl.java	18 Nov 2003 23:25:00 -0000	1.67
  +++ TransformerFactoryImpl.java	20 Nov 2003 18:01:49 -0000	1.68
  @@ -129,16 +129,7 @@
       public final static String DEBUG = "debug";
       public final static String ENABLE_INLINING = "enable-inlining";
       public final static String INDENT_NUMBER = "indent-number";
  -    
  -    static {
  -        // If 'org.xml.sax.driver' not set, default to Xerces
  -        String saxDriver = System.getProperty("org.xml.sax.driver");
  -        if (saxDriver == null) {
  -            System.setProperty("org.xml.sax.driver", 
  -                               "org.apache.xerces.parsers.SAXParser");                
             
  -        }        
  -    }
  -    
  +        
       /**
        * This error listener is used only for this factory and is not passed to
        * the Templates or Transformer objects that we create.
  @@ -1061,15 +1052,28 @@
   	}
   	XMLReader result = (XMLReader) _xmlReader.get();
   	if (result == null) {
  +            try {
  +                /*
  +                 * Fix for bug 24695
  +                 * According to JAXP 1.2 specification if a SAXSource
  +                 * is created using a SAX InputSource the Transformer or
  +                 * TransformerFactory creates a reader via the XMLReaderFactory
  +                 * if setXMLReader is not used
  +                 */
  +                result = XMLReaderFactory.createXMLReader();
  +            }
  +            catch (Exception e) {
  +               try {
  +                    // If unable to create an instance, let's try to use Xerces
  +                    Class clazz = Thread.currentThread().getContextClassLoader()
  +                        .loadClass("org.apache.xerces.parsers.SAXParser");
  +                    result = (XMLReader) clazz.newInstance();
  +                }
  +                catch (ClassNotFoundException cnfe) {
  +                    throw e;   // ignore cnfe
  +                }
  +            }
    
  -            /*
  -              * Fix for bug 24695
  -              * According to JAXP 1.2 specification if a SAXSource
  -              * is created using a SAX InputSource the Transformer or
  -              * TransformerFactory creates a reader via the XMLReaderFactory
  -              * if setXMLReader is not used
  -              */
  -            result = XMLReaderFactory.createXMLReader();
               result.setFeature("http://xml.org/sax/features/namespaces",
                  true);
               result.setFeature("http://xml.org/sax/features/namespace-prefixes",
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org


Mime
View raw message