Saxon-JS is an implementation of XSLT 3.0 that runs in any modern browser and since Saxon-JS 2 also under Node.js. It is written in Javascript, and executes stylesheets that have first been compiled using Saxon-EE running on a server or developer's machine or by Saxon-JS 2's Node.js command line tool xslt3.
Details of the Saxon-JS product can be found at http://saxonica.com/saxon-js/index.xml
Saxon-JS offers all the mandatory features defined in the XSLT 3.0 specification from W3C. It omits some of the optional features, like schema-awareness and streaming but since Saxon-JS 2 supports serialization and higher-order-functions.
Saxon-JS also offers XSLT extensions designed to enable fully interactive applications to be implemented. Template rules can be written that respond to user input events such as clicking on a button. The stylesheet can write selectively to parts of the HTML page. It can also make asynchronous requests (AJAX-style) to fetch data from the server.