Java: SAX für große XML-Dateien
Große XML-Dateien stellen oftmals ein Problem dar, weil natürlich die Verarbeitung derartiger Dateien weiterhin schnell ablaufen soll. Aufwendige Kopierverfahren im Arbeitsspeicher sind da von Nachteil und natürlich oftmals auch die Dateigröße selbst, wenn der verfügbare RAM nicht ausreicht. Beginnt das Betriebssystem dann erst einmal mit Swapping, ist daher die Performance gänzlich verloren. Für die Praxis ergibt sich daher, dass große Dateien nicht mit DOM behandelt werden sollten. Würde man versuchen, mittels DOM ein 10GB-XML-File zu bearbeiten, wird man nicht viele Erfolge erzielen können. Hier ist ganz klar zu empfehlen, auf Alternativen wie SAX zurückzugreifen.
XSL Transformation mit Java und Saxon
Immer wieder verweisen wir in den Beispielen auf XML-Nachrichten, ohne auf deren Entstehung einzugehen. Gerade bei komplexeren Anwendungsstrukturen werden Nachrichten im XML-Format eher selten nativ mit Komponenten wie JDom erzeugt, sondern entstehen direkt aus der Konvertierung aus anderen XML-Dokumenten. Für die Überführung bedient man sich für gewöhnlich den XSL-Stylesheets und benötigt nun für die Java-Implementierung nur noch den eigentlichen Transformer.
XPath Expressions mit Java und JDOM
Für das Verarbeiten von XML-Nachrichten bieten sich oftmals zwei einfache Wege an: Entweder man arbeitet mit XSLT-Stylesheets und einem XSLT-Prozessor oder aber man verwendet mit JDOM und arbeitet direkt auf der Baumstruktur der XML-Nachricht. Im XSLT-Bereich sind vor allem die XPath-Expressions für eine einfache Verarbeitung hilfreich, wenn gezielt der Wert eines Knoten oder Attributes gelesen werden soll.
XSLT: Sortierung, Filterung und Nummerierung
Im Beispiel soll ein eingehendes XML derart transformiert werden, dass eine Liste in dem XML zuerst sortiert, anschließend unter Angabe von Start und Anzahl die Listenelemente gefiltert werden sollen und zuletzt dann schließlich jedes Listenelement eine Nummerierung als Attribut erhalten soll.
Java: SAX für große XML-Dateien
Große XML-Dateien stellen oftmals ein Problem dar, weil natürlich die Verarbeitung derartiger Dateien weiterhin schnell ablaufen soll. Aufwendige Kopierverfahren im Arbeitsspeicher sind da von Nachteil und natürlich oftmals auch die Dateigröße selbst, wenn der verfügbare RAM nicht ausreicht. Beginnt das Betriebssystem dann erst einmal mit Swapping, ist daher die Performance gänzlich verloren. Für die Praxis ergibt sich daher, dass große Dateien nicht mit DOM behandelt werden sollten. Würde man versuchen, mittels DOM ein 10GB-XML-File zu bearbeiten, wird man nicht viele Erfolge erzielen können. Hier ist ganz klar zu empfehlen, auf Alternativen wie SAX zurückzugreifen.
XSL Transformation mit Java und Saxon
Immer wieder verweisen wir in den Beispielen auf XML-Nachrichten, ohne auf deren Entstehung einzugehen. Gerade bei komplexeren Anwendungsstrukturen werden Nachrichten im XML-Format eher selten nativ mit Komponenten wie JDom erzeugt, sondern entstehen direkt aus der Konvertierung aus anderen XML-Dokumenten. Für die Überführung bedient man sich für gewöhnlich den XSL-Stylesheets und benötigt nun für die Java-Implementierung nur noch den eigentlichen Transformer.
XPath Expressions mit Java und JDOM
Für das Verarbeiten von XML-Nachrichten bieten sich oftmals zwei einfache Wege an: Entweder man arbeitet mit XSLT-Stylesheets und einem XSLT-Prozessor oder aber man verwendet mit JDOM und arbeitet direkt auf der Baumstruktur der XML-Nachricht. Im XSLT-Bereich sind vor allem die XPath-Expressions für eine einfache Verarbeitung hilfreich, wenn gezielt der Wert eines Knoten oder Attributes gelesen werden soll.
XSLT: Sortierung, Filterung und Nummerierung
Im Beispiel soll ein eingehendes XML derart transformiert werden, dass eine Liste in dem XML zuerst sortiert, anschließend unter Angabe von Start und Anzahl die Listenelemente gefiltert werden sollen und zuletzt dann schließlich jedes Listenelement eine Nummerierung als Attribut erhalten soll.


