XML-Technologien

Werbung
XML-Technologien
XML-Technologien
Die Comelio GmbH setzt seit vielen Jahren XML -Technologien in
Software-Projekten ein. Dazu zählen:

Datenmodellierung mit XML Schema, DTD und RelaxNG

Präsentation mit XSLT, XSL -FO

Integration in und mit Datenbanken wie MS SQL Server und Oracle

Erstellung von Schnittstellen für Import/Export oder für Service -Orientierte Architekturen

Semantische Technologien mit RDF und OWL

Projekte mit XML

Umfangreiche Konfigurations möglichkeiten mit XML zur Berichtserste llung für Befragungsauswertungen

Viele Beratungsprojekte zum XML -Einsatz

Projekte mit Einsatz von semantischen Technologien auf XML -Basis

Projekte zur Daten -Integration mit Validierung und Transformation über
XML
XML (eXtensible Markup Language)
Das Akronym XML steht für „eXtensible Markup Language“, auf Deutsch: erweiterbare Auszeichnungssprache, die vom Standardisierungsgremium W3C unter Beteiligung einer Reihe von
Firmen und Fachleuten entwickelt und als Technologie betreut wird. Im Wesentlichen handelt
es sich um ein Textformat, das lediglich die Strukturregeln für den Aufbau von Beschreibungsund Nutzdaten festlegt und das für beliebige Anforderungen im Bereich der Datenspeicherung/-abbildung geeignet ist. Dabei gibt es eine Reihe von Grammatiken, die den allgemeinen
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 reine Datenspeicherung/-abbildung verwendbar sind, oder die zusammen mit einer entsprechend entwickelten Software nahezu beliebige Aufgaben lösen können.
XML-Einsatz bei der Software-Entwicklung
XML-Veröffentlichungenunserer Mitarbeiter
XML - Standards und Technologien
XSLT, XPath und XQuery
XSL-FO
XML Schema
Oracle, PL/SQL und XML
MS SQL Server - XML und SOAP-WebServices
Seminare zu XML -Technologien
XML-Grundlagen
XSLT und XSL-FO
XML Schema
XML und MS SQL Server
XML und Oracle
XML und C#.NET, XML und Java sowie XML und PHP
Prüfungsschema von XML-Dokumenten
XML nun erlaubt die Definition eigener Auszeichnungsbefehle, die ausschließlich für die
Textstruktur (und gerade nicht für Layout oder Darstellung) eingesetzt werden sollten. Zwar
gibt es einige Praxisfälle, in denen auch Layoutregeln in XML umgesetzt werden. Man sollte
diesem Beispiel unter keinen Umständen folgen, sondern diese Regelungen ausschließlich in
die verwendeten XSL-Dokumente auslagern. Es ist nicht immer leicht, Kunden, die Layout in
XML unterbringen, vom Gegenteil zu überzeugen, können sie doch wunderbar mit XSL auf die
Layoutregeln zugreifen, wodurch am Ende weiterhin wunderschöne PDF- und HTMLDokumente entstehen. Aber für die Zukunftstauglichkeit und die langfristige Datenstrukturierung und -speicherung lohnt eine vollständige Trennung von Layout und Inhalt bzw. der Semantik mit Hilfe der XML-Dokumente und der XSL-Dokumente.
Hier muss sprachlich noch einmal deutlich gesagt werden, dass es sich bei den XMLDokumenten stets um Instanzdokumente handelt, die korrekt auf bereits existierenden Regeldokumenten beruhen. In Wirklichkeit gibt es ja nicht „das“ XML-Dokument, weil XML ja ausschließlich ein Konzept oder eine Technologie für die Verwendung und Entwicklung von eigenen Auszeichnungssprachen ist. Tatsächlich bezeichnet man ein XML-Dokument als ein solches, weil Textstücke mit Hilfe von Elementbezeichnungen in spitzen Klammern ausgezeichnet
worden sind. Diese Syntax, also die Definition der verschiedenen Elementnamen etc., wiederum ist letztendlich immer in einem Regeldokument abgelegt, sodass vor der Verwendung
eines Instanzdokumentes oder dem, was bis jetzt immer als XML-Dokument bezeichnet wurde,
regelmäßig die Entwicklung eines Regeldokuments liegt.
Typische Dokumenttypen in einer XML-Anwendung
Die Abbildung soll die verschiedenen Doku-
Umfeld denken wie z.B. solche mit semanti-
menttypen und deren jeweilige Aufgaben bei
schen Informationen oder solche, die zur
der Verwendung von XML kennzeichnen.
semantischen Untersuchung und Abfrage
Wie man sich leicht vorstellen kann, benötigt
von existierenden Instanzdokumenten die-
man in einer kompletten Anwendung noch
nen. Daher handelt es sich bei der Schema-
mindestens ein Dokument mit entsprechen-
darstellung um das Grundprinzip oder auch
dem Quelltext, das die Transformation star-
um die Minimalanforderungen einer XML-
tet oder mit den benötigten Parametern
Anwendung mit den folgenden Dokumentty-
versorgt. Zusätzlich lassen sich weitere Do-
pen:
kumente und Strukturen aus dem XML-
XML-Instanzdokument
Es basiert auf einem Regeldokument und
und die Reihenfolge sowie die Benennung
befolgt die dort genannten Strukturregeln in
von Elementen sowie entsprechende Daten-
Hinblick auf das Vorkommen, die Häufigkeit
typen.
XSD-Regeldokument
Es definiert die Strukturregeln im Hinblick
getroffenen Regelungen halten, wobei die
auf das Vorkommen, die Häufigkeit und die
Prüfung
Reihenfolge sowie die Benennung von Ele-
Transformationsdokument sicherstellt, dass
menten sowie von entsprechenden Datenty-
die Transformation durch den Zugriff auf die
pen. Seine Inhalte sind bei der Prüfung wich-
vorhandenen Elemente mit ihren sonstigen
tig, ob die Instanzdokumente sich an die
Eigenschaften erfolgreich verläuft.
für
das
XSL-
XSL-Transformationsdokument
In ihm sind die Transformationsregeln für die
Regeldokument exakt eingehalten werden,
Umwandlung der XML-Datenströme in ande-
da es selbst auf diese Regelungen zurück-
re Formate enthalten. Es ist darauf angewie-
greift, um Elemente zunächst zu identifizie-
sen,
ren und dann auch zu verarbeiten.
dass
die
Regelungen
im
XSD-
Wohlgeformtheit und Gültigkeit
Für die Überprüfung gibt es zwei Dimensionen, in denen unterschiedliche Ergebnisse
erreicht werden können:
Wohlgeformt
Ein XML-Dokument ist wohlgeformt, wenn
Elemente extra ausgezeichnet und die allge-
die Syntax korrekt eingesetzt wird, d.h., At-
meinen Regeln der Namenskonvention be-
tribute in Anführungszeichen gesetzt, leere
achtet werden:
Das erste Zeichen eines Namens muss ein Buchstabe, ein Unterstrich oder ein Doppelpunkt sein.
Gültige Zeichen sind Buchstaben, Unterstriche, Ziffern, Bindestriche sowie Punkte und
Doppelpunkte.
Streng verboten ist die Verwendung des Wortes XML in all seinen Varianten als Namensbeginn, da geschützt ist.
Gültigkeit
Ein XML-Dokument ist gültig, wenn die be-
genügt, d.h. soweit die Regelungen des Ent-
nutzte Tag-Struktur der Anwendungslogik
wicklers erfüllt sind. Diese Regeln befinden
oder dem inhärenten Sinn des Dokuments
sich in einem XML Schema-Dokument.
Ziel sollte also stets ein wohlgeformtes – da
chenden Schema-Dokuments mit Verwen-
sonst ein allgemeiner Fehler auftritt – und
dungsangaben abhängt. Der Einsatz eines
gleichzeitig gültiges Dokument sein – da
solchen Schema-Dokuments führt entweder
sonst ein spezieller Fehler in der Anwen-
zur Erkenntnis, dass das Instanzdokument
dungslogik auftritt.
gültig im Sinne des Schema-Dokuments ist
Im Ergebnis hat man also zwei Prüfungs-
oder nicht. Gültig und wohlgeformt ist also
schritte: zum einen die Prüfung auf Wohlge-
zur gleichen Zeit erstrebte Ziele, da sie zum
formtheit (Syntaxprüfung) und zum anderen
einen nachweisen, dass die Regelungen des
die
(Verwendungsprü-
XML-Standards erfüllt sind und zum anderen
fung). Letztere muss nicht unbedingt erfol-
die Regelungen des Schema-Dokuments be-
gen, da sie von der Existenz eines entspre-
folgt wurden.
Gültigkeitsprüfung
Auswahl an XML-Standards
Für die Verarbeitung, Validierung und sonstige Nutzung von XML sowie die Speicherung 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 Industrievereinigungen, Vereinen oder beliebigen Zusammenschlüssen erstellt worden.
Sie lassen sich in unterschiedlichen Gruppen einordnen, die in der Abbildung angegeben sind.
Die Liste an möglichen Standards ist keinesfalls abschließend. Es gibt sicherlich 30 bis 50 Standards, die diesen Namen verdienen und eine hinreichend große Reichweite aufweisen. Einige
der Standards, die insbesondere für die Abbildung von Datenmodellen existieren, welche von
vielen Unternehmen/Organisationen 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
Schemata, 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 herausragendes Werkzeug XML ist. XML
Schema ist eine XML-Grammatik, welche XML-Dokumente modelliert und mit der man XMLDaten 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 verstanden werden
können, die aber dennoch für die Nutzung von XML in den einzelnen Programmiersprachen
intensiv genutzt werden. Dabei handelt es sich um spezielle Bibliotheken für die Verarbeitung
oder Erstellung von XML-Daten. Als Beispiel ist in der Abbildung XMLReader und XMLWriter
enthalten, zwei sprechende Namen, die tatsächlich so in verschiedenen Programmiersprachen
als Klassen/Namensräume/Pakete im jeweiligen Framework der Sprache enthalten sind.
Vorteile von XML
XML bietet eine Reihe von Vorteilen, welche die schnelle und umfassende Verbreitung sehr
gefördert haben. Teilweise befürchten insbesondere Datenbankprogrammierer und Administratoren, XML könnte in irgendeiner Weise eine Datenbank 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-Produkten ermöglicht, sich
diese neue Technologie der Datenspeicherung und –abbildung gleichfalls einzuverleiben.
Zu den gerade genannten Vorteilen von XML im Gegensatz zu CSV und insbesondere sonstigen
Protokollformaten zählen u.a. die folgenden:
Einfachheit
XML ist, wenn man sich grundlegend damit
meinen Datenmodellierung. Doch die Ähn-
beschäftigt, ein sehr einfacher Standard, der
lichkeit mit einer noch einfacheren Syntax
durch die starke Verbreitung von HTML nur
und die gute Lesbarkeit von XML-Strukturen
wenig Neues für HTML-versierte Entwickler
im Gegensatz zu Protokollen begünstigen
bietet. Damit ist allerdings auch schon die
eine starke und vor allen Dingen schnelle
erste Problemstelle aufgedeckt, denn mehr
Verbreitung. HTML bzw. seine wohlgeformte
als die spitzen Klammern, die Verwendung
Variante XHTML dagegen entspricht einer
von Attributen und der korrekten Verschach-
gegebenen Modellierung von Strukturen in
telung haben HTML und XML nichts gemein-
XML, die für die Inhaltspräsentation in so
sam. Stattdessen dient XML dem allgemei-
genannten Browser-Programmen eingesetzt
nen Datenaustausch und der ebenso allge-
werden kann.
Vielseitiger Einsatz
Da – wie gerade schon erwähnt – XML für
kommagetrennte Werte verwenden oder
die Datenmodellierung und den Datenaus-
aus XML heraus solche CSV-Werte erstellen
tausch eingesetzt werden kann, ist es ebenso
oder den umgekehrten Weg beschreiten,
vielseitig verwendbar wie eine Datenbank.
und aus CSV-Daten XML-Strukturen generie-
Praktisch überall dort, wo Daten anfallen,
ren müssen. Vielseitige Verwendung für Da-
ausgetauscht und verarbeitet werden, lässt
ten in Textform oder mit notwendigen Ver-
sich eine Lösung grundsätzlich auch in XML
schachtelungen und komplexen Strukturen,
denken. Aus technischen Einschränkungen
die in relationalen Datenbanken nicht akzep-
heraus oder aufgrund von zusätzlichen An-
tabel abgebildet werden können, zeichnen
forderungen ist dies nicht immer die endgül-
XML aus. Gerade hinsichtlich des Datenaus-
tige Wahl, doch ließe sich wenigstens eine
tauschs zwischen verschiedenen Datenban-
Alternativ-Lösung in XML denken. Dies liegt
ken gibt es viele gemischte Lösungen, die
nicht daran, dass XML besondere Fähigkeiten
gleichzeitig XML und Text in Form von CSV
hat, sondern schlichtweg daran, dass es eine
oder auch SQL verwenden. Dabei werden oft
gute Möglichkeit ist, Daten zu verarbeiten.
die verschiedenen Textformate aus XML-
Nichtsdestotrotz wird man für allereinfachs-
Strukturen heraus generiert.
te
Datenaustauschziele
weiterhin
auch
Gute Lesbarkeit
Im Gegensatz zu kommagetrennten Werten
ist unter den beiden Stichwörtern Nutzdaten
oder gar Protokollen, welche Daten durch
und Beschreibungsdaten bekannt. Sind dazu
XML-ähnliche Steuerzeichen trennen, bietet
diese Daten auch noch sehr kurz, kann der
XML im Normalfall eine schnell zu verste-
Fall eintreten, dass sogar mehr Dateispei-
hende Lesbarkeit. Lange Dokumente oder
cherplatz für die XML-Strukturen verwendet
tief verschachtelte Strukturen eignen sich
wird als für die eigentlichen Daten. Dies soll-
zwar nicht notwendigerweise für eine direk-
te allerdings bei heutiger Festplattengröße
te Lektüre ohne Transformation in ein tabel-
sowie
len- oder listenorientiertes Format, aber bei
keit einen zu vernachlässigenden Aspekt
gut gewählten Bezeichnern und einem
darstellen. XML-Daten sind natürlich nur
grundlegenden Verständnis des Themas oder
dann gut lesbar, wenn die XML-Tags, welche
der modellierten Datenstrukturen wird eine
die Daten auszeichnen, für den Leser ver-
XML-Datei durch die Auszeichnung mit Hilfe
ständlich sind. Gerade in speziellen Anwen-
der XML-Tags immer einfacher und besser zu
dungen im Finanz-, Wissenschafts- oder
lesen sein als kommagetrennte Werte ohne
Technikbereich benötigt ein dem Gebiet
Auszeichnung oder Protokolldaten mit kryp-
grundsätzlich fern stehender Leser dann eine
tischen Steuerzeichen. Ein frühes Gegenar-
entsprechende Übersetzungshilfe. Es entfällt
gument, das bei der Verwendung von XML
allerdings das bei CSV-Daten übliche Zählen
auftauchte, beruhte darauf, dass durch die
(und vor allen Dingen Verzählen) von Positi-
Auszeichnung der Daten sehr viel Speicher-
onen, was gerade bei breiten Strukturen mit
platz einer Datei allein für die Datendarstel-
vielen einzelnen Feldern Hürden für die Da-
lung und –aufbereitung verwendet wird. Dies
tenzugänglichkeit aufbaut.
Netzwerkübertragungsgeschwindig-
Standardisierung
Protokolldaten in unterschiedlichen Syste-
nicht überschätzt werden, weil die bedeu-
men bzw. Industriezweigen beruhten und
tenden IT-Unternehmen mit entsprechender
beruhen natürlich auch heute noch auf Stan-
Marktmacht selbstverständlich alle auch im
dardisierungsabkommen zwischen Unter-
W3C Mitglied sind und dort auch Einfluss
nehmen und Organisationen. XML oder das
ausüben. Doch zumindest handelt es sich um
W3C bieten auch keine Möglichkeiten, Da-
ein Gremium, das nicht durch schiere
tenstrukturen für jedweden Einsatzbereich
Marktmacht dominiert wird, sondern seine
einfach von der W3C-Webseite herunterzu-
Entscheidungen in einem Prozess trifft, in
laden und direkt weiterzuverwenden, aber
dem viele Parteien eingebunden sind. Neben
der Grundansatz und das theoretische Fun-
dieser Standardisierung, welche die Basisar-
dament von XML sowie angrenzende Tech-
chitektur und damit die allgemeinen Berei-
nologien wie XML Schema, XSLT, RDF oder
che Modellierung, Validierung, Abfrage und
XML Topic Maps liegen jeweils als Standards
Umwandlung betrifft, gibt es eine Reihe von
vor. Viele Industriezweige besitzen Schemata
Versuchen, für bestimmte Sinnzusammen-
für ihre Datenstrukturen, welche weit ver-
hänge Referenzmodelle und sogar feste
breitet sind und sich auch gut verwenden
Standards zu etablieren, welche den Daten-
lassen. Im Gegensatz zu Protokollen, in de-
austausch noch weiter vereinfachen, da eine
nen zumindest dieser Zustand auch vor-
Umwandlung komplett entfällt. Man kann
herrscht(e), bietet die Verwendung von XML
nicht erwarten, dass jeder Datenbereich
mit XSLT eine wirklich sehr einfache Mög-
überhaupt beschrieben wurde oder gar so
lichkeit, Daten auszutauschen und in andere
gut modelliert wurde, dass die Modellierung
Formate zu transformieren bzw. über das
exakt für das eigene Problem genutzt wer-
gesamte Namensraumkonzept auch Daten
den kann. Doch lohnt sich immer die Überle-
mit gleicher Auszeichnung oder fremden
gung, ob möglicherweise ein solcher Stan-
Strukturen zu mischen und weiterhin ge-
dard existiert, um wenigstens Anregungen
trennt zu adressieren und zu verarbeiten. Die
und Denkanstöße zu erhalten. Teilweise
Vorteile der Standardisierung bei XML liegen
droht man allerdings auch, das Rad neu zu
also im Wesentlichen nicht darin, dass es
erfinden, sodass eine Kontrolle, ob ein Mo-
eine große Auswahl an Standard-Schemata
dellierungsversuch vorliegt, teilweise auch zu
gibt, sondern vielmehr, dass die Grundkon-
der Erkenntnis führt, dass andere Organisa-
zeption (XML selbst), die einfache Datenmo-
tionen (Unternehmen, Regierungen und
dellierung (XML Schema), die semantische
sonstige Körperschaften) bereits umfangrei-
Datenmodellierung (RDF, XTM, OWL), die
che Modellierungsarbeiten geleistet haben
Adressierung (XPath, XQL) sowie die Trans-
und daher die Entscheidung, einen eigenen
formation (XSLT, XSL-FO) herstellerungebun-
Weg zu gehen, bereits erfordert, für dieses
den vom W3C durchgeführt werden. Die
Verhalten eine gute Begründung zu finden.
Herstellerungebundenheit
darf
natürlich
XML-Standards wie XML Schema, DTD, OWL, RDF, XSLT, XPath, XQuery in einer Übersicht
Aufgabenstellungen mit XML-Einsatz
Schnittstellen
Erstellung einer Import-/Export-Schnittstelle
grammen relationale Daten mit sich wieder-
auf Basis von XML, wobei aus relationalen
holenden Datensätzen, Verknüpfungen und
Daten XML-Daten in einem bestimmten
Hierarchien in Form von XML zusammenset-
Format aus der Datenbank exportiert und
zen, während beim Import-Vorgang dagegen
XML-Daten in einem bestimmten Format in
eine Zerlegung von XML stattfinden muss,
die Datenbank exportiert werden sollen.
um die vorhandenen relationalen Strukturen
Dabei müssen Sie für den Export-Vorgang
direkt aus dem XML zu befüllen.
mit Hilfe von Abfragen oder geeigneten Pro-
Datenbank-Einsatz
Integration von XML in der Datenbank, wo-
Zerlegung wünscht oder aufgrund von eher
bei nun einzelne Felder oder der gesamte
dokumentenorientierten Strukturen auch
Datensatz einer Tabelle in Form von XML aus
nicht erreichen kann und XML hier anstelle
einer
Import-
von binären großen Objekten oder langen
Vorgang übernommen wird. Hierbei liegt die
Zeichenketten zum Einsatz kommt, da die
Aufgabenstellung so, dass man für ausge-
XML-Verwendung für die Anwendungsent-
wählte Datenelemente keine relationale
wicklung eine Reihe von Vorteilen bringt.
Anwendung
oder
einen
Serviceorientierte Architekturen (SOA)
Erstellung und Bereitstellung von Webservices für die Integration von mehreren Anwendungen auf unterschiedlichen Plattformen oder in verschiedenen Programmiersprachen.
Verarbeitung und Transformation
Allgemeine Verarbeitung von XML, wo-
XML Schema-Datenstrukturen und –
bei in diesem Aufgabengebiet eine Reihe
regeln, Transformation und Verarbeitung
von allgemeinen Arbeiten durchgeführt
von gespeicherten oder übernommenen
werden, die sich typischerweise bei XML-
XML-Inhalten mit den Werkzeugen DOM
Anwendungen stellen und in diesem Fall
(Document Object Model) oder XSLT
mit Hilfe der jeweiligen Programmier-
(eXtensible Stylesheet Language for
sprache und sogar innerhalb einer Da-
Transformations) sowie die Durchfüh-
tenbank umgesetzt werden können. Zu
rung von Abfragen auf XML-Daten unter
diesen Standardaufgaben gehören: Vali-
Verwendung von XPath oder XQuery.
dierung von XML-Daten auf Basis von
Herunterladen