XML-Parser

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.

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 RelaxNG.

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 (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 serialisert 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 Certification Program — (XML Master) is IT professional certification for XML and related technologies. There are two levels of XML Certifications, XML Master Basic certification and XML Master Professional certification, and more than 16000 examiners have passed those… …   Wikipedia

  • XML data binding — refers to the process of representing the information in an XML document as an object in computer memory. This allows applications to access the data in the XML from the object rather than using the DOM to retrieve the data from a direct… …   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 — Infobox file format name = Extensible Markup Language icon = logo = extension = .xml mime = application/xml, text/xml (deprecated) type code = uniform type = public.xml magic = owner = World Wide Web Consortium genre = Markup language container… …   Wikipedia

  • 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 …   Deutsch Wikipedia

  • Parser — Ein Parser [ˈpɑːʁzɐ] (engl. to parse, „analysieren“, bzw. lateinisch pars, „Teil“; im Deutschen gelegentlich auch Zerteiler) ist ein Computerprogramm, das in der Computertechnik für die Zerlegung und Umwandlung einer beliebigen Eingabe in ein für …   Deutsch Wikipedia

  • XML DTD — Eine Dokumenttypdefinition (englisch Document Type Definition, DTD, auch Schema Definition oder DOCTYPE) ist ein Satz an Regeln, der benutzt wird, um Dokumente eines bestimmten Typs zu deklarieren. Ein Dokumenttyp ist dabei eine Klasse ähnlicher… …   Deutsch Wikipedia

  • XML-Deklaration — Eine XML Deklaration ist eine Erkennungszeichenfolge im Prolog einer XML Datei. Sie hat folgende Form: <?xml Pseudo Attribute ?> Der Teil nach <?xml nimmt so genannte Pseudo Attribute auf. Dies sind Daten, die das Format attribut= wert… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”