Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

file 67 lines (40 sloc) 1.349 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
===============
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

* 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()


XML Parser
----------

* provide a way to let users pass in a custom DTD for validation


HTML Parser
-----------

* provide a parser wrapper that handles broken encodings in broken
  HTML better, e.g. using BeautifulSoup's "unicode dammit" analyser


QName
-----

* expose prefix support?


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


Maybe
-----

* rewrite iterparse() to accept a parser as argument instead of being
  one (or maybe not: iterparse() can't deal with all parser options
  anyway).
Something went wrong with that request. Please try again.