[ expat-Bugs-898906 ] Expat fails to correctly parse content data
"SourceForge.net" <[email protected]>
| Newsgroups | gmane.text.xml.expat.bugs |
|---|---|
| Message-ID | <[email protected]> |
Bugs item #898906, was opened at 2004-02-17 17:33 Message generated for change (Comment added) made by nhendricks You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110127&aid=898906&group_id=10127 Category: www.libexpat.org Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Fred L. Drake, Jr. (fdrake) Summary: Expat fails to correctly parse content data Initial Comment: In the following XML file: <?xml version="1.0" ?> <document> <test1 name="if (x<y)" > if (x < y) </test1> </document> the < in the attribute is correctly returned as "<", however, in the character block, it appears to be returned as a NULL. I will try to look into it to see if I can figure out where expat went wrong. Here is the output from my simple test app using expat: defaultHandler: '<?xml version="1.0" ?' defaultHandler: '' startElement 'document' .characterData: '' .characterData: '' .startElement 'test1' .Attribute: 'name' = 'if (x<y)' ..characterData: '' ..characterData: ' if (x' ..characterData: '' ..characterData: ' y' ..characterData: '' ..characterData: '' .endElement 'test1' .characterData: '' endElement 'document' Thanks, Nicholas ---------------------------------------------------------------------- Comment By: Nicholas hendricks (nhendricks) Date: 2004-03-10 20:06 Message: Logged In: YES user_id=977364 I tried setting the default handler to the Expand default, but this did not help. I reviewed the xml spec & according to section 4.4, character references must be expanded in characater data. Using a different default handler should not have any affect on how character references are handled... I went ahead & trapped this in the debugger. It appears the problem occurs around line 2334 in xmlparse.c. Look for case XML_TOK_DATA_CHARS: In this case stamement, XmlConvert is conditionally called before the character callback. In my case, XmlConvert does not get called for the character data. The reason it works in the attribute case is that XmlConvert is always called. This really looks like a bug in expat, not in my usage of it. Thanks for looking into it. Nicholas Hendricks ---------------------------------------------------------------------- Comment By: Karl Waclawek (kwaclaw) Date: 2004-03-09 02:36 Message: Logged In: YES user_id=290026 Yes, and that behaviour of the characterData handler would be the effect of setting a default handler with XML_SetDefaultHandler instead of XML_SetDefaultHandlerExpand. So, what function did you use to set your default handler? ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2004-03-09 01:24 Message: Logged In: NO It is the characterData handler that is not properly processing the 'less than' sequence. If you notice, the 'less than' sequence was properly handled in the element handler. ---------------------------------------------------------------------- Comment By: Karl Waclawek (kwaclaw) Date: 2004-02-25 16:32 Message: Logged In: YES user_id=290026 One thing that comes to mind: There are two ways of setting a default handler. One of them suppresses reporting of internal entitities. Please check the docs and compare with your code. ---------------------------------------------------------------------- Comment By: Nicholas hendricks (nhendricks) Date: 2004-02-25 16:24 Message: Logged In: YES user_id=977364 Make that a < where the < is. I didn't realize sourceforce would parse the comments, instead of including them as plain text. ---------------------------------------------------------------------- Comment By: Nicholas hendricks (nhendricks) Date: 2004-02-25 16:20 Message: Logged In: YES user_id=977364 I am a sourceforce NOOB, so I cant figure out how to attach files. The < in the above example should be < ---------------------------------------------------------------------- Comment By: Karl Waclawek (kwaclaw) Date: 2004-02-18 15:51 Message: Logged In: YES user_id=290026 The way your document appears here is not well-formed, but maybe the HTML processing expanded some entities. Please attach the document as a file. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110127&aid=898906&group_id=10127