Presentations and tutorials
Engineering a time-sensitive XSLT/SaxonJS application
During Balisage 2026 the author demonstrated a browser-based application, implemented in ~XSLT4, SaxonJS, SVG and limited Javascript code, using XML data, which involved significant audio and graphic components.
[Sneak preview - a player piano]
These required sub-second co-ordination to keep audio and graphics in reasonable sync, as well as meeting near-real-time progress.
The design methodology was to build as much as possible at a high level in XSLT to get the application running and overall functionality decided and then tune the time-sensitive performance aspects by progressively ‘compiling’ the data streams into more fundamental, and less expensive structures.
This paper will look in detail at how this design progressed and suggest some lessons for the development of similar applications.