www.wikidata.de-de.nina.az
Streaming API for XML StAX ist ein Application Programming Interface API um XML Dateien aus Java zu verarbeiten Die Referenzimplementierung ist als freie Software unter den Bedingungen der Apache Lizenz verfugbar Technik BearbeitenTraditionellerweise sind XML APIs baumbasiert z B DOM das gesamte Dokument wird als Baumstruktur in den Speicher gelesen und kann von dort direkt zugegriffen werden ereignisbasiert z B SAX die Anwendung bekommt ein Ereignis wenn neue Entitaten im Dokument entdeckt werden Beide Varianten haben Vor und Nachteile die erste erlaubt wahlfreien Zugriff auf das Dokument muss aber das Dokument im Speicher halten und benotigt somit mehr Speicher Die zweite ist ein einmaliger Durchlauf durch das Quelldokument und benotigt somit kaum Speicher und ist auch schneller beim Parsen erlaubt aber keinen direkten Zugriff auf Elemente oder Anderungen des Baumes StAX wurde als ein Mittelweg zwischen diesen beiden Gegensatzen entworfen In der StAX Metapher ist der programmatische Einstieg ein Cursor der eine Stelle im Dokument reprasentiert Die Anwendung bewegt den Cursor vorwarts sie holt also die benotigte Information genau dann vom Parser wenn sie benotigt wird Dies unterscheidet sich von einer ereignisbasierten API wie SAX die die Daten aktiv in die Anwendung schickt und somit die Anwendung zur Verwaltung von Zustandsinformationen zwischen Ereignissen zwingt um darin die aktuelle Position im Dokument festzuhalten StAX bietet neben dem Zugriff auf die XML Daten uber einen Cursor auch noch ein Iterator Verfahren an Das Iterator Verfahren liefert die Daten in Form von Objekten die von der Klasse XMLEvent abgeleitet sind Die erzeugten Objekte bieten dem Java Entwickler mehr Moglichkeiten als die String Objekte beim Cursor Verfahren aber sie verringern die Performance StAX ist neben DOM SAX und XSLT eine der Schnittstellen der Java API for XML Processing Ursprunge BearbeitenStAX hat seine Wurzeln in einer ganzen Reihe von ereignisgetriebenen Programmierschnittstellen in erster Linie XMLPULL dessen Autoren Stefan Haustein und Aleksandr Slominski unter anderem mit BEA Oracle Sun Microsystems Breeze Factor und James Clark zusammenarbeiteten Weblinks BearbeitenJSR 173 StAX englisch Introduction to StAX on xml com englisch XMLPull org englisch Performance Papier von Sun Microsystems Inc Stand 2005 08 englisch PDF 203 kB Abgerufen von https de wikipedia org w index php title Streaming API for XML amp oldid 187989453