Furious hacking session, making serious progresses, the hardest stuff
[platform/upstream/libxslt.git] / TODO
1                   ********
2                  *        *
3                  *  TODO  *
4                  *        *
5                   ********
6 Design:
7   - should transforms for a given stylesheet be thread clean,
8     or can a stylesheet be enriched with document specific
9     informations and cleaned up later ?
10     => currently stylesheet manipulation is not reentrant.
11   - seems that saving back XSLT stylesheet from a compiled form might
12     be a bit ugly ...
13     
14 Import:
15   -> parse them
16   -> provide functions to circulate in the import tree of stylesheets
17
18 Pattern tester:
19   -> try to optimize for ID scan and tests.
20
21 Pattern scanner:
22   -> add error checks on all returns
23   -> handle unions
24   -> compute priority
25
26 Error handling:
27   -> check the version stuff, design a separate module for error interfacing
28      and default handling, parsing vs. runtime, fatal / compat / warning,
29      and lack of optionnal features.
30
31 Support Attribute value templates:
32   -> starts to be urgent. Design it in flexible ways but try to optimize
33      to handle most of it at the stylesheet parse time ...
34   => Done for the most part need to check all attributes in XSLT constructs
35      using them and use the dedicated readin function.
36
37 Sorting:
38   -> add support for imbricated sorts
39   -> add lang and case-order
40   -> add foreign sorting functions (interfaces ?).
41
42 Validity:
43   -> should we add validation by default ? Make this an option
44   -> redirrect validity errors
45
46 Contextual error reporting:
47   -> provide a couple of functions providing context analysis, not urgent
48
49                   ********
50                  *        *
51                  *  DONE  *
52                  *        *
53                   ********
54
55 Separate util module:
56   -> macros, config, verbosity ?
57   => xsltutils.[ch]
58
59 Support for disable-output-escaping="yes":
60   -> looks problematic, libxml has no support for anything like this,
61      and unless adding a new node type :-( or tweaking text node and
62      output routines this is gonna be messy ... must be handled at libxml
63      level.
64   => Done with a trick, text node name is different, requires > 2.2.11
65