| <html> |
| <head> |
| <title>Changes in Expat 3</title> |
| <link rel="STYLESHEET" href="../style.css" type="text/css" /> |
| </head> |
| <body marginwidth="0" marginheight="0"> |
| <table cellspacing="0" cellpadding="0" width="100%"> |
| <tr> |
| <td class="corner"><a href="../"><img src="../expat.png" |
| border="0"/></a></td> |
| <td class="banner"><h2>Changes in Expat 3</h2></td> |
| </tr> |
| <tr> |
| <td class="navbar"> |
| </td> |
| <td class="content"> |
| |
| <p> 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 |
| <em>not</em> a projected feature list for Expat 3; to learn about the |
| target features, please read the <cite><a href="roadmap.html">Expat |
| Development Roadmap</a></cite>. 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. </p> |
| |
| <p> This list is not complete; we'll add to this as we think of things |
| and have time to write about them. </p> |
| |
| <ul> |
| <li> Support for XML 1.1 and the corresponding namespaces updates. </li> |
| |
| <li> The signature of the <code>XML_ParserReset()</code> method will |
| grow an additional argument allowing specification of what should be |
| reset. See <a href= |
| "http://sourceforge.net/tracker/index.php?func=detail&aid=1109116&group_id=10127&atid=110127" |
| >bug report 1109116: <em>Optimize implementation of |
| XML_ParserReset</em></a> for more information. </li> |
| |
| <li> All structural event callback functions will return an |
| <code>XML_Status</code> value that the parser will check. This will |
| allow an application to stop or suspend processing without having to |
| call <code>XML_StopParser</code>, which will therefore become obsolete. </li> |
| |
| <li> The memory management function signatures will gain an additional |
| userData-like parameter, so that memory usage can be associated |
| with a context, allowing usage of memory pools and tracking of memory |
| usage per parser. The latter could be used to prevent the so-called |
| "million laughs" DoS attack. </li> |
| |
| <li> Change how qualified names are reported. Instead of passing one |
| string where the name parts are separated by a special character, we |
| are going to use <code>QName</code> structs with members for local name, |
| namespace URI and prefix. This will apply to element names and attribute |
| names passed to <code>XML_StartElementHandler</code> and |
| <code>XML_EndElementHandler</code>. </li> |
| |
| <li> We will try to add a way of setting additional encodings |
| by name, using the existing framework built around |
| <code>XML_UnknownEncodingHandler</code>. </li> |
| |
| <li> Create different link symbols for different XML_Char sizes. |
| This would make it possible for different shared libraries making up an |
| application on linux, to link against expat shared libraries that have |
| been compiled with different definitions for XML_Char.</li> |
| |
| </ul> |
| |
| </td> |
| </tr> |
| <tr> |
| <td class="corner"> |
| <a href="http://sourceforge.net"> |
| <img src="http://sflogo.sourceforge.net/sflogo.php?group_id=10127&type=2" |
| width="125" height="37" border="0" alt="SourceForge.net Logo" /> |
| </a> |
| </td> |
| </tr> |
| </table> |
| </body> |
| </html>@ |