Index: third_party/libxslt/TODO |
diff --git a/third_party/libxslt/TODO b/third_party/libxslt/TODO |
new file mode 100644 |
index 0000000000000000000000000000000000000000..2c671fa9dbf002f7ee22e95224023ed43f48365f |
--- /dev/null |
+++ b/third_party/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 |