DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11176>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11176

endDTD() not send if no publicId or external subset specified in DOCTYPE decl

[EMAIL PROTECTED] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|                            |FIXED



------- Additional Comments From [EMAIL PROTECTED]  2002-08-01 17:19 -------
Hi again, 
I've just fixed the bug in CVS. 
The problem was in the difference between SAX and XNI API. SAX defines
that the LexicalHandler.startDTD() is called "to report the beginning of
the DOCTYPE declaration". However, the Xerces XNI uses the
DocumentHandler.doctypeDecl() to report this event (doctype). Thus, to
comply with SAX, Xerces SAXParser sends the LexicalHandler.startDTD
event in the documentDecl() method.

The problem is that if a DOCTYPE declaration does not include SystemId
and has no internal subset, i.e. <!DOCTYPE root>, XNI will never send
startDTD call (nor endDTD correspondingly). Thus, in this situation,
SAXParser never sends endDTD event to an application.

Please, verify and close this bug.
Thank you!

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

Reply via email to