summaryrefslogtreecommitdiffstats
path: root/libxslt/TODO
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2016-10-19 18:25:21 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2016-10-19 18:25:21 (GMT)
commitd72feaf69933b069cff3c0cb20a5f5f03ecba77b (patch)
treebf51d2814f4be65c850dba86dc2a5db0ad38bedf /libxslt/TODO
parent34be72f9ed749a5c013d3f7f47d810e8caf652cb (diff)
parent49e8fbec2420ef55b3246aabd89328b13530810c (diff)
downloadblt-d72feaf69933b069cff3c0cb20a5f5f03ecba77b.zip
blt-d72feaf69933b069cff3c0cb20a5f5f03ecba77b.tar.gz
blt-d72feaf69933b069cff3c0cb20a5f5f03ecba77b.tar.bz2
Merge commit '49e8fbec2420ef55b3246aabd89328b13530810c' as 'libxslt'
Diffstat (limited to 'libxslt/TODO')
-rw-r--r--libxslt/TODO124
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