This software (musicxml-to-mnx.xsl) will convert MusicXML documents to MNX format using XSLT.
See MNX by example and the MNX Draft Specification.
The project title is earnest but tongue-in-cheek. It's inspired by the question "Why not XSLT?" and Adrian Holovaty's invitation/challenge given here: https://youtu.be/x2OZ5i2oD8U?t=5749
See also his Python-based mnxconverter project, which is included as a submodule for its test cases.
Run run-tests.sh (from the tests directory) after putting these jar files in your CLASSPATH environment variable:
- the jar file for Saxon-HE version 11 or later (for XSLT processing)
- resolver.jar from the Apache xml-commons project (for DTD resolution)
NOTE: The tests don't pass yet, since this project is just getting started.
Optionally, you can visualize the XSLT transformation for each test case (using the xslt-visualizer project), by running visualize.sh.
For example, from the tests directory, run:
visualize.sh basic
To view the results:
- Open visualized-conversions/basic.html in the browser.
- Drag the slider to inspect the transformation.
- Hover over the center column's match patterns (grouped by mode) to see the invoked XSLT.