Schritt 2 - Erstellen eines DocumentHandlers
Im zweiten Schritt wird der DocumentHandler erstellt, also das Objekt, welches
die Events vom Parser entgegennimmt. Auch hierfür stellt Java bereits eine Klasse
DefaultHandler zur Verfügung.

Definition
Ein Handler dient in Programmiersprachen zur Vereinfachung der Ereignisbehandlung. Anders als bei traditionellen, linearen Programmen werden an bestimmten Stellen
spezielle Unterprogramme immer dann ausgeführt, wenn ein bestimmtes Ereignis auftritt.
Der SAX-Parser generiert die Ereignisse, der DefaultHandler dient dazu, die SAX-Ereignisse zu behandeln. Wir müssen von DefaultHandler eine neue Klasse DocumentHandler1 ableiten (vgl. Kapitel 7.3), um alle Ereignisbehandlungsroutinen zu erben:
class DocumentHandler1 extends DefaultHandler
Alle Methoden bzw. Ereignisbehandlungsroutinen des DefaultHandlers sind leer, d.h. sie tun gar nichts. Der DefaultHandler dient lediglich als Basisklasse für neue DocumentHandler. Damit der DocumentHandler in Aktion gehen kann, überschreiben wir vorerst nur die Methode startElement():
Beispiel
public void startElement(String namespaceURI,
String localName,
String qualifiedName,
Attributes attrs)
throws SAXException
{
System.out.println(qualifiedName);
}
String localName,
String qualifiedName,
Attributes attrs)
throws SAXException
{
System.out.println(qualifiedName);
}
Mit public (vgl. Kapitel 7.2) ist die Methode öffentlich zugreifbar. Das muss sie auch sein, denn der Parser
wird sie bei jedem gefundenen Element aufrufen. Stößt der Parser beim Parsevorgang
auf das öffnende Tag eines Elements, so ruft er diese Methode des DocumentHandlers auf und übergibt vier Werte:
- namespaceURI - URI des Namensraums
- localName - der einfache Name des Elements (falls Namensräume genutzt werden)
- qualifiedName - der vollständige Name des Elements
- Attributes - die Attribute des Elements
Hinweis
Bei unserem Beispiel werden wir uns darauf beschränken, nur den Namen des Elements über die Funktion
System.out.println() (vgl. Kapitel 7.2) auszugeben.
Damit ist nun unser einfacher DocumentHandler fertig, der die Namen aller gefundenen
XML-Elemente ausgibt. Erzeugt wird der DocumentHandler mit folgender Anweisung:
Beispiel
DefaultHandler documentHandler = new DocumentHandler1();