XML

Die EXtensible Markup Language ist eine Untermenge von SGML

Witz an XML

Trennt wie SGML die Logische Struktur von der Darstellung, ist aber nicht so umfangreich.
XML ist eine Metasprache, mit der diverse Sprachen formuliert werden können.

XML wird normiert vom W3C. Aktuell ist http://www.w3.org/TR/2000/REC-xml-20001006

Einsatzgebiete

Cross-Media Publishing
Ein Text/Dokument soll z.B. im Internet, auf CD und als Buch herauskommen
Dies wäre auch etwas für unsere Arbeiten hier auf unserem Technologieportal.
WWW
Universelles Datenaustauschformat
Dokumente können als Objekte (die wiederum aus mehren Teilobjekten zusammengesetzt werden) angesehen werden.
Der Vorteil ist, daß das Format mit universellen XML-Werkzeugen verarbeitbar ist.
Webservices
Man beachte aber auch unsere Kritik.

Teile

Typbeschreibung

XML_Dokumente haben eine DTD ( DocumentTypDefinition)
formale Strukturbeschreibung eines SGML/XML-Dokuments. Hier wird also spezifiziert, welche Tags mit welchen Attributen erlaubt sind.

Kritik: nicht genug Ausdruckskraft (z.B. keine genauen Elementartypen), noch nicht mal selber XML und zu komplizierte Syntax.

XML Schema besteht aus Structures und Datatypes

Aktueller Status des XML-Schemas

Eine solche Schemadefinition definiert ein XML-Dokument noch genauer und mit genauen Typbeschreibungen für die Inhalte.
Es sind sogar Vererbungen möglich.
Es erinnert sehr an Objektorientierte Programmiersprachen und Datenbanken.

Hinweise zur Konstruktion von DTD/Schemata d.h. Sprachen

Transformation in andere Formate

XSL
dient zur Generierung von anderen Repräsentationen wie RTF,PDF,Postscript und fällt in 2 Teile: Mit Xpath-Ausdrücken kann man Teile eines XML-Dokuments selektieren. XSLT-templates referenzieren so ihre Muster, daneben gibt es noch andere Anwendungen.
TeXML von IBM
ist ein Zwischenformat für TeX
Alternativen zu XSL
Vor XSL gab es schon lange DSSSL (bei SGML)
und daneben gibt es

APIs für Bibliotheken zur Bearbeitung von XML-Dokumenten

Allgemein/programmiersprachenunabhänig

SAX: Simple API for XML
DOM: Dokument Objekt Model

Java

JAXP
ist die Java Api for XML Processing mit SAX und DOM
jdom
SAX und DOM sind in erster Linie API-Klassen, die verschieden implementiert werden können. Dahingegen sit jdom eine Bibliothek, die sich besser in Java integriert
dom4j
ähnlich jdom, performanter
XOM
ähnlich jdom, performanter
JAXB JavaArchitecture for XML-Binding
Aus XML-XML_Schema werden Klassen generiert und aus Klassen wird XML-Schema generiert [Wikipedia]
Oracle Documentation zu JAXB

.Net/C#

Hier gibt es mehrere Abstraktionsstufen:

XMLReader
Pull-Modell, iterator über XML-Dokumente
LINQ XML
abstrakte Abfragen auf XML-Dokumente
Serialisierung/Deserialisierung mit Generator xsd
Hier wird ein XML als Objekt deserialisiert und seralisiert

Vergleiche

C++

Apache Xerces-C++
vollständige, aber umfangreiche Bibliothek
Rapid-XML
templatebasiertes DOM-Modell, man muss nur ein Header einbinden
Github

Visual Basic und XML-SAX

Microsofts Developper Network: How Do I Use SAX ?

Programme

sollten auf Dokument Object Model basieren.

Prognose aus [minert2000]: In Zukunft werden

alle mit XML umgehen können.
(Damit ist der Austausch von Dokumenten, die mit Programmen verschiedener Hersteller generiert worden ist (WORD,StarOffice,FrameMaker,...) überhaupt kein Problem mehr.)
Beziehung zu Datenbanksystemen

standardisierte XML-Dokumentypes/Schemas

XHTML XML-Version von HTML
aufgegeben worden ???
SVG - Scalable Vektor Graphik
MathML
xlink

Style-Sheets

DokBook
Version 4.1.2 ist nun in XML (Beispielsweise die Dokumentation von BIND nutzt DokBook.)

Bob Stayton: "DocBook XSL: The Complete Guide", u.a. MathML in Docbook

Sonstiges

Diverse Details zu XML
XML-Validierungsdienst, wo man URLs aus dem Netz validieren kann.
Umfangreiche Linksammlung zum Thema.
Interessant ist, daß hier alle, sogar Microsoft und Sun, Beiträge liefern...
XML-Hacks vom E-Tutorial

Wichtige Einführungen und Links

http://www.xml.org/
Seiten der XML-Industrie, hier gibt es unter anderm Schemas zu allen möglichen Zwecken
http://www.xml.com/
Inhaltsreiches XML-Portal
Deutsche Übersetzung vom XML1.0-Standard-Dokument
Wikipedia über XML
XML-Bemerkungen von SELFHTML
Henning Behme und Stefan Mintert: XML in der Praxis
Technologies for the future WeB
Einführung in diverse XML-Techniken
XML-Bible
XML für WWW-Designer
SGML Center mit vielen Papers
XML2DAY
Hier ist ein Portal zum Thema XML mit Nachrichten, Literatur, Seminar-Angeboten und Grundlagen.
Literatur

Programmierung

Processing XML mit Java

Optimierte Speicherungen

Eine Studie in einem proprietären FundE-Projekts ergab, dass bei einer Transformation von binären Nachrichten (in "handgestrickten" Format) in unkomprimierte XML-Nachrichten die Grösse XML/Binär - Größe ungefähr 10 ist. - damit ist aus Performancegründen I/O-Durchsatz, Speicherverbrauch usw. bei vielen Anwendungen der Einsatz nicht oppertun.

Wikipedia über Binäres XML zeigt Lösungen auf, die man aber mit anderen traditionellen Objektpersistenzmechanismen vergleichen sollte.


Informatik- und Netzwerkverein Ravensburg e.V Rudolf Weber