Zum Inhalt springen

„Diskussion:Simple API for XML“ – Versionsunterschied

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
aus Wikipedia, der freien Enzyklopädie
Inhalt gelöscht Inhalt hinzugefügt
Frankao (Diskussion | Beiträge)
SAX vs. DOM
K fehlende Signaturen hinzugefügt
Zeile 1: Zeile 1:


Es ist Quatsch, dass die "Simple API for XML" eine Bibliothek ist. Dies wird auch klar, wenn man nur die ersten Absätze des im Artikel angeführten SAX2-Buches von O'Reilly liest. Daher benötigt der Wikipedia-Artikel eine Überarbeitung. (16.12.04)
Es ist Quatsch, dass die "Simple API for XML" eine Bibliothek ist. Dies wird auch klar, wenn man nur die ersten Absätze des im Artikel angeführten SAX2-Buches von O'Reilly liest. Daher benötigt der Wikipedia-Artikel eine Überarbeitung. (16.12.04) -- {{unsigniert|217.226.205.190|23:44,15. Dezember 2004}}


-- Habe den Artikel daher jetzt selbst mal notdürftig geändert.
-- Habe den Artikel daher jetzt selbst mal notdürftig geändert. -- {{unsigniert|217.84.182.100|01:31, 30. Januar 2005}}


== SAX vs. DOM ==
== SAX vs. DOM ==
Zeile 25: Zeile 25:
Wie im Artikel angedeutet, sind auch hybride Ansätze implementiert, die ein bischen von beidem machen.
Wie im Artikel angedeutet, sind auch hybride Ansätze implementiert, die ein bischen von beidem machen.
<p>
<p>
Letztlich muss man aufgrund der Anwendung und dem Umfang/Qualität der vorliegenden XML-Parser entscheiden, welchem Paradigma man dem Vorzug geben will.
Letztlich muss man aufgrund der Anwendung und dem Umfang/Qualität der vorliegenden XML-Parser entscheiden, welchem Paradigma man dem Vorzug geben will. -- {{unsigniert|Frankao|15:29,03. Juni 2007}}

Version vom 14. Februar 2012, 23:04 Uhr

Es ist Quatsch, dass die "Simple API for XML" eine Bibliothek ist. Dies wird auch klar, wenn man nur die ersten Absätze des im Artikel angeführten SAX2-Buches von O'Reilly liest. Daher benötigt der Wikipedia-Artikel eine Überarbeitung. (16.12.04) -- (nicht signierter Beitrag von 217.226.205.190 (Diskussion) 23:44,15. Dezember 2004)

-- Habe den Artikel daher jetzt selbst mal notdürftig geändert. -- (nicht signierter Beitrag von 217.84.182.100 (Diskussion) 01:31, 30. Januar 2005)

SAX vs. DOM

In diesem Artikel wir die sequentielle Abarbeitung eines Zeichendatenstroms im Gegensatz zum vollständigen Parsen einer Datei aus meiner Sicht nicht genügend gewürdigt.

DOM und SAX haben beide Vor- und Nachteile. Ohne jetzt im Buch für Compilerbau oder formale Sprachen nachzusehen (ich gehe von den extremen Implementierungsmöglichkeiten aus):

DOM baut i.W. zuerst einen vollständigen Syntaxbaum auf:
+ Eine Validierung der gesamten Datei ist möglich. Dadurch werden nur korrekte XML Dokumente bearbeitet. Es können keine Aktionen entstehen, die aufgrund eines Syntax-Fehlers zurückgesetzt etc. werden müssen
+ Da der Baum im Speicher vorliegt, kann er schnell vor- und rückwärts navigiert werden.
- Ein solcher Baum belegt entsprechend Speicher.
- Die Erstellung des Baums kostet Rechenzeit (die erste Anfrage kann erst "spät" erfolgen).

SAX gibt (ähnlich einem lexikalischen Analyzer) erkannte Tokens sofort an entsprechende Funktionen weiter:
+ Schnelle Vorwärtsabarbeitung des XML-Stroms ist möglich.
+ Niedriger Speicherbedarf.
- Syntaxfehler werden erst spät erkannt. Die Anwendung muss also ein entsprechendes Fehlermodell unterstützen. Es sollten vorher keine Aktionen ausgelöst werden, die nicht kompensiert und zurückgenommen werden können (bzw. es ist eigentlich egal, ob Aktionen ausgelöst wurden).
- Eine Rückwärtsnavigation ist an sich nicht möglich, außer das Ergebnis wurde zwischengespeichert.

Wie im Artikel angedeutet, sind auch hybride Ansätze implementiert, die ein bischen von beidem machen.

Letztlich muss man aufgrund der Anwendung und dem Umfang/Qualität der vorliegenden XML-Parser entscheiden, welchem Paradigma man dem Vorzug geben will. -- (nicht signierter Beitrag von Frankao (Diskussion | Beiträge) 15:29,03. Juni 2007)