<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Streaming_API_for_XML</id>
	<title>Streaming API for XML - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Streaming_API_for_XML"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Streaming_API_for_XML&amp;action=history"/>
	<updated>2026-05-18T13:53:22Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Streaming_API_for_XML&amp;diff=542806&amp;oldid=prev</id>
		<title>imported&gt;Acky69: /* Weblinks */ Link entfernt (Codehaus wurde eingestellt, wo liegt  die Ref.implementierung jetzt?)</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Streaming_API_for_XML&amp;diff=542806&amp;oldid=prev"/>
		<updated>2019-04-28T09:02:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Weblinks: &lt;/span&gt; Link entfernt (Codehaus wurde eingestellt, wo liegt  die Ref.implementierung jetzt?)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Streaming API for XML&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;StAX&amp;#039;&amp;#039;&amp;#039;) ist ein [[Application Programming Interface]] (API), um [[Extensible Markup Language|XML]]-Dateien aus [[Java (Programmiersprache)|Java]] zu verarbeiten.&lt;br /&gt;
&lt;br /&gt;
Die [[Referenzimplementierung]] ist als [[freie Software]] unter den Bedingungen der [[Apache-Lizenz]] verfügbar.&lt;br /&gt;
&lt;br /&gt;
== Technik ==&lt;br /&gt;
Traditionellerweise sind XML-APIs:&lt;br /&gt;
; baumbasiert: (z.&amp;amp;nbsp;B. [[Document Object Model|DOM]]) – das gesamte Dokument wird als Baumstruktur in den Speicher gelesen und kann von dort direkt zugegriffen werden.&lt;br /&gt;
; ereignisbasiert: (z.&amp;amp;nbsp;B. [[Simple API for XML|SAX]]) – die Anwendung bekommt ein Ereignis, wenn neue Entitäten im Dokument entdeckt werden.&lt;br /&gt;
&lt;br /&gt;
Beide Varianten haben Vor- und Nachteile: die erste erlaubt wahlfreien Zugriff auf das Dokument, muss aber das Dokument im Speicher halten und benötigt somit mehr Speicher. Die zweite ist ein einmaliger Durchlauf durch das Quelldokument und benötigt somit kaum Speicher und ist auch schneller beim Parsen, erlaubt aber keinen direkten Zugriff auf Elemente oder Änderungen des Baumes.&lt;br /&gt;
&lt;br /&gt;
StAX wurde als ein Mittelweg zwischen diesen beiden Gegensätzen entworfen. In der StAX-Metapher ist der programmatische Einstieg ein [[Cursor]], der eine Stelle im Dokument repräsentiert. Die Anwendung bewegt den Cursor vorwärts, sie holt also die benötigte Information genau dann vom [[Parser]], wenn sie benötigt 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.&lt;br /&gt;
&lt;br /&gt;
StAX bietet neben dem Zugriff auf die XML-Daten über einen Cursor auch noch ein Iterator-Verfahren an. Das Iterator-Verfahren&lt;br /&gt;
liefert die Daten in Form von Objekten, die von der Klasse XMLEvent abgeleitet sind. Die erzeugten Objekte bieten dem Java-Entwickler&lt;br /&gt;
mehr Möglichkeiten als die String-Objekte beim Cursor-Verfahren, aber sie verringern die Performance.&lt;br /&gt;
&lt;br /&gt;
StAX ist neben DOM, SAX und XSLT eine der Schnittstellen der [[Java API for XML Processing]].&lt;br /&gt;
&lt;br /&gt;
== Ursprünge ==&lt;br /&gt;
StAX 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 Systems|BEA]], [[Oracle]], [[Sun Microsystems]], [[Breeze Factor]] und [[James Clark (Informatiker)|James Clark]] zusammenarbeiteten.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://jcp.org/en/jsr/detail?id=173 JSR-173] – StAX (englisch)&lt;br /&gt;
* [http://www.xml.com/pub/a/2003/09/17/stax.html Introduction to StAX on xml.com] (englisch)&lt;br /&gt;
* [http://www.xmlpull.org/ XMLPull.org] (englisch)&lt;br /&gt;
* [http://java.sun.com/performance/reference/whitepapers/StAX-1_0.pdf Performance-Papier von Sun Microsystems, Inc., Stand 2005-08] (englisch, PDF, 203&amp;amp;nbsp;kB)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java-Programmierschnittstelle]]&lt;br /&gt;
[[Kategorie:Streaming]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Acky69</name></author>
	</entry>
</feed>