XML-Prozessor


XML-Prozessor

Ein XML-Prozessor ist eine Software zum Einlesen und Verarbeiten von XML-Dokumenten. Häufig wird auch der Begriff XML-Parser synonym verwendet, obwohl dieser eher ein Modul im Software-Baustein „XML-Prozessor“ ist, welches das Einlesen durchführt.

Inhaltsverzeichnis

Allgemeines

Ein XML-Prozessor besitzt im Wesentlichen drei Komponenten:

  • den Parser - er bildet das Frontend zu den zu verarbeitenden Dokumenten
  • die Verarbeitungskomponente - sie implementiert die eigentliche Geschäftslogik im Sinne einer Modelltransformation
  • den Ausgabeprozessor - er sorgt für die Persistierung der Zieldokumente im geeigneten Format

Dabei ist eigentlich nur Parser und Ausgabeprozessor XML-spezifisch. Die Verarbeitungskomponente kann eigentlich beliebige Modelle verarbeiten, weist aber durchaus auch XML-spezifische Merkmale auf z. B.

  • indem sie den Zugriff auf das sogenannte Post Schema Validation Info Set PSVI erlaubt.
  • indem XML-Konstrukte in der Verarbeitungssprache konzeptualisiert sind (node, element, entity …)

XML-Parser

XML-Parser in den Prozessoren können anhand zweier Kriterien unterschieden werden:

  • validierend oder nichtvalidierend
  • Art der Schnittstelle für den Zugriff auf das Dokument (als Baum ähnlich wie DOM oder sequentiell z. B. SAX)

Im Grunde können auch Parser eingesetzt werden, die andere Formate einlesen oder gar Datenbanken abfragen. Das ist hilfreich für Migrationen von Altdaten nach XML.

Nichtvalidierende Parser kontrollieren lediglich, ob das Dokument wohlgeformt ist, sprich ob es den Spezifikationen des W3C entspricht. Validierende Prozessoren hingegen prüfen zusätzlich die Konformität gegenüber einer DTD oder einer Schemasprache, wie z.B. XML Schema oder RELAX NG.

Verarbeitungskomponente

Die Verarbeitungskomponente implementiert in der Regel eine eigene, auf das Verarbeitungsparadigma optimierte Programmiersprache (z. B. DSSSL, XSLT). Dabei ist zu unterscheiden:

  • sequentielle Verarbeitung - Man kann Regeln für das betreten/verlassen eines Knotens angeben. In diesen Regeln wird die spezifische Verarbeitung formuliert. Der Inhalt des Dokumentes steht nur so weit zur Verfügung, wie es bislang eingelesen bzw. verarbeitet ist.
  • baumorientierte Verarbeitung - Die Verarbeitungskomponente traversiert automatisch den (bzw. die) Dokumentbäume und konstruiert den Baum für das Ausgabedokument. Die Traversierung kann dabei auf dem Quellbaum (z. B. bei XSLT) erfolgen oder im Zielbaum (z. B. bei MetaMorphosis). Man spricht daher von „sourcedriven“ bzw. „targetdriven“ Prozessoren. Zielgetriebene Prozessoren sind nicht ganz so einfach zu durchdringen, bieten jedoch wesentlich mehr Flexibilität.

Besonders vorteilhaft in dem Ansatz ist es allerdings, die Verarbeitung (Transformation) weitgehend unabhängig von der konkreten Syntax des Ausgabeformates zu formulieren. Die Spezifika des gewünschten Ausgabeformates (z. B. Zeilenaufteilung, Einrückungen usw.) können im Ausgabeprozessor behandelt werden. Damit wird es zuweilen möglich, mit einer Transformation mehrere Ausgabeformate zu bedienen.

Dem Wesen nach handelt es sich bei XML-Prozessoren also um ein ähnliches (wenn auch schon vor dem MDA-Hype definiertes) Vorgehen wie bei der MDD, bei der ebenfalls eine formal beschriebene Modelltransformation stattfindet und das Einlesen bzw. Serialiseren des Modells in eigenen Prozessoren stattfindet. Daher ist durchaus eine Sprachverwandtschaft zwischen XML-Prozessoren und Modelltransformatoren zu erkennen. Die Rolle der Metamodelle wird dabei von der DTD bzw. dem XML-Schema wahrgenommen. Die Modellpersistierung erfolgt in XML.

Ausgabekomponente

Die Ausgabekomponente serialisiert den von der Verarbeitungskomponente bereitgestellten Dokumentenbaum nach XML oder in ein anderes gewünschtes Textformat (z. B. TeX). XML-Spezifika wie Handhabung von Sonderzeichen, Leerzeichenbehandlung usw. kann der Ausgabeprozessor übernehmen. Bei leistungsfähigen XML-Prozessoren ist diese Ausgabekomponente flexibel konfigurierbar bzw. programmierbar.

Implementierungen

  • XSLT
  • MetaMorphosis
  • JADE

Literatur

  • Meike Klettke, Holger Meyer: XML & Datenbanken Konzepte, Sprachen und Systeme. 2003, ISBN 3-89864-148-1.

Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • XML-Parser — Ein XML Prozessor ist eine Software zum Einlesen und Verarbeiten von XML Dokumenten. Häufig wird auch der Begriff XML Parser synonym verwendet, obwohl dieser eher ein Modul im Software Baustein „XML Prozessor“ ist, welches das Einlesen durchführt …   Deutsch Wikipedia

  • .xml — Vorlage:Infobox Dateiformat/Wartung/magic fehltVorlage:Infobox Dateiformat/Wartung/website fehlt Extensible Markup Language Dateiendung .xml …   Deutsch Wikipedia

  • XML — Vorlage:Infobox Dateiformat/Wartung/magic fehltVorlage:Infobox Dateiformat/Wartung/website fehlt Extensible Markup Language Dateiendung …   Deutsch Wikipedia

  • Xml — Vorlage:Infobox Dateiformat/Wartung/magic fehltVorlage:Infobox Dateiformat/Wartung/website fehlt Extensible Markup Language Dateiendung …   Deutsch Wikipedia

  • XML Inclusion — XInclude (XML Inclusions) ist eine W3C Spezifikation, die es ermöglicht, innerhalb von XML Dokumenten auf Teile anderer XML oder Textdokumente zu verweisen. Dieser „Verweis“ wird beim Auflösungsvorgang durch den Inhalt des referenzierten… …   Deutsch Wikipedia

  • XML Inclusions — XInclude (XML Inclusions) ist eine W3C Spezifikation, die es ermöglicht, innerhalb von XML Dokumenten auf Teile anderer XML oder Textdokumente zu verweisen. Dieser „Verweis“ wird beim Auflösungsvorgang durch den Inhalt des referenzierten… …   Deutsch Wikipedia

  • XML-Schema — ist eine Empfehlung des W3C zum Definieren von Strukturen für XML Dokumente. Anders als bei den klassischen XML DTDs wird die Struktur in Form eines XML Dokuments beschrieben. Darüber hinaus wird eine große Anzahl von Datentypen unterstützt.… …   Deutsch Wikipedia

  • XML Schema Definition — XML Schema ist eine Empfehlung des W3C zum Definieren von Strukturen für XML Dokumente. Anders als bei den klassischen XML DTDs wird die Struktur in Form eines XML Dokuments beschrieben. Darüber hinaus wird eine große Anzahl von Datentypen… …   Deutsch Wikipedia

  • XML Schema — XML Schema, abgekürzt XSD, ist eine Empfehlung des W3C zum Definieren von Strukturen für XML Dokumente. Anders als bei den klassischen XML DTDs wird die Struktur in Form eines XML Dokuments beschrieben. Darüber hinaus wird eine große Anzahl von… …   Deutsch Wikipedia

  • XSLT-Prozessor — Ein XSLT Prozessor ist eine Software zum Umwandeln von Dokumenten mittels eines XSLT Stylesheets. Das Ergebnis ist ein neues Dokument, das (z. B. als DOM Objekt) direkt weiterverarbeitet oder in eine Datei ausgegeben werden kann. Der XSLT… …   Deutsch Wikipedia