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]
