Imported Upstream version 4.4.1
[platform/upstream/python-lxml.git] / TODO.txt
1 ===============
2 ToDo's for lxml
3 ===============
4
5 lxml
6 ====
7
8 In general
9 ----------
10
11 * more testing on multi-threading
12
13 * better exception messages for XPath and schemas based on error log,
14   e.g. missing namespace mappings in XPath
15
16 * when building statically, compile everything into one shared library
17   instead of one for lxml.etree and one for lxml.objectify to prevent
18   the redundant static linking of the library dependencies.
19
20 * more testing on input/output of encoded filenames, including custom
21   resolvers, relative XSLT imports, ...
22
23 * always use '<string>' as URL when tree was parsed from string? (can libxml2
24   handle this?)
25
26 * follow PEP 8 in API naming (avoidCamelCase in_favour_of_underscores)
27
28 * use per-call or per-thread error logs in XSLT/XPath/etc. to keep the
29   messages separate, especially in exceptions
30
31 * add 'nsmap' parameter to cleanup_namespaces()
32
33 * fix tail text handling in addnext()/addprevious()
34
35 * make Element nsmap editable to allow defining new namespaces (LP#555602)
36
37
38 Entities
39 --------
40
41 * clean support for entities (is the Entity element class enough?)
42
43
44 Objectify
45 ---------
46
47 * emulate setting special __attributes__ on ObjectifiedElement's as Python
48   attributes, not XML children
49
50
51 Incremental parsing
52 -------------------
53
54 * create all iterparse events only on start events and
55   store the end events in the stack
56
57 * rewrite SAX event creation in a more C-ish way to avoid having to
58   acquire the GIL on each event