Skip to content
Snippets Groups Projects
TODO 3.57 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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
    
    
    Daniel Veillard's avatar
    Daniel Veillard committed
    Sorting:
      -> add lang and case-order
      -> add foreign sorting functions (interfaces ?).
    
    
    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
    
    
    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