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