lxml ==== Exposing libxml2 functionalities -------------------------------- * potential threading issues in XPath extension functions? * Python extension functions, threading issues. * Improved Relax NG error reporting. Right now we only get valid or invalid. * Improved XML Schema error reporting. Right now we only get valid or invalid. * Improved error handling in general; test structured exceptions in more detail. * See whether XInclude support can mimic ElementTree's API. * Test XML entities, also in an ElementTree context. * Support for loading files from other places than filesystem, for instance xslt:include, xslt:import, XInclude, Relax NG import. * More tests for error handling. In general ---------- * test namespaces more in-depth * will namespaces nodes of unknown namespaces be added (and never freed?) * Various (c)ElementTree builders and parser APIs. Are they needed? * iterparse support would be nice. * memory errors and memory leaks when returning nodes from XPath extension functions. Top level --------- * parse() support for custom parsers. (?) * ProcessingInstruction * XMLID ElementInterface ----------------- * improve getiterator() implementation to use Python-level iterators ElementTree ----------- * _setroot(), even though this is not strictly a public method. * parse() - this seems hard to implement sanely so this may be an incompatibility. * improve write() and write_c14n() support to use file pointers directly where possible, instead of going through memory. QName ----- Not yet implemented. Features -------- * Relaxed NG compact notation (rnc versus rng) support. May consider integrating this: http://www.gnosis.cx/download/relax/