diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2016-10-19 18:25:21 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2016-10-19 18:25:21 (GMT) |
commit | d72feaf69933b069cff3c0cb20a5f5f03ecba77b (patch) | |
tree | bf51d2814f4be65c850dba86dc2a5db0ad38bedf /libxslt/TODO | |
parent | 34be72f9ed749a5c013d3f7f47d810e8caf652cb (diff) | |
parent | 49e8fbec2420ef55b3246aabd89328b13530810c (diff) | |
download | blt-d72feaf69933b069cff3c0cb20a5f5f03ecba77b.zip blt-d72feaf69933b069cff3c0cb20a5f5f03ecba77b.tar.gz blt-d72feaf69933b069cff3c0cb20a5f5f03ecba77b.tar.bz2 |
Merge commit '49e8fbec2420ef55b3246aabd89328b13530810c' as 'libxslt'
Diffstat (limited to 'libxslt/TODO')
-rw-r--r-- | libxslt/TODO | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/libxslt/TODO b/libxslt/TODO new file mode 100644 index 0000000..2c671fa --- /dev/null +++ b/libxslt/TODO @@ -0,0 +1,124 @@ + ******** + * * + * TODO * + * * + ******** + +Lifetime of result Value Tree, make sure we keep pointers. Exslt +handling of node set values is especially nasty in this respect, +lots of potential mem leaks... + +Pattern tester: + -> try to optimize for ID scan and tests. + +Pattern scanner: + -> add error checks on all returns + +Sorting: + -> add lang and case-order + -> add foreign sorting functions (interfaces ?). + + ******** + * * + * 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 |