Streaming Transformations for XML

Programmiersprache
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 27. Juli 2008 um 16:16 Uhr durch Peregrinus~dewiki (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Streaming Transformations for XML, kurz STX, ist eine Programmiersprache zur Transformation von sehr großen XML-Dateien.

STX verbindet das Abstraktionslevel von XSLT mit der Performanz 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 erlaubter Prädikate ist ebenfalls deutlich kleiner. 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