[issue4955] xml.sax.expatreader.ExpatParser incorrectly silently skips external character entities in attribute values

2012-12-13 Thread Maximiliano Curia

Changes by Maximiliano Curia m...@debian.org:


--
nosy: +m...@debian.org

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4955
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4955] xml.sax.expatreader.ExpatParser incorrectly silently skips external character entities in attribute values

2012-12-13 Thread Maximiliano Curia

Maximiliano Curia added the comment:

Hi,

There are two issues commented in this bug, both are part of libexpat.
The one related the code inconsistency is due the design of Xml_Parser.

Reading Modules/expat/xmlparse.c:5036
else if (!entity) {
  /* Cannot report skipped entity here - see comments on
 skippedEntityHandler.
  if (skippedEntityHandler)
skippedEntityHandler(handlerArg, name, 0);
  */
  /* Cannot call the default handler because this would be
 out of sync with the call to the startElementHandler.
  if ((pool == tempPool)  defaultHandler)
reportDefault(parser, enc, ptr, next);
  */
  break;
}

That's so because libexpat startElementHandler should be called before the 
skippedEntityHandler, but this piece of code is processed before the call to 
startElementHandler.
To fix this, it would require a change in the libexpat API, adding the concept 
of futures to the attributes processing, and a way to obtain them with an 
iterator.
In any case, I don't think this is a python issue, but a known libexpat 
limitation. It might be forwarded to libexpat developers, but from the python 
point of view, it should be closed.

The second issue, is not really an issue. It's the default behaviour if an 
entity reference is found but there is no dtd specified (the entities 
declaration is a xml extension). This part is working as intended.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4955
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue4955] xml.sax.expatreader.ExpatParser incorrectly silently skips external character entities in attribute values

2009-01-17 Thread Jean-Paul Calderone

Changes by Jean-Paul Calderone exar...@divmod.com:


--
title: inconsistent, perhaps incorrect, behavior with respect to entities 
parsed by xml.sax - xml.sax.expatreader.ExpatParser incorrectly silently skips 
external character entities in attribute values

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4955
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com