Roll src/third_party/WebKit a3b4a2e:7441784 (svn 202551:202552)
[chromium-blink-merge.git] / third_party / libxslt / TODO
blob2c671fa9dbf002f7ee22e95224023ed43f48365f
1                   ********
2                  *        *
3                  *  TODO  *
4                  *        *
5                   ********
7 Lifetime of result Value Tree, make sure we keep pointers. Exslt
8 handling of node set values is especially nasty in this respect,
9 lots of potential mem leaks...
11 Pattern tester:
12   -> try to optimize for ID scan and tests.
14 Pattern scanner:
15   -> add error checks on all returns
17 Sorting:
18   -> add lang and case-order
19   -> add foreign sorting functions (interfaces ?).
21                   ********
22                  *        *
23                  *  DONE  *
24                  *        *
25                   ********
27 Design:
28   - should transforms for a given stylesheet be thread clean,
29     -> the precompilation now occur only at stylesheet processing
30        time (except the binding for named templates and extension
31        functions which need to be computed once at run-time).
32        Multiple threads should be able to reuse the same stylesheet
33        now.
35 Embedding Stylesheets:
36   - example in 2.7 would force to validate, we do it by default now
38 ID and Key support:
39   -> Done
41 Extra functions:
42   -> document() should not be a problem since Result Tree Fragments are
43      implemented
44   => Done
46 Templates:
47   -> check the built-in template rule for attributes
48   -> make sure @xxx matches are applied
50 Contextual error reporting:
51   -> provide a couple of functions providing context analysis, not urgent
53 Validity:
54   -> should we add validation by default ? Make this an option
55   -> redirrect validity errors
56   => done added a special parsing mode
58 Import:
59   -> parse them
60   -> provide functions to circulate in the import tree of stylesheets
61   -> make sure we use the cascade wherever it's needed
63 Extra functions:
64   -> make a separate module.
65   => done functions.[ch]
67 Support Attribute value templates:
68   -> starts to be urgent. Design it in flexible ways but try to optimize
69      to handle most of it at the stylesheet parse time ...
70   => Done for the most part need to check all attributes in XSLT constructs
71      using them and use the dedicated readin function.
72   -> optimization by checking their existence at stylesheet parse time.
73   => done when building the preproc function
75 Sorting:
76   -> add support for imbricated sorts
77   => done but not well tested.
79 Separate util module:
80   -> macros, config, verbosity ?
81   => xsltutils.[ch]
83 Support for disable-output-escaping="yes":
84   -> looks problematic, libxml has no support for anything like this,
85      and unless adding a new node type :-( or tweaking text node and
86      output routines this is gonna be messy ... must be handled at libxml
87      level.
88   => Done with a trick, text node name is different, requires > 2.2.11
90 Pattern scanner:
91   -> compute priority
92   -> handle unions
93   -> support for mode
94   => done
96 Pattern tester:
97   -> also put fast lookup for "text()", "comment()", "node()"
98      based patterns lists.
99   => done
101 Support Attribute value templates:
102   -> namespace support for attribute value templates is not done, need
103      a small API redesign
105 Doc:
106   - put a page at http://xmlsoft.org/XSLT/
107   - generate/transform the DocBook to HTML
108   - add HTML to package
109   - manpage and doc for xsltproc
112 Error handling:
113   -> check the version stuff, design a separate module for error interfacing
114      and default handling, parsing vs. runtime, fatal / compat / warning,
115      and lack of optionnal features.
116   -> reports context
118 ID and Key support:
119   -> done but namespace support in keys is not defined
120   -> make sure keys are recomputed on new document input
122 Profiler:
123   -> added looks good enough
124   -> autocorrection of initial calibration loop