Streaming Transformations for XML

Streaming Transformations for XML, STX short, is a programming language for the transformation of very large XML files.

STX combines the level of abstraction of XSLT with the performance of SAX, in particular the low memory requirements of SAX transformations.

Concept

The syntax of STX is largely consistent with the syntax of XSLT and XSLT 2. The most important difference about XSLT is that instead of XPath 's own query language STXPath is used.

STXPath is specifically designed for efficient processing of very large files, and therefore less expressive than XPath. The XPath axes that access sibling and child nodes are unknown in STXPath. The amount of approved predicates is also significantly smaller than in XPath. To still be able to express complex transformations with STX, it is allowed to change the contents of variables (as opposed to XSLT) and these variables to express the current state of the transformation.

Implementations

  • Joost - Implementation in Java
  • XML :: STX - implementation in Perl.
751371
de