Fazit zum XSLT-Streaming

Bei der Recherche und der Einarbeitung in das Thema wurde deutlich, dass es bisher wenig Literatur zum Thema Streaming in XSLT gibt und als Informationsquellen hauptsächlich die Spezifikation des W3C oder Paper von der XML Prague und XML London dienten.

Die Zielsetzung war es, die Neuerungen, die XSLT 3.0 mit sich bringt - und im Speziellen Streaming - kennenzulernen und Anwendungsszenarien auf den Streaming-Modus zu übertragen. Bei der Transformation im Streaming-Modus gibt es im Gegensatz zur statischen Verarbeitung einige Besonderheiten und Einschränkungen, welche für die Verwendung bekannt sein müssen. Diese sollen hier noch einmal kurz zusammengefasst werden.

Der Streaming-Prozessor verarbeitet ein Dokument in einem einzigen Durchlauf und jeder Knoten wird nur einmal besucht. Damit ist eine mehrfache Verarbeitung der Elemente nicht möglich. Um Elemente trotzdem weiter transformieren zu können, müssen die Elemente bewegungslos verarbeitet werden. Das heißt, es müssen Kopien der Elemente erzeugt oder der Stream in Blöcke unterteilt werden. Dadurch sind Beginn und Ende der zu verarbeitenden Elemente klar definiert und das Element ist sozusagen bewegungslos. Nach Beachtung dieser Regeln können die Elemente in gewohnter Weise transformiert werden.

Mit der Neuerung für Streaming in XSLT 3.0 wird darauf eingegangen, dass die zu verarbeitenden Datenmengen immer größer werden oder in Echtzeit ausgelesen werden sollen. Gerade beim Streaming werden große Dateien eingelesen und transformiert, die nicht in den Speicher der Maschine passen würden. Eine andere Anwendung ist beispielsweise das direkte Streamen von einer API. Dort werden durch die Angabe einer URL Daten kontinuierlich ausgelesen und können dank Streaming in XSLT verarbeitet werden.

   

<< zurück vor >>
Tipp der data2type-Redaktion:
Zum Thema XSLT bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: