Oficjalna strona standardu SAX
SAX jest sposobem odczytywania w tworzonych programach danych zapisanych w dokumentach XML.
Podczas odczytywania dokumentu parserem SAX pojawiają się zdarzenia (takie jak "początek elementu", "komentarz", "zawartość tekstowa" itp.). Programista używający parsera SAX podaje kod, który będzie wykonywany, gdy określone zdarzenia będą się pojawiać.
W programowaniu obiektowym własną obsługę zdarzeń można zapisać jako klasę, której metody będą wywoływane w odpowiedzi na poszczególne zdarzenia. Oprócz obsługi typowych zdarzeń w podobny sposób można zdefiniować obsługę błędów.
W Javie parserowi (obiekt klasy implementującej XMLReader) należy przekazać obiekt klasy implementującej ContentHandler. Obiekt ten powinien mieć zaimplementowane metody:
void startDocument() void endDocument() void startElement(String namespaceURI, String localName, String qName, Attributes atts) void endElement(String namespaceURI, String localName, String qName) void ignorableWhitespace(char[] ch, int start, int length) void processingInstruction(String target, String data) void skippedEntity(String name) void startPrefixMapping(String prefix, String uri) void endPrefixMapping(String prefix) void setDocumentLocator(Locator locator)
SAX2 określa ogólny sposób konfigurowania parserów. Cecha lub właściwość jest określona przez napis - identyfikator.
Cecha ma wartość Tak/Nie (włączona/wyłączona), ustawia się ja metodą
void setFeature(String name, boolean value)
Wartością właściwości może być dowolny obiekt (często są to też napisy - identyfikatory).
void setProperty(String name, Object value)
Poniższy program wypisuje na wyjście zawartość tekstową dokumentu.
SimpleSAX.java