The front-end for Andrew Welch's Sudoku solver was written in Interactive XSLT (XSLT in the browser) as provided by Saxonica's Saxon-JS product.
The XSLT code of this front-end can be retrieved here.
For Andrew Welch's original code, refer to his blog.
For his code to work, some adaptations had to be made. These can be found in this patchfile.
These are the changes that I had to make:
saxon:memo-function="yes"
, because Saxon-JS does not support it (nor does it support (yet) the XSLT 3.0 cache
attribute).<xsl:message>
in a template that can be overridden in the web interface, in order to provide better feedback than from the browser console.xs:integer+
to xs:integer*
, because otherwise runtime errors arise. This is somewhat strange,
probably Saxon's typechecking rules have become stricter over time.