costin      01/03/14 11:51:02

  Modified:    java/src/org/apache/xalan/xslt Process.java
  Log:
  A (last ? ) place where XMLReaderFactory was used without
  trying jaxp first. I used the same code that is used in all other
  places in xalan.
  
  With this change, the parser defined in XSLTInfo.properties will be used
  only if jaxp is not available.
  
  Revision  Changes    Path
  1.32      +44 -24    xml-xalan/java/src/org/apache/xalan/xslt/Process.java
  
  Index: Process.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xslt/Process.java,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- Process.java      2001/03/14 19:49:50     1.31
  +++ Process.java      2001/03/14 19:51:02     1.32
  @@ -655,30 +655,50 @@
              }
               else
               {
  -                                                     if (entityResolver != 
null)
  -                                                     {
  -                                                             XMLReader 
reader = XMLReaderFactory.createXMLReader();
  -                                                             
reader.setEntityResolver(entityResolver);
  -                                                             if 
(contentHandler != null)
  -                                                             {
  -                                                                     
SAXResult result = new SAXResult(contentHandler);
  -                                                                     
transformer.transform(new SAXSource(reader, new InputSource(inFileName)),
  -                                                                             
                                                                                
result);
  -                                                             }
  -                                                             else
  -                                                             {
  -                                                                     
transformer.transform(new SAXSource(reader, new InputSource(inFileName)),
  -                                                                             
                                                                        
strResult);
  -                                                             }
  -                                                     }
  -                                                     else if (contentHandler 
!= null)
  -                                                     {
  -                                                             SAXResult 
result = new SAXResult(contentHandler);
  -                                                             
transformer.transform(new StreamSource(inFileName),
  -                                                                             
                                                                        result);
  -                                                     }
  -                                                     else
  -                                                             
transformer.transform(new StreamSource(inFileName), strResult);
  +             if (entityResolver != null)
  +                 {
  +                     XMLReader reader=null;
  +                     // Use JAXP1.1 ( if possible )      
  +                     try {
  +                         javax.xml.parsers.SAXParserFactory factory=
  +                             
javax.xml.parsers.SAXParserFactory.newInstance();
  +                         factory.setNamespaceAware( true );
  +                         javax.xml.parsers.SAXParser jaxpParser=
  +                             factory.newSAXParser();
  +                         reader=jaxpParser.getXMLReader();
  +                         
  +                     } catch( javax.xml.parsers.ParserConfigurationException 
ex ) {
  +                         throw new org.xml.sax.SAXException( ex );
  +                     } catch( javax.xml.parsers.FactoryConfigurationError 
ex1 ) {
  +                         throw new org.xml.sax.SAXException( ex1.toString() 
);
  +                     } catch( NoSuchMethodError ex2 ) {
  +                     }
  +                     catch (AbstractMethodError ame){}
  +                     if (null == reader) {
  +                         reader = XMLReaderFactory.createXMLReader();
  +                     }
  +
  +                     reader.setEntityResolver(entityResolver);
  +                     if (contentHandler != null)
  +                         {
  +                             SAXResult result = new 
SAXResult(contentHandler);
  +                             transformer.transform(new SAXSource(reader, new 
InputSource(inFileName)),
  +                                                   result);
  +                         }
  +                     else
  +                         {
  +                             transformer.transform(new SAXSource(reader, new 
InputSource(inFileName)),
  +                                                   strResult);
  +                         }
  +                 }
  +             else if (contentHandler != null)
  +                 {
  +                     SAXResult result = new SAXResult(contentHandler);
  +                     transformer.transform(new StreamSource(inFileName),
  +                                           result);
  +                 }
  +             else
  +                 transformer.transform(new StreamSource(inFileName), 
strResult);
               }
             }
             else
  
  
  

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

Reply via email to