Streaming Transformations for XML
Streaming Transformations for XML, kurz STX, ist eine formale Sprache zur Transformation von sehr großen XML-Dateien.
STX verbindet das Abstraktionslevel von XSLT mit der Performance von SAX, insbesondere dem niedrigen Speicherbedarf von SAX-Transformationen.
Konzept
Die Syntax von STX stimmt weitgehend mit der Syntax von XSLT bzw. XSLT 2 überein. Der wichtigste Unterschied zu XSLT ist, dass anstelle von XPath die eigene Abfragesprache STXPath benutzt wird.
STXPath ist speziell für die effiziente Verarbeitung sehr großer Dateien ausgelegt, und daher weniger ausdrucksstark als XPath. Die XPath-Achsen, die auf Geschwister- und Kindknoten zugreifen, sind in STXPath unbekannt. Die Menge zugelassener Prädikate ist ebenfalls deutlich kleiner als in XPath. Um trotzdem komplexe Transformationen mit STX ausdrücken zu können, ist es erlaubt, den Inhalt von Variablen zu ändern (im Gegensatz zu XSLT) und über diese Variablen den aktuellen Zustand der Transformation auszudrücken.
Implementationen
Weblinks
- STX home page (englisch)
- Eine Einführung in STX (englisch)