mirror of
https://github.com/darlinghq/darling-libxslt.git
synced 2024-11-26 21:30:25 +00:00
125 lines
3.6 KiB
Plaintext
125 lines
3.6 KiB
Plaintext
********
|
|
* *
|
|
* 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
|