Files
xslt-tools/todo.md

1.6 KiB

Roadmap: good next functions

Near-term useful features:

  1. Engine UX polish
  • Show “SaxonJS loading…” when the large compiler file is first loaded.
  • Show compile time vs transform time separately.
  • Cache compiled SEF by stylesheet hash to avoid recompiling unchanged XSLT.
  1. Parameters
  • Add UI for xsl:param.
  • Support string/number/boolean parameters first.
  • Later support XPath expressions.
  1. Better diagnostics
  • Convert SaxonJS compiler/runtime errors into editor diagnostics.
  • Extract line/module info when available.
  • Jump from diagnostic to editor line.
  1. Examples / templates
  • Identity transform.
  • Rename elements.
  • Extract table.
  • Namespace cleanup.
  • Grouping example.
  • XSLT 3.0 shallow-copy example.
  1. Project files
  • Export/import a full local project JSON: '''XML input XSLT output engine examples/tests parameters'''
  • No uploads needed.
  1. Test cases inside the app
  • Multiple XML inputs per stylesheet.
  • Expected output assertions.
  • Diff expected vs actual.
  • “Run all tests” button.
  1. Diff views
  • XML input vs output.
  • Previous output vs current output.
  • Pretty XML diff.
  1. Explain mode
  • Start with static analysis: '''template match → output node candidates'''
  • Later add instrumentation around generated SEF or stylesheet templates.
  1. Performance
  • Web Worker for SaxonJS compile/transform.
  • Prevent UI lockups on large XML.
  • Progress indicator and cancellation if possible.
  1. Storage
  • LocalStorage for small projects.
  • IndexedDB for larger documents and histories.