20
XML-Einführung und DTD

XML-Einführung und DTD - Comelio Medien · DTD (Document Type Definition), welcher ebenfalls mit XML selbst in der glei-chen Spezifikation erläutert wird, und der eine der beiden

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: XML-Einführung und DTD - Comelio Medien · DTD (Document Type Definition), welcher ebenfalls mit XML selbst in der glei-chen Spezifikation erläutert wird, und der eine der beiden

XML-Einführung und DTD

Page 2: XML-Einführung und DTD - Comelio Medien · DTD (Document Type Definition), welcher ebenfalls mit XML selbst in der glei-chen Spezifikation erläutert wird, und der eine der beiden

21

1. XML-Einführung und DTD 1

1. XML-Einführung und DTD

Das Akronym XML steht für “eXtensible Markup Language“1, auf Deutsch: erwei-terbare Auszeichnungssprache, die vom Standardisierungsgremium W3C unter Beteiligung einer Reihe von Firmen und Fachleuten entwickelt und als Techno-logie betreut wird. Im Wesentlichen handelt es sich um ein Textformat, das die Strukturregeln für den Aufbau von Beschreibungs- und Nutzdaten festlegt und das für beliebige Anforderungen im Bereich der Datenspeicherung/-abbildung ge-eignet ist. Dabei gibt es eine Reihe von Grammatiken, die den allgemeinen XML-Sprachregeln folgen und die bei Verwendung einer geeigneten Software für eine Reihe von Anwendungsfällen geeignet sind. Es besteht aber insbesondere auch die Möglichkeit, eigene XML-Grammatiken zu entwickeln, die entweder für rei-ne Datenspeicherung/-abbildung verwendbar sind, oder die zusammen mit einer entsprechend entwickelten Software nahezu beliebige Aufgaben lösen können.

Dieses erste Kapitel führt allgemein in die Technologie XML und die wenigen not-wendigen Grundlagen ein, die für seine Verwendung notwendig ist. Gerade die Einfachheit von XML hat zu seiner weiten Verbreitung und seinem allgegenwär-tigen Einsatz geführt. Der zweite Teil dieses Kapitel erklärt dann den Standard DTD (Document Type Definition), welcher ebenfalls mit XML selbst in der glei-chen Spezifikation erläutert wird, und der eine der beiden häufigsten Techniken zur Beschreibung von (eigenen) XML-Grammatiken darstellt. Heute ist allerdings XML Schema im Bereich der Datenmodellierung wichtiger. DTD wird heute im We-sentlichen für die Dokumentbeschreibung benutzt, da zwischen Daten- und Doku-mentmodellierung verschiedene Unterschiede bestehen.

1. 1.  Einführung

Es besteht ein hoher Bedarf an der Modellierung von Daten mit den Teilaufga-ben Bezeichnung von Datenelementen, Festlegung von Datentypen für einzeln

1 Allgemeine Einstiegsseite des W3C: http://www.w3.org/XML/

Page 3: XML-Einführung und DTD - Comelio Medien · DTD (Document Type Definition), welcher ebenfalls mit XML selbst in der glei-chen Spezifikation erläutert wird, und der eine der beiden

22

1. XML-Einführung und DTD1

gespeicherte Inhalte, Beziehungen zwischen Daten sowie allgemeine Regeln für den Aufbau der gesamten Datenstruktur (Reihenfolge, Häufigkeiten, Schlüssel und Verweise). Weitere Anforderungen sind einfacher und strukturierter Zugriff in Form von Abfragen und Transformationen.

1. 1. 1.  Auszeichnungssprache XML

Dieser Abschnitt führt kurz in die die wesentlichen Eigenschaften und Prinzipien ein, die bei XML und dem Einsatz von XML-Technologien gegeben sind.

Ä Auszeichnungssprache

Als Auszeichnungssprache bezeichnet man ein Format, in dem Inhalte und Be-schreibungen in der gleichen Datei enthalten sind und in dem zusätzlich auch die Beschreibungen direkt an den Daten liegen. Als Beschreibungsdaten bezeichnet man zusätzliche Informationen über die Bedeutung der Daten oder welche zu-sätzlichen Metainformationen für die Daten noch notwendig sind. Als Nutzdaten bezeichnet man dann diejenigen Daten, wegen denen das Dokument oder der Datensatz eigentlich erstellt oder benötigt wird.

Die Unterscheidung in Beschreibungs- und Nutzdaten kann selbstverständlich auch ohne XML getroffen werden. In einer Datenbank sind die Beschreibungsda-ten die Tabellendefinitionen mit Spaltenbezeichnungen, Datentypen und Bezie-hungen zwischen den Tabellen. Die Nutzdaten sind dann die eigentlichen Werte in den Tabellen bzw. in der gesamten Datenbank. Es lohnt sich allerdings nicht wirklich, bei einer Datenbank allzu viel Zeit in die gerade diskutierte Unterschei-dung zwischen Beschreibungs- und Nutzdaten zu investieren, weil die Datende-finitionen vom grundsätzlichen Aufbau im Gegensatz zu XML recht simpel sind: Tabellen und Spalten. Beziehungen zwischen Daten müssen im Wesentlichen über Schlüssel-Beziehungen formuliert werden wie Eltern-Kind-Strukturen oder Vor-gänger-Nachfolger-Reihenfolgen. Bei XML kann man Hierarchien, Reihenfolgen, alternative Inhalte und auch Schlüssel sowie weitere Strukturen für die Modellie-rung und damit Speicherung verwenden. In einer Auszeichnungssprache sind die Beschreibungsdaten und die Nutzdaten ineinander vermengt. Dies eröffnet ganz andere Datenstrukturen und neue Möglichkeiten, Regeln für die Datenspeiche-rung sowie Strukturen in Daten festzulegen.

Page 4: XML-Einführung und DTD - Comelio Medien · DTD (Document Type Definition), welcher ebenfalls mit XML selbst in der glei-chen Spezifikation erläutert wird, und der eine der beiden

23

1. XML-Einführung und DTD 1

Die Beschreibungsdaten integriert man in einem Datensatz/-dokument, indem man die Bezeichner für Elemente und ihre möglicherweise vorhandenen Attribute in spitzen Klammern erfasst. Diese Bezeichner werden auf Englisch Tags genannt und folgen bestimmten Regeln, die im Großen und Ganzen auch in Programmier-sprachen für die Bezeichnung von Klassen, Methoden oder Variablen oder in Da-tenbanken für Tabellen, Spalten oder Prozeduren/Funktionen zu finden sind.

Eine Auszeichnungssprache erfordert ganz andere Techniken, um derart komplex modellierte und ausgezeichnete Daten zu beschreiben oder zu verarbeiten. Die Beschreibung erfordert eine anspruchsvolle Syntax, um Bezeichnungen, Hierarchi-en, Reihenfolgen oder Abhängigkeiten abzubilden. Die Transformation/Extraktion lässt sich auch nicht mehr mit einer SQL-ähnlichen Sprache bewerkstelligen, weil bspw. SQL eine rein mengenorientierten Sprache ist, in einer mit einer Auszeich-nungssprache modellierten Datenstruktur aber die Strukturen einer ganzen Da-tenbank quasi in einem einzigen Datensatz in sehr strukturierter Form vorliegen können. Diese Flexibilität ist sowohl der Schlüssel für die vielen Anwendungsmög-lichkeiten von XML als auch die Notwendigkeit, völlig neuartige Werkzeuge für Va-lidierung, Filterung und Umwandlung zu erschaffen. Dennoch – die sei angemerkt – gibt es Abfragesprachen, die sich vom Design her an SQL orientieren.

Ä Wohlgeformtheit

Ein wichtiges Konzept, die für die Funktionstüchtigkeit eines XML-Dokuments wesentlich ist, wird mit dem Begriff Wohlgeformtheit beschrieben. Nur wohlge-formte Dokumente können als XML erkannt und von den diversen Werkzeugen erfolgreich verarbeitet werden. Wenn man sich mit XML beschäftigt, dann gibt es eigentlich kein anderes Konzept, kein Werkzeug und auch keine Theorie, die wichtiger oder basaler wäre. XML an sich besteht nur aus den wenigen Regeln, die in diesem Abschnitt zusammengefasst werden. Alle anderen Themen, die im XML-Universum eine Rolle spielen, befolgen die gleichen Regeln oder sind auf sie angewiesen, wenn es darum geht, XML-Dateien zu erstellen, zu speichern und vor allen Dingen zu verarbeiten.

Jedes Dokument beginnt mit dem so genannten Prolog. Er enthält verpflichtend die XML-Deklaration, welche wiederum mindestens die Versionsangabe von XML enthält. Sie kann zusätzlich auch den Zeichensatz des Dokuments sowie die stan-dalone-Angabe enthalten. Mit den Werten yes oder no wird lediglich angege-

Page 5: XML-Einführung und DTD - Comelio Medien · DTD (Document Type Definition), welcher ebenfalls mit XML selbst in der glei-chen Spezifikation erläutert wird, und der eine der beiden

24

1. XML-Einführung und DTD1

ben, ob es für dieses Dokument eine DTD gibt oder nicht. Die XML-Deklaration hat bspw. die folgende Form:

<?xml version=“1.0“ encoding=“UTF-8“ standalone=“yes“?>

Darüber hinaus kann der Prolog eine Document Type-Deklaration enthalten, wel-che die Modellierung der Datei und damit ihre logische Struktur angibt. Schließ-lich kann er auch noch Kommentare oder Prozessoranweisungen enthalten, die später noch vorgestellt werden.

Jedes wohlgeformte XML-Dokument besitzt genau eine so genannte Wurzel oder ein Dokumentelement. Dies ist ein gewöhnliches XML-Element, das allerdings alle anderen enthält und selbst in keinem anderen enthalten ist. Dies bedeutet, dass nur ein Element auf der obersten Ebene vorhanden sein darf.

Die einzelnen Inhalte sind in XML-Elementen untergebracht, die auch mit dem englischen Namen Tag (Plural: Tags, Partizip Perfekt Passiv: getagged) bezeichnet werden und deren Namen zwischen spitzen Klammern stehen. Zu Beginn steht normalerweise ein Start-Tag <Person> und am Ende ein End-Tag </Person>. Fehlen weitere Inhalte ist es ein leeres Element wie <SkypeID />. Leere Ele-mente enthalten keine Kind-Elemente, d.h. keine weiteren Tags oder Textinhalte, sondern höchstens Attribute.

Attribute sind zusätzlich im Start-Tag untergebracht und umschließen ihren Wert mit Anführungszeichen: <startTag attribut1=“inhalt“>. Man spricht von Verschachtelung oder Hierarchien oder Ebenen, da man XML-Elemente ineinan-der verschachteln kann. Dabei muss die Verschachtelung ebenentreu-paarig erfol-gen, d.h. ein geöffnetes Element A kann erst dann geschlossen werden, wenn das enthaltene Element B schon geschlossen ist. Elemente können wiederholt nach-einander auftreten, Attribute dagegen nicht. Die Reihenfolge von Elementen wird bei der Verarbeitung berücksichtigt und beibehalten. Bei Attributen dagegen ist die Reihenfolge bedeutungslos.

Ein Kommentar kann überall in Elementen und auch zwischen Prolog und dem Wurzelelement platziert werden. Er beginnt mit <!-- und endet mit -->. Die Inhalte sind zwischen diesen Zeichenfolgen angegeben:

<!-- Datenerstellung: 01.01.2005 -->

Page 6: XML-Einführung und DTD - Comelio Medien · DTD (Document Type Definition), welcher ebenfalls mit XML selbst in der glei-chen Spezifikation erläutert wird, und der eine der beiden

25

1. XML-Einführung und DTD 1

Es ist möglich, dem Prozessor, der eine XML-Datei verarbeitet oder einfach nur öffnet und in einem geeigneten Programm visualisieren/anzeigen soll, zusätzliche Anweisungen mitzugeben.

Eine solche Anweisung heißt Prozessoranweisung. Diese Technik ist insbesondere bei XSLT-Verarbeitung oder der Darstellung mit CSS wichtig. Ansonsten kann man auch Attribute aus einem anderen Namensraum (Fremdattribute) verwenden, um solche Informationen zu übermitteln. Die Verwendung von Prozessoranweisungen ist ansonsten nicht so weit verbreitet. Eine PI (processor instruction) hat folgende allgemeine Form:

<?xml-stylesheet type=“text/xsl“ href=“132_01.xslt“?>

Ein CDATA-Abschnitt ist ein Textbereich, in welchem die Auszeichnungen nicht als solche interpretiert werden. Hier kann man also XML- oder nur XML-ähnliche Daten speichern, die nicht als solche erkannt werden. Ein solcher Abschnitt kann in jedem Element verwendet werden. Er beginnt mit <![CDATA[ und endet mit ]]>.

<![CDATA[<gruss>Hallo Welt!</gruss>]]>

Einige Zeichen sind schon in der XML-Syntax verwendet und gelten daher als re-serviert. Um sie nun dennoch auch als Inhalte zu speichern, verwendet XML so ge-nannte Entitäten. Dies sind spezielle &Bezeichner;, die mit einem Ampersand (kaufmännisches Und) beginnen und von einem Semikolon abgeschlossen werden und die auch in einer DTD (Document Type Definition) mit eigenen Bedeutungen erstellt werden können. Diese Technik ist allerdings nur in der DTD vorhanden und hat daher abnehmende Bedeutung, wenn eigentlich mit XML Schema validiert wird. Es sind insgesamt fünf vordefinierte Entitäten schon in XML vorhanden.

● &lt; Kleiner-als-Zeichen

● &gt; Grösser-als-Zeichen

● &amp; Kaufmännisches Und-Zeichen

● &apos; Hochkomma (Apostroph)

● &quot; Anführungszeichen

Page 7: XML-Einführung und DTD - Comelio Medien · DTD (Document Type Definition), welcher ebenfalls mit XML selbst in der glei-chen Spezifikation erläutert wird, und der eine der beiden

26

1. XML-Einführung und DTD1

Ä Gültigkeit

XML-Dokumente müssen in jedem Fall wohlgeformt sein, damit sie verarbeitet werden können. Darüber hinaus können sie auch noch gültig sein, wobei die Kom-bination “wohlgeformt und gültig“ für eine sinnvolle Anwendung notwendig ist, um eine fehlerfreie Verarbeitung zu erlauben. Gültigkeit ist dann bei einem XML-Dokument gegeben, wenn es den Regeln folgt, die in einem Regeldokument wie bspw. der DTD, XML Schema (beide vom W3C) oder RelaxNG (von OASIS) ange-geben sind.

In einem solchen Regeldokument ist der gesamte Aufbau und teilweise auch die Datentypstruktur von einzelnen Textinhalten von Elementen oder Werten von At-tributen hinterlegt.

1. 1. 2.  XML als Textformat

Die Regeln und Strukturen von XML wurden gerade kurz umrissen. Es sind weniger diese allgemeinen Regeln, mit denen man die Prinzipien von XML lernen kann als Beispieldokumente und Beispielanwendungen.

Daher soll in diesem Abschnitt ein erstes längeres XML-Dokument abgedruckt werden, an dem man die verschiedenen Regeln vermutlich unmittelbar erkennen kann. Ebenfalls werden verschiedene allgemeine Überlegungen zur XML-Verwen-dung und Vorteile von XML dargestellt.

Ä Ein erstes XML-Dokument

Folgende XML-Datei enthält eine Liste mit Mitarbeitern, die bei der hier verwen-deten Beispielfirma RuhrFon GmbH arbeiten.

Es gibt in dieser Datei in einer Prozessoranweisung über das href-Attribut eine Verknüpfungen zu einer externen XSLT-Datei. Solch eine Verknüpfung erfolgt ent-weder absolut oder relativ. So, wie sich der Link nun in der Datei präsentiert, muss die Datei sich im gleichen Ordner befinden. Ansonsten sind relative und absolute Pfad wie in HTML möglich. Das zusätzliche type-Attribut könnte Ihnen aus HTML bekannt vorkommen. Es verknüpft dort ein CSS-Dokument mit dem Wert text/css. Im XSLT-Fall dagegen ist der Wert text/xsl.

Page 8: XML-Einführung und DTD - Comelio Medien · DTD (Document Type Definition), welcher ebenfalls mit XML selbst in der glei-chen Spezifikation erläutert wird, und der eine der beiden

27

1. XML-Einführung und DTD 1

Mehr Besonderheiten oder gar Ungewöhnlichkeiten sind in dieser Datei nicht zu vermelden. Sie enthält mehrere Mitarbeiter-Elemente, die wiederum ein Name- und ein Funktion-Element mit Kind- und Attributknoten wie im Fall Name oder nur einen Textknoten wie im Fall Funktion besitzen.

Welche Regeln, die zuvor präsentiert worden sind, können auch in diesem Doku-ment nachvollzogen werden?

● Die Mitarbeiterliste ist das Wurzel-/Dokumentelement, da es auf der obersten Ebene steht und alle anderen Inhalte enthält.

● Das Mitarbeiter-Element kommt mehrfach im Dokument vor, was bei Ele-menten möglich ist. Attribute können dagegen nur einmal pro Element ver-wendet werden. Allerdings sind mehrere Attribute unterschiedlichen Namens denkbar.

● In diesem Fall gibt es nur ein Attribut namens Anrede innerhalb vom Element Name.

● Die Kind-Elemente Vorname und Nachname vom Eltern-Element Name ent-halten Textinhalte, wohingegen Name nur Elemente enthält.

● Das Dokument enthält eine XML-Deklaration mit Prolog und einer Prozesso-ranweisung.

<?xml version=”1.0” encoding=”UTF-8”?>

<?xml-stylesheet type=”text/xsl” href=”132_01.xslt”?>

<Mitarbeiterliste>

<Mitarbeiter>

<Name Anrede=”Frau”>

<Vorname>Birte</Vorname>

<Nachname>Sonnenschein</Nachname>

</Name>

<Funktion>Buchhaltung</Funktion>

</Mitarbeiter>

<Mitarbeiter>

<Name Anrede=”Frau”>

<Vorname>Susanne</Vorname>

<Nachname>Rollstein</Nachname>

Page 9: XML-Einführung und DTD - Comelio Medien · DTD (Document Type Definition), welcher ebenfalls mit XML selbst in der glei-chen Spezifikation erläutert wird, und der eine der beiden

28

1. XML-Einführung und DTD1

</Name>

<Funktion>Kundenberater</Funktion>

</Mitarbeiter>

...

132_01.xml – Mitarbeiterliste

1. 1. 3.  Auswahl an XML-Standards

Für die Verarbeitung, Validierung und sonstige Nutzung von XML sowie die Spei-cherung von Daten, die in vielen Anwendungen und Situationen in ähnlicher Form genutzt werden, gibt es eine Reihe von Standards. Einige davon sind vom W3C, viele andere dagegen von anderen Gremien wie ISO oder OASIS sowie Indust-rievereinigungen, Vereinen oder beliebigen Zusammenschlüssen erstellt worden.

Sie lassen sich in unterschiedlichen Gruppen einordnen, die in der Abbildung an-gegeben sind. Die Liste an möglichen Standards ist keinesfalls abschließend. Es gibt sicherlich 30 bis 50 Standards, die diesen Namen verdienen und eine hinrei-chend große Reichweite aufweisen. Einige der Standards, die insbesondere für die Abbildung von Datenmodellen existieren, welche von vielen Unternehmen/Orga-nisationen ansonsten immer wieder neu erschaffen werden würden, sind noch sehr neu und haben sich noch nicht im notwendigen Maße ausgebreitet, können aber vielleicht auf eine große Zukunft hoffen. Für diese Standards existieren DTDs oder XML Schema-Dateien, in denen das entsprechende Modell hinterlegt ist.

Andere Standards sind ebenfalls in XML verfügbar wie bspw. XML Schema für die Modellierung oder XSLT/XSL-FO für die Transformation. Dies ist aus theoretischen Gesichtspunkten besonders interessant, weil man hier sehen kann, welch heraus-ragendes Werkzeug XML ist. XML Schema ist eine XML-Grammatik, welche XML-Dokumente modelliert und mit der man XML-Daten validieren kann und welche darüber hinaus auch noch selbst in XML formuliert wird. XSLT dagegen ist eine deklarative Programmiersprache, die selbst wieder in XML programmiert wird und mit der man in Kombination mit einem geeigneten Prozessor XML-Dokumente in andere Formate umwandeln kann.

Darüber hinaus gibt es eine Reihe von Werkzeugen, die nicht als Standards ver-standen werden können, die aber dennoch für die Nutzung von XML in den ein-zelnen Programmiersprachen intensiv genutzt werden. Dabei handelt es sich um

Page 10: XML-Einführung und DTD - Comelio Medien · DTD (Document Type Definition), welcher ebenfalls mit XML selbst in der glei-chen Spezifikation erläutert wird, und der eine der beiden

29

1. XML-Einführung und DTD 1

spezielle Bibliotheken für die Verarbeitung oder Erstellung von XML-Daten. Als Beispiel ist in der Abbildung XMLReader und XMLWriter enthalten, zwei sprechen-de Namen, die tatsächlich so in verschiedenen Programmiersprachen als Klassen/Namensräume/Pakete im jeweiligen Framework der Sprache enthalten sind.

In diesem Buch ist es nicht möglich, tatsächlich alle Standards darzustellen. Alle Werkzeuge aller Programmiersprachen zu berücksichtigen, ist ebenfalls nicht denkbar und auch nicht notwendig, denn nicht jeder wird alle Sprachen gleicher-maßen verwenden wollen und können. Stattdessen wurde eine Auswahl auf die schon im vorherigen Kapitel erwähnten Standards und Werkzeuge vorgenommen. Allerdings: auch wenn es nicht alle 30 bis 50 verfügbaren Standards sind, wird es Ihnen in allen Lebenslagen helfen, wenn Sie die hier vorgestellten Standards erst einmal nutzen können.

Modellierung / ValidierungDTD

Document Type Definition XML Schema

TransformationXSLT

eXtensible Stylesheet Language for Transformations

DOMDocument Object Model

Filter / Lokalisierung

Abfrage

XPath

XQuery

RelaxNG

SAXXMLReader/Writer

Datenmodelle/ Grammatiken

Docbook BMEcatXBRL

OntologienSemantic Web

RDFResource Description

Framework

RDF Schema

OWLWeb Ontology Language

Webservices

WSDLWeb Services

Description Language

SOAP WS-Policy

XML Signature

...XHTML

Verweis

XML EncryptionXLink

XPointer

FO SVG

Schematron

SPARQL

Abbildung 1.1: XML-Technologien

Dies betrifft auch die verschiedenen Programme und Entwicklungsumgebungen, die im XML-Bereich als Desktop-Lösungen, Komponenten oder gar Server-Anwen-

Page 11: XML-Einführung und DTD - Comelio Medien · DTD (Document Type Definition), welcher ebenfalls mit XML selbst in der glei-chen Spezifikation erläutert wird, und der eine der beiden

30

1. XML-Einführung und DTD1

dungen bereit stehen. In jedem dieser Programme gibt es irgendwo eine XML-Da-tendatei, eine Regeldatei (meistens XML Schema) und die Möglichkeit, Abfragen (meistens XPath und neuerdings immer mehr auch XQuery) oder Umwandlungen (meistens XSLT, aber oft auch mit DOM umgesetzt) durchzuführen. Mit dem hier vermittelten Fundament sollte es gelingen, sich in der XML-Welt grundsätzlich zu-rechtzufinden.

Namen solcher Entwicklungsumgebungen sind Altova XMLSpy (www.altova.com), Stylus Studio (www.stylusstudio.com) oder oXygen XML Editor (www.oxygenxml.com). Eine entsprechende Internet-Recherche bringt eine Menge verschiedener Werkzeuge hervor.

Der einzige wichtige Standard, der nicht ausführlich berücksichtigt wird, aber den-noch ungeheuer wichtig ist, ist das Document Object Model (DOM). Es handelt sich ebenfalls um einen später nur kurz vorgestellten W3C-Standard, der zwar in jeder Programmiersprache als XML API ähnlich, aber niemals wirklich gleich um-gesetzt wird. Ohne die Kenntnisse der jeweiligen Sprache ist das Thema nicht sehr ergiebig.

Informationen finden Sie in Büchern, die im Titel den Namen einer Programmier-sprache tragen und sich auf die XML-Verarbeitung konzentrieren.

1. 1. 4.  Vorteile von XML

XML bietet eine Reihe von Vorteilen, welche die schnelle und umfassende Ver-breitung sehr gefördert haben. Teilweise befürchten insbesondere Datenbankpro-grammierer und Administratoren, XML könnte in irgendeiner Weise eine Daten-bank ersetzen. Ab und an trifft man auch auf Verantwortliche, die eine solche Überlegung pflegen oder wenigstens grundsätzlich erwogen haben.

Dazu wird es nicht kommen. Vielmehr haben sich, wie man in den letzten Jahren gut gesehen hat, die großen DB-Hersteller wie Oracle, Microsoft und IBM in ihren Datenbanksystemen einen neuen XML-Datentyp eingeführt, der es den DB-Pro-dukten ermöglicht, sich diese neue Technologie der Datenspeicherung und –ab-bildung gleichfalls einzuverleiben.

Zu den gerade genannten Vorteilen von XML im Gegensatz zu CSV und insbeson-dere sonstigen Protokollformaten zählen u.a. die folgenden:

Page 12: XML-Einführung und DTD - Comelio Medien · DTD (Document Type Definition), welcher ebenfalls mit XML selbst in der glei-chen Spezifikation erläutert wird, und der eine der beiden

31

1. XML-Einführung und DTD 1

Ä Einfachheit

XML ist, wenn man sich grundlegend damit beschäftigt, ein sehr einfacher Stan-dard, der durch die starke Verbreitung von HTML nur wenig Neues für HTML-ver-sierte Entwickler bietet. Damit ist allerdings auch schon die erste Problemstelle aufgedeckt, denn mehr als die spitzen Klammern, die Verwendung von Attribu-ten und der korrekten Verschachtelung haben HTML und XML nichts gemeinsam. Stattdessen dient XML dem allgemeinen Datenaustausch und der ebenso allge-meinen Datenmodellierung. Doch die Ähnlichkeit mit einer noch einfacheren Syn-tax und die gute Lesbarkeit von XML-Strukturen im Gegensatz zu Protokollen be-günstigen eine starke und vor allen Dingen schnelle Verbreitung. HTML bzw. seine wohlgeformte Variante XHTML dagegen entspricht einer gegebenen Modellierung von Strukturen in XML, die für die Inhaltspräsenation in so genannten Browser-Programmen eingesetzt werden kann. XHTML ist also bereits seine Grammatik, während XML eine Technologie und damit eine strukturelle Basis bildet.

Ä Vielseitiger Einsatz

Da – wie gerade schon erwähnt – XML für die Datenmodellierung und den Daten-austausch eingesetzt werden kann, ist es ebenso vielseitig verwendbar wie eine Datenbank. Praktisch überall dort, wo Daten anfallen, ausgetauscht und verarbei-tet werden, lässt sich eine Lösung grundsätzlich auch in XML denken. Aus techni-schen Einschränkungen heraus oder aufgrund von zusätzlichen Anforderungen ist dies nicht immer die endgültige Wahl, doch ließe sich wenigstens eine Alternativ-Lösung in XML denken. Dies liegt nicht daran, dass XML besondere Fähigkeiten hat, sondern schlichtweg daran, dass es eine gute Möglichkeit ist, um Daten zu verarbeiten.

Nichtsdestotrotz wird man für allereinfachste Datenaustauschziele weiterhin auch kommagetrennte Werte verwenden oder aus XML heraus solche CSV-Werte er-stellen oder den umgekehrten Weg beschreiten, und aus CSV-Daten XML-Struk-turen generieren müssen. Vielseitige Verwendung für Daten in Textform oder mit notwendigen Verschachtelungen und komplexen Strukturen, die in relationalen Datenbanken nicht akzeptabel abgebildet werden können, zeichnen XML aus. Ge-rade hinsichtlich des Datenaustauschs zwischen verschiedenen Datenbanken gibt es viele gemischte Lösungen, die gleichzeitig XML und Text in Form von CSV oder auch SQL verwenden. Dabei werden oft die verschiedenen Textformate aus XML-Strukturen heraus generiert.

Page 13: XML-Einführung und DTD - Comelio Medien · DTD (Document Type Definition), welcher ebenfalls mit XML selbst in der glei-chen Spezifikation erläutert wird, und der eine der beiden

32

1. XML-Einführung und DTD1

Ä Gute Lesbarkeit

Im Gegensatz zu kommagetrennten Werten oder gar Protokollen, welche Daten durch XML-ähnliche Steuerzeichen trennen, bietet XML im Normalfall eine schnell zu verstehende Lesbarkeit. Lange Dokumente oder tief verschachtelte Strukturen eignen sich zwar nicht notwendigerweise für eine direkte Lektüre ohne Transfor-mation in ein tabellen- oder listenorientiertes Format, aber bei gut gewählten Bezeichnern und einem grundlegenden Verständnis des Themas oder der model-lierten Datenstrukturen wird eine XML-Datei durch die Auszeichnung mit Hilfe der XML-Tags immer einfacher und besser zu lesen sein als kommagetrennte Werte ohne Auszeichnung oder Protokolldaten mit kryptischen Steuerzeichen.

Ein frühes Gegenargument, das bei der Verwendung von XML auftauchte, beruh-te darauf, dass durch die Auszeichnung der Daten sehr viel Speicherplatz einer Datei allein für die Datendarstellung und –aufbereitung verwendet wird. Dies ist unter den beiden Stichwörtern Nutzdaten und Beschreibungsdaten bekannt. Sind dazu diese Daten auch noch sehr kurz, kann der Fall eintreten, dass sogar mehr Dateispeicherplatz für die XML-Strukturen verwendet wird als für die eigentlichen Daten. Dies sollte allerdings bei heutiger Festplattengröße sowie Netzwerküber-tragungsgeschwindigkeit einen zu vernachlässigenden Aspekt darstellen. Nichts-destoweniger sind XML-Dateien im Gigabyte-Bereich nicht zu empfehlen, weil oft nur noch ein zeilenweiser bzw. stromorientierter Zugriff möglich ist und man dann auch genauso gut andere Text-Formate hätte verwenden können.

XML-Daten sind natürlich nur dann gut lesbar, wenn die XML-Tags, welche die Daten auszeichnen, für den Leser verständlich sind. Gerade in speziellen Anwen-dungen im Finanz-, Wissenschafts- oder Technikbereich benötigt ein dem Gebiet grundsätzlich fern stehender Leser dann eine entsprechende Übersetzungshilfe. Es entfällt allerdings das bei CSV-Daten übliche Zählen von Positionen, was gerade bei breiten Strukturen mit vielen einzelnen Feldern Hürden für die Datenzugäng-lichkeit aufbaut.

Ä Standardisierung

Protokolldaten in unterschiedlichen Systemen bzw. Industriezweigen beruhten und beruhen natürlich auch heute noch auf Standardisierungsabkommen zwi-schen Unternehmen und Organisationen. Teilweise gibt es staatlich vorgegebene XML-Grammatiken für spezielle Einsatzbereiche.

Page 14: XML-Einführung und DTD - Comelio Medien · DTD (Document Type Definition), welcher ebenfalls mit XML selbst in der glei-chen Spezifikation erläutert wird, und der eine der beiden

33

1. XML-Einführung und DTD 1

XML oder das W3C bieten keine Möglichkeiten, Datenstrukturen für jedweden Einsatzbereich einfach von der W3C-Webseite herunterzuladen und direkt weiter-zuverwenden, aber der Grundansatz und das theoretische Fundament von XML sowie angrenzende Technologien wie XML Schema, XSLT, RDF oder XML Topic Maps liegen jeweils als Standards vor. Viele Industriezweige besitzen Schemata für ihre Datenstrukturen, welche weit verbreitet sind und sich auch gut verwen-den lassen.

Im Gegensatz zu Protokollen, in denen zumindest dieser Zustand auch vorherrscht(e), bietet die Verwendung von XML mit XSLT eine wirklich sehr einfa-che Möglichkeit, Daten auszutauschen und in andere Formate zu transformieren bzw. über das gesamte Namensraumkonzept auch Daten mit gleicher Auszeich-nung oder fremden Strukturen zu mischen und weiterhin getrennt zu adressie-ren und zu verarbeiten. Die Vorteile der Standardisierung bei XML liegen also im Wesentlichen nicht darin, dass es eine große Auswahl an Standard-Schemata gibt, sondern vielmehr, dass die Grundkonzeption (XML selbst), die einfache Datenmo-dellierung (XML Schema), die semantische Datenmodellierung (RDF, XTM, OWL), die Adressierung (XPath, XQL) sowie die Transformation (XSLT, XSL-FO) herstelle-rungebunden vom W3C durchgeführt werden.

Die Herstellerungebundenheit darf natürlich nicht überschätzt werden, weil die bedeutenden IT-Unternehmen mit entsprechender Marktmacht selbstverständ-lich alle auch im W3C Mitglied sind und dort auch Einfluss ausüben. Doch zumin-dest handelt es sich um ein Gremium, das nicht durch schiere Marktmacht do-miniert wird, sondern seine Entscheidungen in einem Prozess trifft, in dem viele Parteien eingebunden sind.

Neben dieser Standardisierung, welche die Basisarchitektur und damit die allge-meinen Bereiche Modellierung, Validierung, Abfrage und Umwandlung betrifft, gibt es eine Reihe von Versuchen, für bestimmte Sinnzusammenhänge Referenz-modelle und sogar feste Standards zu etablieren, welche den Datenaustausch noch weiter vereinfachen, da eine Umwandlung komplett entfällt. Man kann nicht erwarten, dass jeder Datenbereich überhaupt beschrieben wurde oder gar so gut modelliert wurde, dass die Modellierung exakt für das eigene Problem genutzt werden kann. Doch lohnt sich immer die Überlegung, ob möglicherweise ein sol-cher Standard existiert, um wenigstens Anregungen und Denkanstöße zu erhal-ten. Teilweise droht man allerdings auch, das Rad neu zu erfinden, sodass eine Kontrolle, ob ein Modellierungsversuch vorliegt, teilweise auch zu der Erkennt-nis führt, dass andere Organisationen (Unternehmen, Regierungen und sonstige

Page 15: XML-Einführung und DTD - Comelio Medien · DTD (Document Type Definition), welcher ebenfalls mit XML selbst in der glei-chen Spezifikation erläutert wird, und der eine der beiden

34

1. XML-Einführung und DTD1

Körperschaften) bereits umfangreiche Modellierungsarbeiten geleistet haben und daher die Entscheidung, einen eigenen Weg zu gehen, bereits erfordert, für dieses Verhalten eine gute Begründung zu finden.

1. 1. 5.  Aufgabenstellungen mit XML-Einsatz

Als Programmierer oder Administrator müssen Sie sich zu verschiedenen Gelegen-heiten mit dem Thema dieses Buchs beschäftigen. In den Seminaren, die wir zu diesem Thema durchführen, nennen Teilnehmer immer wieder die nachfolgenden Aufgabenstellungen. Besonders auffällig ist, dass nur eine diffuse Vorstellung über den Sinn und Zweck von XML besteht und – was erschwerend für die Lösung der Aufgabe hinzukommt – sowohl neues Wissen im Bereich von allgemeinen XML-Technologien und –Denkansätzen wie zwangsläufig auch bei der Verwendung in Oracle erworben werden muss.

● Erstellung einer Import-/Export-Schnittstelle auf Basis von XML, wobei aus relationalen Daten XML-Daten in einem bestimmten Format aus der Daten-bank exportiert und XML-Daten in einem bestimmten Format in die Daten-bank exportiert werden sollen. Dabei müssen Sie für den Export-Vorgang mit Hilfe von Abfragen oder geeigneten Programmen relationale Daten mit sich wiederholenden Datensätzen, Verknüpfungen und Hierarchien in Form von XML zusammensetzen, während beim Import-Vorgang dagegen eine Zerle-gung von XML stattfinden muss, um die vorhandenen relationalen Strukturen direkt aus dem XML zu befüllen.

● Integration von XML in der Datenbank, wobei nun einzelne Felder oder der gesamte Datensatz einer Tabelle in Form von XML aus einer Anwendung oder einen Import-Vorgang übernommen wird. Hierbei liegt die Aufgabenstellung so, dass man für ausgewählte Datenelemente keine relationale Zerlegung wünscht oder aufgrund von eher dokumentenorientierten Strukturen auch nicht erreichen kann und XML hier anstelle von binären großen Objekten oder langen Zeichenketten zum Einsatz kommt, da die XML-Verwendung für die Anwendungsentwicklung eine Reihe von Vorteilen bringt.

● Erstellung und Bereitstellung von Webservices für die Integration von mehre-ren Anwendungen auf unterschiedlichen Plattformen oder in verschiedenen Programmiersprachen.

Page 16: XML-Einführung und DTD - Comelio Medien · DTD (Document Type Definition), welcher ebenfalls mit XML selbst in der glei-chen Spezifikation erläutert wird, und der eine der beiden

35

1. XML-Einführung und DTD 1

● Allgemeine Verarbeitung von XML, wobei in diesem Aufgabengebiet eine Rei-he von allgemeinen Arbeiten durchgeführt werden, die sich typischerweise bei XML-Anwendungen stellen und in diesem Fall mit Hilfe der jeweiligen Pro-grammiersprache und sogar innerhalb einer Datenbank umgesetzt werden können. Zu diesen Standardaufgaben gehören: Validierung von XML-Daten auf Basis von XML Schema-Datenstrukturen und –regeln, Transformation und Verarbeitung von gespeicherten oder übernommenen XML-Inhalten mit den Werkzeugen DOM (Document Object Model) oder XSLT (eXtensible Styles-heet Language for Transformations) sowie die Durchführung von Abfragen auf XML-Daten unter Verwendung von XPath oder XQuery.

1. 1. 6.  XSLT im Zusammenhang

Möglicherweise ist es schon aufgefallen, dass in diesem Buch XSLT/XSL-FO für die Verarbeitung von XML an besonders herausragender Stelle steht. Dies mag persönlichen Neigungen des Autors geschuldet sein, ist allerdings nicht ganz un-verständlich. XSLT bietet wirklich herausragende Vorteile, wenn es um die reine Verarbeitung von einem ins andere Datenformat geht. Nicht in allen Fällen ist dies die beste Lösung, aber eine Beschäftigung mit dieser Technik bietet immer die Möglichkeit, sich das beste Werkzeug für unterschiedliche Situationen herauszu-suchen.

XML-Neulinge, die sich bisher nur allgemein mit XML und vielleicht noch mit Do-kumentmodellierung auseinander gesetzt haben, betreten mit XSLT eine ganz neue Welt. Wir sprechen deshalb von XML-Neulingen, da natürlich die Verarbei-tung von XML-Daten ein zentraler Schwerpunkt im XML-Universum darstellt.

In Seminaren oder Projektgruppen, denen wir XML-Kenntnisse vermitteln, ist es manchmal verwirrend, dass im Laufe von wenigen Tagen mehr und mehr Doku-mente in der Entwicklungsumgebung zu betreuen sind. Beschränkt sich die Anzahl der Dokumente am Anfang auf ein einfaches XML-Dokument, so wird dies beim Thema Modellierung um die Syntax von XML Schema und wenigstens ein Schema-Dokument ergänzt. Im Verlauf der Veranstaltung reichen auch diese wenigstens zwei Dokumente nicht mehr als Spielmaterial aus. Die Liste der offenen Datei-fenster wird um wenigstens eine Transformationsdatei in XSLT-Syntax ergänzt. Wir sprechen deswegen immer von wenigstens einem zusätzlichen Dokument, da so-

Page 17: XML-Einführung und DTD - Comelio Medien · DTD (Document Type Definition), welcher ebenfalls mit XML selbst in der glei-chen Spezifikation erläutert wird, und der eine der beiden

36

1. XML-Einführung und DTD1

wohl die Syntax von XML Schema wie auch die XSLT Inklusionstechniken vorsieht, mit deren Hilfe Inhalte aus anderen Dokumenten abgerufen werden können.

Auf die einzelnen Dateien wollen wir hier noch einmal kurz eingehen, da aus ih-nen jede XML-Anwendung besteht. Wie schon unsere Vorliebe für die Vorteile hinsichtlich der Auslagerung weiter oben deutlich wurde, so wird an dieser Stelle unsere persönliche Wertschätzung der Dokumentmodellierung deutlich.

Ä Modellierung

Grundsätzlich besteht unter Entwicklern allergrößte Übereinkunft, dass für das Gelingen eines beliebig skalierten Projekts die Datenmodellierung eine sehr hohe Bedeutung besitzt. Dennoch hören wir immer wieder gerade bei Datenbanken solche Kommentare wie »Eigentlich müsste diese Spalte so heißen wie diese an-dere, aber das ist in diesem Fall nicht so …«, »Das ist historisch gewachsen …«, »Ich habe das auch schon so übernommen, und jetzt kann man natürlich nichts mehr ändern …«, »Ach nein, diese Tabellen verwende ich gar nicht mehr; ich bin mir sowieso unsicher, was sie speichern und welche Teile der Anwendung auf sie zugreifen …« oder »Sie wissen ja, wie das ist mit diesen redundanten Daten …«

Sicherlich ist es für einen externen Berater immer sehr einfach, hier und dort Fehler zu entdecken und gegenüber dem akademisch Korrekten in der Realität Unstimmigkeiten auszumachen. Die Begründungen lassen sich auch wieder in passender Literatur finden, in denen die Software-Entwicklung mit Gruppensozio-logie und Psychologie Hand in Hand geht. Die Gründe und Verhaltensmuster, die zu solchen Unstimmigkeiten und vor allen Dingen nachträglichen hohen Kosten hinsichtlich von Änderungs- und Wartungsarbeiten führen, sind theoretisch gut bekannt und vermutlich jedem Leser aus der eigenen Berufspraxis geläufig. Dies führt dann auch zu solchen ironischen Äußerungen anderer Branchen und Be-rufsgruppen, die auf die möglichen negativen Konsequenzen eingehen, die sich ergeben, wenn technische Konstruktionen wie Atomkraftwerke und Flugzeuge mit ähnlicher Qualität wie Software geplant und konstruiert werden würden.

Es ist allerdings – und das möchten wir auch genauso spitz formulieren, wie wir es jetzt machen – höchst unverständlich, warum Fehler, die über dreißig Jahren lang in Entwicklungsprojekten mit Datenbanken gemacht wurden, nun in viel auf-fälligerer Form auch in XML-Projekten wiederholt werden. Dies gilt umso mehr, wenn man sich vor Augen führt, dass XML eine derart neue Technologie ist, dass

Page 18: XML-Einführung und DTD - Comelio Medien · DTD (Document Type Definition), welcher ebenfalls mit XML selbst in der glei-chen Spezifikation erläutert wird, und der eine der beiden

37

1. XML-Einführung und DTD 1

es wohl nicht übertrieben ist, wenn man Folgendes behauptet: Die Fehler in XML-Anwendungen werden genau heute gelegt. Genau in den Momenten, in denen wir diese Zeilen schreiben und in denen Sie in einigen Monaten diese Zeilen lesen, werden Entwickler alles Mögliche machen – und das sind im XML-Bereich offen-sichtlich viele Fehler.

Uns sind nur ganz wenige Projekte begegnet, in denen Daten für eine XML-Anwen-dung korrekt modelliert wurden. Wir möchten nur bereits an dieser Stelle erneut betonen, dass die bloße Einfachheit, die mit XML prinzipiell einhergeht, nicht dazu führen darf, dass in dieser Sekunde die Grundlagen dafür gelegt werden, dass die oben zitierten Äußerungen für die in dieser Sekunde entwickelten Anwendungen ebenfalls gelten. Es ist zwar unwahrscheinlich, dass XML-Anwendungen eine so lange Laufzeit haben wie Anwendungen, die mit Datenbanken arbeiten, doch bei kürzerer Laufzeit mag man sich sogar noch an die Leute oder die Gruppe erin-nern, die »damals« die Fehler in die Anwendung einbrachten, mit denen heute zu kämpfen ist oder die wenigstens regelmäßig zu den zitierten Äußerungen führen.

Ä Validierung

Mit XML Schema oder der Document Type Definition (beides Techniken vom W3C) lassen sich Regeldokumente erstellen, die die Eingabedaten einer XML-Anwen-dung beschreiben. Über die Bedeutung dieser Modellierung wollen wir nicht er-neut ein Wort verlieren, denn unsere Hochachtung trat sicherlich schon deutlich genug in und zwischen den Zeilen hervor. Sie ermöglichen eine genaue Angabe der inhaltlichen Strukturen und im Falle von XML Schema sogar der textuellen In-halte in Form von gut entwickelten Datentypen. Die inhaltlichen Strukturen lassen sich in beiden Syntaxalternativen beschreiben, indem Bezeichner für Elemente und Attribute, die Häufigkeit bzw. das Auftreten von Elementen und die Hierar-chie- und Reihenfolgenbeziehungen angegeben werden.

Ein erster Schritt einer einfachen XML-Anwendung besteht daraus, das eingehen-de XML-Dokument zu validieren, d.h. darauf zu überprüfen, ob es die Forderun-gen aus dem Regeldokument erfüllt.

Nur solche Dokumente dürfen dann in die Transformation eingehen. Erst in einem zweiten Schritt wird dann die Transformation durchgeführt. Fehler, die dann noch auftreten, können sich eigentlich nicht mehr auf Fehler im Eingabedatenstrom selbst, sondern nur noch auf Fehler im XSLT-Dokument beziehen.

Page 19: XML-Einführung und DTD - Comelio Medien · DTD (Document Type Definition), welcher ebenfalls mit XML selbst in der glei-chen Spezifikation erläutert wird, und der eine der beiden

38

1. XML-Einführung und DTD1

Die gesamte Validierung stellt auf jeden Fall einen eigenen Schritt dar, der zeitlich vor der Transformation oder der sonstigen Verarbeitung liegt. Er ist jedoch opti-onal und wird nicht immer durchgeführt. Er sollte allerdings dafür sorgen, dass nur solche Dokumente in die Transformation eingehen, die auch erwartet werden.

Zusätzlich sorgt er für gewöhnlich motivierend dafür, dass man sich eingehend mit den Techniken der Modellierung, einer geeigneten Syntax und dann auch mit den wirklich vorhandenen oder für die Anwendung bereitzustellenden Datenstruktu-ren auseinander setzt.

Ä Transformation

Das Kernstück einer einfachen XML-Anwendung besteht dann aus der eigentlichen Transformation, für die neben dem XML-Eingabedokument ein XSLT-Dokument er-wartet wird. Es ist technisch nicht ganz korrekt, im Zusammenhang mit XML von Dokumenten zu sprechen, denn theoretisch können alle Strukturen, die bisher immer als Dokument bezeichnet wurden, auch in Form von Variablenwerten oder in Form von ausgelesenen Datenbankergebnissen und nicht als tatsächlich auf der Festplatte vorhandene Datei auftreten.

Der neutrale Begriff, der zu verwenden wäre, um nicht von vorneherein immer an Dateien zu denken, ist »Datenstrom« oder in Kombination mit »Eingabe-« und »Ausgabe-« auch »Eingabestrom« oder »Ausgabestrom«. Da die XSLT-Syntax letzt-endlich auch ganz gewöhnliche XML-Dokumente erzeugt, könnte man sogar von einem »Transformations(daten)strom« sprechen, denn auch diese Bestandteile lassen sich in einer Datenbank speichern und zur Laufzeit gerade auch ohne Datei-zugriff in den Zwischenspeicher laden.

Für die Verwendung von XSLT gibt es noch einige zusätzliche Bestandteile, die teilweise nur für spezielle Prozessoren zugänglich sind oder teilweise auch in der Spezifikation und damit überall verfügbar sind.

Prozessoren bieten eine Vielzahl an Funktionen, die nicht im Standard vorgese-hen sind und die teilweise die Entwicklung von Algorithmen sehr vereinfachen. Allerdings erschweren sie einen Umstieg auf einen anderen Prozessor, weil die Funktionen des einen Prozessors nicht die gleichen eines anderen Prozessors sind. Zusätzlich erlauben viele Prozessoren eine eigene Fehlerbehandlung wie z.B. das Zuweisen von Textdateien, in denen die Fehlermeldungen gesammelt werden.

Page 20: XML-Einführung und DTD - Comelio Medien · DTD (Document Type Definition), welcher ebenfalls mit XML selbst in der glei-chen Spezifikation erläutert wird, und der eine der beiden

39

1. XML-Einführung und DTD 1

In der XSLT-Syntax sind dann zusätzlich Möglichkeiten für dateibasierte Ausla-gerung und Wiederverwendung und die Verwendung von lokalen und globalen Parametern gegeben. Während Ersteres bereits sehr mit der Syntax von XSLT zusammenhängt, stellt der Einsatz von globalen Parametern eine nützliche Tech-nik dar, die sich nur über einen Prozessor realisieren lässt. Ihm muss nämlich die aufrufende Anwendung geeignete Werte übergeben. Dadurch lassen sich die die Transformation beeinflussenden oder zu verarbeitenden Werte übernehmen und sehr flexible Transformationen einrichten.

Ä Zusammenhang

In der Abbildung 1.2 sind noch einmal die verschiedenen Technologien vom W3C und auch anderen Organisationen zusammen gestellt, die sich mit XML beschäf-tigen.

.xml

.xslt.xsl (FO)

AbfrageTransformationVerarbeitung

.html.xml

.pdf.rtf

.xsd.dtd

Regeln Daten Transformation/ Abfrage

Validierung

AusgabeValidierung Transformation

.txt.csv.sql

XPath.xquery

.NETJavaPHP

T-SQL / PL/SQLDatenbank

Abbildung 1.2: Zusammenhang der XML-Technologien des W3C

Die Daten stammen entweder aus Formularen und damit einer Eingabe oder aus einer Datenbank (relational oder direkt in XML gespeichert) und werden von ei-nem Regel-Dokument validiert und beschrieben. Die Verarbeitung kann über XSLT oder mit Funktionsbibliotheken einer Programmiersprache erfolgen. Zusätzlich oder auch ohne weitere Transformation kann man XML-Daten abfragen.