cziegeler 01/10/10 02:18:01
Modified: src/org/apache/cocoon/components/parser Tag:
cocoon_20_branch JaxpParser.java
Log:
Optional setting of the lexical-handler for XMLReader. This patch
allows to use Crimson instead of Xerces.
Submitted by: Ovidiu Predescu [EMAIL PROTECTED]
Revision Changes Path
No revision
No revision
1.3.2.5 +35 -18
xml-cocoon2/src/org/apache/cocoon/components/parser/JaxpParser.java
Index: JaxpParser.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/org/apache/cocoon/components/parser/JaxpParser.java,v
retrieving revision 1.3.2.4
retrieving revision 1.3.2.5
diff -u -r1.3.2.4 -r1.3.2.5
--- JaxpParser.java 2001/10/08 20:18:54 1.3.2.4
+++ JaxpParser.java 2001/10/10 09:18:01 1.3.2.5
@@ -7,18 +7,30 @@
*****************************************************************************/
package org.apache.cocoon.components.parser;
-import org.apache.avalon.framework.component.ComponentException;
-import org.apache.avalon.framework.component.ComponentManager;
-import org.apache.avalon.framework.component.Composable;
-import org.apache.avalon.framework.thread.SingleThreaded;
-import org.apache.cocoon.components.resolver.Resolver;
-import org.apache.cocoon.util.ClassUtils;
-import org.apache.cocoon.xml.AbstractXMLProducer;
-import org.w3c.dom.DOMImplementation;
-import org.w3c.dom.Document;
-import org.xml.sax.*;
-
-import javax.xml.parsers.*;
+import org.apache.avalon.framework.component.ComponentException;
+
+import org.apache.avalon.framework.component.ComponentManager;
+
+import org.apache.avalon.framework.component.Composable;
+
+import org.apache.avalon.framework.thread.SingleThreaded;
+
+import org.apache.cocoon.components.resolver.Resolver;
+
+import org.apache.cocoon.util.ClassUtils;
+
+import org.apache.cocoon.xml.AbstractXMLProducer;
+
+import org.w3c.dom.DOMImplementation;
+
+import org.w3c.dom.Document;
+
+import org.xml.sax.*;
+
+
+
+import javax.xml.parsers.*;
+
import java.io.IOException;
/**
@@ -26,7 +38,7 @@
* If only we can get rid of the need for the Document...
*
* @author <a href="mailto:[EMAIL PROTECTED]">Berin Loritsch</a>
- * @version CVS $Revision: 1.3.2.4 $ $Date: 2001/10/08 20:18:54 $
+ * @version CVS $Revision: 1.3.2.5 $ $Date: 2001/10/10 09:18:01 $
*/
public class JaxpParser extends AbstractXMLProducer
implements Parser, ErrorHandler, Composable, SingleThreaded {
@@ -60,7 +72,7 @@
getLogger().debug("Looking up " + Resolver.ROLE);
this.resolver = (Resolver)manager.lookup(Resolver.ROLE);
} catch(ComponentException e) {
- // This exception is ok during initialization/startup.
+ // This exception is ok during initialization/startup.
getLogger().debug("Error in JaxpParser: Cannot find " +
Resolver.ROLE);
}
}
@@ -83,13 +95,18 @@
XMLReader reader = parser.getXMLReader();
reader.setFeature("http://xml.org/sax/features/namespace-prefixes",
true);
- reader.setProperty("http://xml.org/sax/properties/lexical-handler",
- super.lexicalHandler);
+ try {
+
reader.setProperty("http://xml.org/sax/properties/lexical-handler",
+ super.lexicalHandler);
+ } catch (SAXException e) {
+ getLogger().warn("SAX2 driver does not support property: "+
+
"'http://xml.org/sax/properties/lexical-handler'");
+ }
reader.setErrorHandler(this);
reader.setContentHandler(super.contentHandler);
- if(this.resolver != null)
- reader.setEntityResolver(this.resolver);
+ if(this.resolver != null)
+ reader.setEntityResolver(this.resolver);
reader.parse(in);
}
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]