SAX steht für "Simple API for XML". API wiederum heißt "Application Programming Interface" und repräsentiert eine Sammlung von Schnittstellen und Klassen, wie sie zumeist bei objektbasierten Programmiersprachen Verwendung finden. Frei übersetzt heißt SAX also "Einfache Anwendungsprogrammierschnittstelle für XML".
SAX stellt eine Schnittstelle für viele verschiede XML Parser (z.B. Xerces
(Java), MSXML (COM), Ælfred (Java)) dar. Diese Schnittstelle ist aber
auch für andere Parser für Programmiersprachen wie C, C++, Perl und
Delphi verfügbar.
Da SAX ursprünglich für Java konzeptiert wurde und heute auch auf
dieser Ebene weiterentwickelt wird, wird hier nur auf die Java-Schnittstellen
eingegangen.
Parser sind wichtige Hilfsmittel, um einer Anwendung XML-Daten verständlich
zu machen. Parser lesen die XML-Dokumente, erkennen die Struktur und geben gefundene
Informationen an die Anwendung weiter, die dann diese Daten interpretieren kann.
Parser können weiterhin erkennen, ob ein Dokument wohlgeformt ist und die
meisten können Dokumente auch auf ihre Gültigkeit prüfen.
Das besondere Merkmal von SAX ist, dass es ein ereignisorientiertes Push-Modell
verwendet. Das heißt, schon während des Parsens werden gefundene
Informationen an die Anwendung weitergegeben.
Diesem Modell gegenüber steht das baumbasierte Pull-Modell, bei dem alle
Informationen in Form eines Baumes im Speicher abgelegt werden und dieser dann
der Anwendung zur Verfügung gestellt wird. Eine Schnittstelle, die dieses
Modell nutzt, ist zum Beispiel DOM ("Document Objekt Model").
![]() |
![]() |
![]() |
![]() ![]() ![]() ![]() |