353526e4fae1f458f598e619c28de336a8a135d5
[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 Embedding Stylesheets:
18   - example in 2.7 would force to validate
19
20 Import:
21   -> make sure we use the cascade wherever it's needed
22
23 Extra functions:
24   -> document() should not be a problem since Result Tree Fragments are
25      implemented
26   => started, incomplete
27   -> missing key support
28
29 ID and Key support:
30   -> Id should be simple, key will probably requires some hash tables.
31
32 Templates:
33   -> check the built-in template rule for attributes
34   -> make sure @xxx matches are applied
35
36 Pattern tester:
37   -> try to optimize for ID scan and tests.
38   -> support for mode
39
40 Pattern scanner:
41   -> add error checks on all returns
42
43 Error handling:
44   -> check the version stuff, design a separate module for error interfacing
45      and default handling, parsing vs. runtime, fatal / compat / warning,
46      and lack of optionnal features.
47   -> catch recursion end of 5.4 ...
48
49 Support Attribute value templates:
50   -> optimization by checking their existence at stylesheet parse time.
51
52 Sorting:
53   -> add support for imbricated sorts
54   -> add lang and case-order
55   -> add foreign sorting functions (interfaces ?).
56
57 Validity:
58   -> should we add validation by default ? Make this an option
59   -> redirrect validity errors
60
61 Contextual error reporting:
62   -> provide a couple of functions providing context analysis, not urgent
63
64                   ********
65                  *        *
66                  *  DONE  *
67                  *        *
68                   ********
69
70 Import:
71   -> parse them
72   -> provide functions to circulate in the import tree of stylesheets
73
74 Extra functions:
75   -> make a separate module.
76   => done functions.[ch]
77
78 Support Attribute value templates:
79   -> starts to be urgent. Design it in flexible ways but try to optimize
80      to handle most of it at the stylesheet parse time ...
81   => Done for the most part need to check all attributes in XSLT constructs
82      using them and use the dedicated readin function.
83
84 Separate util module:
85   -> macros, config, verbosity ?
86   => xsltutils.[ch]
87
88 Support for disable-output-escaping="yes":
89   -> looks problematic, libxml has no support for anything like this,
90      and unless adding a new node type :-( or tweaking text node and
91      output routines this is gonna be messy ... must be handled at libxml
92      level.
93   => Done with a trick, text node name is different, requires > 2.2.11
94
95 Pattern scanner:
96   -> compute priority
97   -> handle unions
98   => done
99
100 Pattern tester:
101   -> also put fast lookup for "text()", "comment()", "node()"
102      based patterns lists.
103   => done
104
105 Doc:
106   - put a page at http://xmlsoft.org/XSLT/
107   - generate/transform the DocBook to HTML
108   - add HTML to package