59 lines
1.4 KiB
Plaintext
59 lines
1.4 KiB
Plaintext
===============
|
|
ToDo's for lxml
|
|
===============
|
|
|
|
lxml
|
|
====
|
|
|
|
In general
|
|
----------
|
|
|
|
* more testing on multi-threading
|
|
|
|
* better exception messages for XPath and schemas based on error log,
|
|
e.g. missing namespace mappings in XPath
|
|
|
|
* when building statically, compile everything into one shared library
|
|
instead of one for lxml.etree and one for lxml.objectify to prevent
|
|
the redundant static linking of the library dependencies.
|
|
|
|
* more testing on input/output of encoded filenames, including custom
|
|
resolvers, relative XSLT imports, ...
|
|
|
|
* always use '<string>' as URL when tree was parsed from string? (can libxml2
|
|
handle this?)
|
|
|
|
* follow PEP 8 in API naming (avoidCamelCase in_favour_of_underscores)
|
|
|
|
* use per-call or per-thread error logs in XSLT/XPath/etc. to keep the
|
|
messages separate, especially in exceptions
|
|
|
|
* add 'nsmap' parameter to cleanup_namespaces()
|
|
|
|
* fix tail text handling in addnext()/addprevious()
|
|
|
|
* make Element nsmap editable to allow defining new namespaces (LP#555602)
|
|
|
|
|
|
Entities
|
|
--------
|
|
|
|
* clean support for entities (is the Entity element class enough?)
|
|
|
|
|
|
Objectify
|
|
---------
|
|
|
|
* emulate setting special __attributes__ on ObjectifiedElement's as Python
|
|
attributes, not XML children
|
|
|
|
|
|
Incremental parsing
|
|
-------------------
|
|
|
|
* create all iterparse events only on start events and
|
|
store the end events in the stack
|
|
|
|
* rewrite SAX event creation in a more C-ish way to avoid having to
|
|
acquire the GIL on each event
|