Boring task of starting doing basic testsuite:
[platform/upstream/libxslt.git] / TODO
1                   ********
2                  *        *
3                  *  TODO  *
4                  *        *
5                   ********
6
7 Doc:
8   - manpage and doc for xsltproc
9
10 Design:
11   - should transforms for a given stylesheet be thread clean,
12     or can a stylesheet be enriched with document specific
13     informations and cleaned up later ?
14   - seems that saving back XSLT stylesheet from a compiled form might
15     be a bit ugly ...
16     
17 Import:
18   -> parse them
19   -> provide functions to circulate in the import tree of stylesheets
20
21 Extra functions:
22   -> document() should not be a problem since Result Tree Fragments are
23      implemented
24   => started, incomplete
25   -> missing key support
26
27 ID and Key support:
28   -> Id should be simple, key will probably requires some hash tables.
29
30 Templates:
31   -> check the built-in template rule for attributes
32   -> make sure @xxx matches are applied
33
34 Pattern tester:
35   -> try to optimize for ID scan and tests.
36
37 Pattern scanner:
38   -> add error checks on all returns
39
40 Error handling:
41   -> check the version stuff, design a separate module for error interfacing
42      and default handling, parsing vs. runtime, fatal / compat / warning,
43      and lack of optionnal features.
44   -> catch recursion end of 5.4 ...
45
46 Support Attribute value templates:
47   -> optimization by checking their existence at stylesheet parse time.
48
49 Sorting:
50   -> add support for imbricated sorts
51   -> add lang and case-order
52   -> add foreign sorting functions (interfaces ?).
53
54 Validity:
55   -> should we add validation by default ? Make this an option
56   -> redirrect validity errors
57
58 Contextual error reporting:
59   -> provide a couple of functions providing context analysis, not urgent
60
61                   ********
62                  *        *
63                  *  DONE  *
64                  *        *
65                   ********
66
67 Extra functions:
68   -> make a separate module.
69   => done functions.[ch]
70
71 Support Attribute value templates:
72   -> starts to be urgent. Design it in flexible ways but try to optimize
73      to handle most of it at the stylesheet parse time ...
74   => Done for the most part need to check all attributes in XSLT constructs
75      using them and use the dedicated readin function.
76
77 Separate util module:
78   -> macros, config, verbosity ?
79   => xsltutils.[ch]
80
81 Support for disable-output-escaping="yes":
82   -> looks problematic, libxml has no support for anything like this,
83      and unless adding a new node type :-( or tweaking text node and
84      output routines this is gonna be messy ... must be handled at libxml
85      level.
86   => Done with a trick, text node name is different, requires > 2.2.11
87
88 Pattern scanner:
89   -> compute priority
90   -> handle unions
91   => done
92
93 Pattern tester:
94   -> also put fast lookup for "text()", "comment()", "node()"
95      based patterns lists.
96   => done
97
98 Doc:
99   - put a page at http://xmlsoft.org/XSLT/
100   - generate/transform the DocBook to HTML
101   - add HTML to package