Klassische XML-Validierung



[ Informatik-Seminar 2002 ] ... [ Thema XML-Validierung mit Haskell ] ... [ Valdierung mit HaXml ] ...

Übersicht:


Verarbeitung von XML-Dokumenten

XML-Dokumente können auf zwei Arten verarbeitet werden:


Validierung beim Event-gesteuerten Ansatz

Im folgenden wird die XML-Validierung beim Event-gesteuerten Ansatz beschrieben. Das Verfahren wird jedoch auch verwendet, wenn der Parser in einem nachgelagerten Schritt anhand der Events eine Baumstruktur des Dokuments aufbaut.

Start-Tag wird einlesen:
Der Parser sucht nach einer Produktionsregel, in der durch die DTD definierten Grammatik. Kann keine Regel gefunden werden, d.h. das Element ist nicht in der DTD deklariert, wird ein Fehler gemeldet. Es ist garantiert, dass nur eine einzige Produktionsregel für jedes Element in der DTD existiert.

Ende-Tag wird einlesen:
Die Sequenz der Kinder des Elements wird mit der Produktionsregel vergleichen. Das Verfahren, wie dieser Vergleich durchgeführt wird, ist im folgenden Abschnitt beschrieben. Passt die Sequenz der Elemente nicht auf die Produktionsregel, meldet der Parser ein ungültiges Dokument und bricht die Verarbeitung ab.




Algorithmus zur Validierung

XML-Parser wie Xerces überprüfen XML-Dokumente nach folgendem Verfahren auf Gültigkeit. Das Inhaltsmodell jedes Elements definiert einen regulären Ausdruck über das Alphabet der Elemente. Dieser reguläre Ausdruck wird mit Verfahren des Compilerbaus in Endliche Automaten (EA) transformiert. Pro Element wird somit ein Endlicher Automat erzeugt. Während des Parsens eines XML-Dokuments werden die Zustände der einzelnen Automaten für jedes geöffnete Tag in einem Stack verwaltet.


[ Informatik-Seminar 2002 ] ... [ Thema XML-Validierung mit Haskell ] ... [ Klassische XML Validierung ] ... [ Valdierung mit HaXml ] ...