1 | ********
|
---|
2 | * *
|
---|
3 | * TODO *
|
---|
4 | * *
|
---|
5 | ********
|
---|
6 |
|
---|
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...
|
---|
10 |
|
---|
11 | Pattern tester:
|
---|
12 | -> try to optimize for ID scan and tests.
|
---|
13 |
|
---|
14 | Pattern scanner:
|
---|
15 | -> add error checks on all returns
|
---|
16 |
|
---|
17 | Sorting:
|
---|
18 | -> add lang and case-order
|
---|
19 | -> add foreign sorting functions (interfaces ?).
|
---|
20 |
|
---|
21 | ********
|
---|
22 | * *
|
---|
23 | * DONE *
|
---|
24 | * *
|
---|
25 | ********
|
---|
26 |
|
---|
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.
|
---|
34 |
|
---|
35 | Embedding Stylesheets:
|
---|
36 | - example in 2.7 would force to validate, we do it by default now
|
---|
37 |
|
---|
38 | ID and Key support:
|
---|
39 | -> Done
|
---|
40 |
|
---|
41 | Extra functions:
|
---|
42 | -> document() should not be a problem since Result Tree Fragments are
|
---|
43 | implemented
|
---|
44 | => Done
|
---|
45 |
|
---|
46 | Templates:
|
---|
47 | -> check the built-in template rule for attributes
|
---|
48 | -> make sure @xxx matches are applied
|
---|
49 |
|
---|
50 | Contextual error reporting:
|
---|
51 | -> provide a couple of functions providing context analysis, not urgent
|
---|
52 |
|
---|
53 | Validity:
|
---|
54 | -> should we add validation by default ? Make this an option
|
---|
55 | -> redirrect validity errors
|
---|
56 | => done added a special parsing mode
|
---|
57 |
|
---|
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
|
---|
62 |
|
---|
63 | Extra functions:
|
---|
64 | -> make a separate module.
|
---|
65 | => done functions.[ch]
|
---|
66 |
|
---|
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
|
---|
74 |
|
---|
75 | Sorting:
|
---|
76 | -> add support for imbricated sorts
|
---|
77 | => done but not well tested.
|
---|
78 |
|
---|
79 | Separate util module:
|
---|
80 | -> macros, config, verbosity ?
|
---|
81 | => xsltutils.[ch]
|
---|
82 |
|
---|
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
|
---|
89 |
|
---|
90 | Pattern scanner:
|
---|
91 | -> compute priority
|
---|
92 | -> handle unions
|
---|
93 | -> support for mode
|
---|
94 | => done
|
---|
95 |
|
---|
96 | Pattern tester:
|
---|
97 | -> also put fast lookup for "text()", "comment()", "node()"
|
---|
98 | based patterns lists.
|
---|
99 | => done
|
---|
100 |
|
---|
101 | Support Attribute value templates:
|
---|
102 | -> namespace support for attribute value templates is not done, need
|
---|
103 | a small API redesign
|
---|
104 |
|
---|
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
|
---|
110 |
|
---|
111 |
|
---|
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
|
---|
117 |
|
---|
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
|
---|
121 |
|
---|
122 | Profiler:
|
---|
123 | -> added looks good enough
|
---|
124 | -> autocorrection of initial calibration loop
|
---|