Thursday, May 31, 2007

DOM und SAX

DOM war von Anfang an als eine plattform- und sprachunabhängige Schnittstellenbeschreibung für den Zugriff auf XML-Dokumente (und auf HTML) konzipiert.

SAX wurde zunächst nur als Java-API entwickelt, die aktuelle Version liegt aber auch in Varianten für andere Entwicklungsumgebungen vor.

Diese beiden Techniken sind vom Ansatz her grundverschieden. Die größe des XML-Dokuments spielt für SAX keine Rolle da immer nur eine Zeile (sequenziell) aus dem Dokument verarbeitet wird. SAX erlaubt daher eine schnelle Verarbeitung des gesamten Dokuments in einem Durchgang.

Um eine gezielte Bearbeitung bestimmter Stellen im Dokument oder Sprünge von einer Stelle zu anderen gewährleisten zu können muss man DOM verwenden. DOM erlaubt nicht nur das Herumspringen sondern auch das Einfügen von neuen Knoten.

Man kann natürlich auch beide Technoligien miteinander kombinieren.
Wann SAX?
  • Wenn das XML-Dokument lineare Daten repräsentiert. (Keine tiefen Verschachtelungen)
  • Bei großen XML-Dokumenten. (Der Parser sieht nur ein kleines Stück des XML-Dokuments auf einmal)
  • Wenn eine fein abgestimmte Steuerung benötigt wird.

DOM ist mit Hilfe der der sprachunabhängigen Interface Definition Language definiert worden.

No comments: