Simple API for XML
Die Simple API for XML (SAX) ist ein Standard für eine API für XML-Parser. Ein SAX-Parser liest sequentiell XML-Daten und ruft für definierte Ereignisse (Starttag, Endtag...) vorgegebene Callback-Funktionen auf. Eine Anwendung, die SAX nutzt, eigene Unterprogramme als Callback-Funktionen registieren und auf diese Weise die XML-Daten auswerten.
Im Gegensatz zu DOM ist SAX zustandslos und erlaubt keinen freien Zugriff auf die Inhalte eines XML-Dokumentes. Damit ist SAX auch für die Verarbeitung großer Datenmengen geeignet.
SAX bietet einer Anwendung einen weitgehend implementationsunabhängigen Zugriff auf XML-Parser verschiedener Hersteller. Die API bzw. deren Konzepte sind in verschiedenen Programmiersprachen implementiert. Wesentlich von Bedeutung ist sie in Java-Umgebungen. Auf der offiziellen Homepage von SAX wird die Schnittstellendefinition als (kommentierter) Java-Quellcode veröffentlicht.
Schnittstellendetails
Vorgegeben sind unter anderem folgende Funktionen:
- startElement - wird bei einem öffnenden Tag aufgerufen.
- endElement - wird bei einem schließenden Tag aufgerufen.
- characters - wird aufgerufen, wenn Zeichendaten (XML-Terminologie: [P]CDATA) gelesen werden
Literatur
- David Brownell: SAX2, O'Reilly, ISBN 0-596-00237-8
- W. Scott Means, Michael A. Bodie: The Book of SAX, No Starch Press, ISBN 1-886411-77-8
Weblinks
- SAX-Startseite (englisch)
- Top Ten SAX2 Tips (englisch)