The QuiXSLT language is a large fragment of XSLT 3.0. The QuiXSLT library provides a compiler from QuiXSLT to X-Fun, a functional language for hyperstreaming XSLT. Both, a free demonstration and a professional version are available.

Try it for free on the Test Machine.

Key Features

  • Hyperstreaming model: shred the output stream into fragments that can be produced independently in parallel.
  • Flip of document pairs are hyperstreamable but not streamable.
  • Navigation with QuiXPath expression.

Key Benefits

  • No trainning: in memory and streams implementation use the same XSLT syntaxe.
  • Support, in streaming mode, a bigger fragment than streaming support for XSLT 3.0.
  • Good efficiency compare to Saxon XSLT implementation.

Which fragment of XSLT is currently supported by QuiXSLT?

Syntactically, QuiXSLTfollows the official XSLT W3C Recommendation (even though it does not implement the full standard) . The current version of QuiXSLT supports the following elements:

  • named templates,
  • template rules,
  • instructions call-template, apply-templates, if, choice, for-each, copy, copy-of,
  • dynamic content creation instructions: attribute, value-of

Templates can be called with any number of parameters.


A fragment of an XSLT program computing the table of contents for a book could look like the following:

 <xsl:template match="book">
   <xsl:apply-templates select="." mode="toc"/>
   <xsl:copy-of select=child::*/>