| ******** |
| * * |
| * 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 |