1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
********
* *
* TODO *
* *
********
Design:
- seems that saving back XSLT stylesheet from a compiled form might
be a bit ugly ... Yes forget about it, it's just twaeked to the extreme
Pattern tester:
-> try to optimize for ID scan and tests.
Pattern scanner:
-> add error checks on all returns
Error handling:
-> check the version stuff, design a separate module for error interfacing
and default handling, parsing vs. runtime, fatal / compat / warning,
and lack of optionnal features.
-> catch recursion end of 5.4 ...
Sorting:
-> add lang and case-order
-> add foreign sorting functions (interfaces ?).
Format Number:
-> cleanup % handling (May 21 2001) possibly following the cleaned
up wording of XSLT-2.0
********
* *
* DONE *
* *
********
Design:
- should transforms for a given stylesheet be thread clean,
-> the precompilation now occur only at stylesheet processing
time (except the binding for named templates and extension
functions which need to be computed once at run-time).
Multiple threads should be able to reuse the same stylesheet
now.
Embedding Stylesheets:
- example in 2.7 would force to validate, we do it by default now
ID and Key support:
-> Done
Extra functions:
-> document() should not be a problem since Result Tree Fragments are
implemented
=> Done
Templates:
-> check the built-in template rule for attributes
-> make sure @xxx matches are applied
Contextual error reporting:
-> provide a couple of functions providing context analysis, not urgent
Validity:
-> should we add validation by default ? Make this an option
-> redirrect validity errors
=> done added a special parsing mode
Import:
-> parse them
-> provide functions to circulate in the import tree of stylesheets
-> make sure we use the cascade wherever it's needed
Extra functions:
-> make a separate module.
=> done functions.[ch]
Support Attribute value templates:
-> starts to be urgent. Design it in flexible ways but try to optimize
to handle most of it at the stylesheet parse time ...
=> Done for the most part need to check all attributes in XSLT constructs
using them and use the dedicated readin function.
-> optimization by checking their existence at stylesheet parse time.
=> done when building the preproc function
Sorting:
-> add support for imbricated sorts
=> done but not well tested.
Separate util module:
-> macros, config, verbosity ?
=> xsltutils.[ch]
Support for disable-output-escaping="yes":
-> looks problematic, libxml has no support for anything like this,
and unless adding a new node type :-( or tweaking text node and
output routines this is gonna be messy ... must be handled at libxml
level.
=> Done with a trick, text node name is different, requires > 2.2.11
Pattern scanner:
-> compute priority
-> handle unions
-> support for mode
=> done
Pattern tester:
-> also put fast lookup for "text()", "comment()", "node()"
based patterns lists.
=> done
Support Attribute value templates:
-> namespace support for attribute value templates is not done, need
a small API redesign
Doc:
- put a page at http://xmlsoft.org/XSLT/
- generate/transform the DocBook to HTML
- add HTML to package
- manpage and doc for xsltproc
Error handling:
-> check the version stuff, design a separate module for error interfacing
and default handling, parsing vs. runtime, fatal / compat / warning,
and lack of optionnal features.
-> reports context
ID and Key support:
-> done but namespace support in keys is not defined
-> make sure keys are recomputed on new document input
Profiler:
-> added looks good enough
-> autocorrection of initial calibration loop
|