Files
xslt-tools/todo.md

52 lines
1.6 KiB
Markdown

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