xerces-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alberto Massari (JIRA)" <xerces-c-...@xml.apache.org>
Subject [jira] Updated: (XERCESC-729) SAX parsers incorrectly filter out events from XMLDocumentHandler instances installed
Date Tue, 02 Nov 2004 14:01:35 GMT
     [ http://nagoya.apache.org/jira/browse/XERCESC-729?page=history ]

Alberto Massari updated XERCESC-729:
------------------------------------

    Priority: Major

> SAX parsers incorrectly filter out events from XMLDocumentHandler instances installed
> -------------------------------------------------------------------------------------
>
>          Key: XERCESC-729
>          URL: http://nagoya.apache.org/jira/browse/XERCESC-729
>      Project: Xerces-C++
>         Type: Bug
>   Components: SAX/SAX2
>     Versions: 2.1.0
>  Environment: Operating System: Other
> Platform: Other
>     Reporter: David Bertoni
>     Assignee: Xerces-C Developers Mailing List

>
> Both SAXParser and SAX2ReaderImpl filter out whitespace before the document 
> element for reporting SAX events.
> However, they also filter out this whitespace for any XMLDocumentHandler 
> instances installed as "advanced document handlers."  I think this is a bug, 
> since users may well be interested in such events, even though they aren't 
> really part of the document content.  This also makes things consistent with 
> the way the underlying XMLScanner reports the events.
> I've attached proposed patches.
> cvs -z9 diff SAX2XMLReaderImpl.cpp (in directory V:\xml-
> xerces\c\src\xercesc\parsers\)
> Index: SAX2XMLReaderImpl.cpp
> ===================================================================
> RCS file: /home/cvspublic/xml-
> xerces/c/src/xercesc/parsers/SAX2XMLReaderImpl.cpp,v
> retrieving revision 1.12
> diff -r1.12 SAX2XMLReaderImpl.cpp
> 621,622c621,625
> <     if (!fElemDepth)
> <         return;
> ---
> >     if (fElemDepth)
> > 	{
> > 		// Call the installed LexicalHandler.
> > 		if (cdataSection && fLexicalHandler)
> > 			fLexicalHandler->startCDATA();
> 624,626c627,629
> <    // Call the installed LexicalHandler.
> <    if (cdataSection && fLexicalHandler)
> <         fLexicalHandler->startCDATA();
> ---
> > 		// Just map to the SAX document handler
> > 		if (fDocHandler)
> > 			fDocHandler->characters(chars, length);
> 628,634c631,634
> <     // Just map to the SAX document handler
> <     if (fDocHandler)
> <         fDocHandler->characters(chars, length);
> < 
> <    // Call the installed LexicalHandler.
> <    if (cdataSection && fLexicalHandler)
> <         fLexicalHandler->endCDATA();
> ---
> > 		// Call the installed LexicalHandler.
> > 		if (cdataSection && fLexicalHandler)
> > 			fLexicalHandler->endCDATA();
> > 	}
> *****CVS exited normally with code 1*****
> cvs -z9 diff SAXParser.cpp (in directory V:\xml-xerces\c\src\xercesc\parsers\)
> Index: SAXParser.cpp
> ===================================================================
> RCS file: /home/cvspublic/xml-xerces/c/src/xercesc/parsers/SAXParser.cpp,v
> retrieving revision 1.9
> diff -r1.9 SAXParser.cpp
> 683,688c683,688
> <     if (!fElemDepth)
> <         return;
> < 
> <     // Just map to the SAX document handler
> <     if (fDocHandler)
> <         fDocHandler->characters(chars, length);
> ---
> >     if (fElemDepth)
> > 	{
> > 		// Just map to the SAX document handler
> > 		if (fDocHandler)
> > 			fDocHandler->characters(chars, length);
> > 	}
> *****CVS exited normally with code 1*****

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-c-dev-help@xml.apache.org


Mime
View raw message