CALL FOR: HACK, extending XMLNodeReader of XMLBasicReader

Description:
============
XMLNodeReader still uses:
"http://apache.org/xml/features/dom/defer-node-expansion";. This is a
specific xml-parser, and thus very generic. XMLNodeReader could easy
extend XMLBasicReader and this way the problem should be solved.

Reason:
=======
I got an error message on this, when i installed an application with
java 1.4

Version:
========
Current CVS version

Modified files:
===============
org.mmbase.util.XMLNodeReader

Diff:
=====
Index: org/mmbase/util/XMLNodeReader.java
===================================================================
RCS file: /usr/local/cvs/src/org/mmbase/util/XMLNodeReader.java,v
retrieving revision 1.20
diff -r1.20 XMLNodeReader.java
19d18
< import org.apache.xerces.parsers.DOMParser;
35,41c34,35
< public class XMLNodeReader {
<
<    private static Logger log =
<       Logging.getLoggerInstance(XMLNodeReader.class.getName());
<
<    Document document;
<    DOMParser parser;
---
public class XMLNodeReader extends XMLBasicReader {
private static Logger log =
Logging.getLoggerInstance(XMLNodeReader.class.getName());
50,80c44,46
<
<    public XMLNodeReader(
<       String filename,
<       String applicationpath,
<       MMBase mmbase) {
<       try {
<          parser = new DOMParser();
<          // are the lines below generic?
<          parser.setFeature(
<             "http://apache.org/xml/features/dom/defer-node-expansion";,
<             true);
<          parser.setFeature(
<             "http://apache.org/xml/features/continue-after-fatal-error";,
<             true);
<          EntityResolver resolver = new XMLEntityResolver();
<          parser.setEntityResolver(resolver);
<          filename = "file:///" + filename;
<          parser.parse(filename);
<          document = parser.getDocument();
<          this.applicationpath = applicationpath;
<          /*
<          System.out.println("*** START XML APPLICATION READER FOR :
"+filename);
<          System.out.println("ExportSource="+getExportSource());
<          System.out.println("TimeStamp="+getTimeStamp());
<          System.out.println("*** END XML APPLICATION READER FOR :
"+filename);
<          */
<       }
<       catch (Exception e) {
<          // argh.. no distinction between different type of error
messages?
<          log.error(Logging.stackTrace(e));
<       }
---
public XMLNodeReader(String filename, String applicationpath,
MMBase mmbase) {
           super(filename);
           this.applicationpath = applicationpath;


START OF CALL: 2003-03-27

END OF CALL: 2003-04-1

[_] +1 (YEA)

[_] +0 (ABSTAIN )

[_] -1 (NAY), because :

[_] VETO, because:

--
Time is on my side,....

Eduard Witteveen
+316 414 789 23





Reply via email to