This page describes some of the changes which should be expected in Expat 3. These are intended as notes made by the developers as things get thought through; these can change at any time. This is not a projected feature list for Expat 3; to learn about the target features, please read the Expat Development Roadmap. The changes described here are much more focused on the details of Expat 3, and no attempt has been made to balance the description of small changes with major new feature development.

This list is not complete; we'll add to this as we think of things and have time to write about them.

  • The signature of the XML_ParserReset() method will grow an additional argument allowing specification of what should be reset. See bug report 1109116: Optimize implementation of XML_ParserReset for more information.
  • All structural event callback functions will return an XML_Status value that the parser will check. This will allow an application to stop or suspend processing without having to use setjmp()/longjmp() hackery.
  • The parser will support suspension of parsing to allow an application to pause parsing temporarily. A new XML_Status value, XML_STATUS_SUSPEND, can be returned by the event callbacks to indicate that Expat should suspend parsing; the parser will then return from XML_Parse(), returning XML_STATUS_SUSPEND. Applications can resume parsing by calling XML_ParseResume().
SourceForge
                 Logo