1.6 KiB
1.6 KiB
Roadmap: good next functions
Near-term useful features:
- 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.
- Parameters
- Add UI for xsl:param.
- Support string/number/boolean parameters first.
- Later support XPath expressions.
- Better diagnostics
- Convert SaxonJS compiler/runtime errors into editor diagnostics.
- Extract line/module info when available.
- Jump from diagnostic to editor line.
- Examples / templates
- Identity transform.
- Rename elements.
- Extract table.
- Namespace cleanup.
- Grouping example.
- XSLT 3.0 shallow-copy example.
- Project files
- Export/import a full local project JSON: '''XML input XSLT output engine examples/tests parameters'''
- No uploads needed.
- Test cases inside the app
- Multiple XML inputs per stylesheet.
- Expected output assertions.
- Diff expected vs actual.
- “Run all tests” button.
- Diff views
- XML input vs output.
- Previous output vs current output.
- Pretty XML diff.
- Explain mode
- Start with static analysis: '''template match → output node candidates'''
- Later add instrumentation around generated SEF or stylesheet templates.
- Performance
- Web Worker for SaxonJS compile/transform.
- Prevent UI lockups on large XML.
- Progress indicator and cancellation if possible.
- Storage
- LocalStorage for small projects.
- IndexedDB for larger documents and histories.