Hi Attila,


     This is the same problem that was reported as Bug 4026 [1].  I just posted a patch there; please try it out, and let me know if it doesn't solve your problem.

Thanks,

Henry

[1] http://nagoya.apache.org/bugzilla/show_bug.cgi?id=4026
------------------------------------------------------------------------
Henry Zongaro      XML Parsers development
IBM SWS Toronto Lab   Tie Line 969-6044;  Phone (905) 413-6044
mailto:[EMAIL PROTECTED]

Please respond to [EMAIL PROTECTED]

To:        <[EMAIL PROTECTED]>
cc:        
Subject:        NullPointerException when parsing entity decl in internal DTD subset


I get NPE in Xerces 1.2.1, 1.2.3, and 1.4.3 when attempting to parse the
following stripped-down test-case XML document:

<?xml version="1.0"?>
<!DOCTYPE root SYSTEM "root.dtd"
[
<!ENTITY a PUBLIC "a" "a.ent">
]>

<root/>


The "root.dtd" contains a single line:
<!ELEMENT root EMPTY>

The exact stack trace is:

java.lang.NullPointerException
   at org.apache.xerces.utils.StringPool.addSymbol(StringPool.java:349)
   at
org.apache.xerces.readers.DefaultEntityHandler.addExternalEntityDecl(Default
EntityHandler.java:226)
   at
org.apache.xerces.framework.XMLDTDScanner.scanEntityDecl(XMLDTDScanner.java:
2800)
   at
org.apache.xerces.framework.XMLDTDScanner.scanDecls(XMLDTDScanner.java:1450)
   at
org.apache.xerces.framework.XMLDTDScanner.scanDoctypeDecl(XMLDTDScanner.java
:1123)
   at
org.apache.xerces.framework.XMLDocumentScanner.scanDoctypeDecl(XMLDocumentSc
anner.java:2145)
   at
org.apache.xerces.framework.XMLDocumentScanner.access$0(XMLDocumentScanner.j
ava:2100)
   at
org.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.dispatch(XML
DocumentScanner.java:831)
   at
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.
java:381)
   at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1081)

I believe the DefaultEntityHandler.addExternalEntityDecl is faulty.

As I compose documents from many entities, being unable to parse them is a
show-stopper for me. (I can't switch to other XML parser, as I use FOP, and
it works with Xerces only...)

Attila.

Reply via email to