XML – Extensible Markup Language

XML ist eine Metasprache die als Klartext im Textformat gespeichert wird und von der W3C (World Wide Web Consortium) entwickelt wurde. Dies macht das Erstellen und Bearbeiten einfach und flexibel. Die Extensible Markup Language ist eine Auszeichnungssprache zur Darstellung hierarisch strukturierter Daten und findet ihr Haupteinsatzgebiet im Web Publishing sowie im Web Service.

Die offizielle Definition der W3C lautet übersetzt:

Die Extensible Markup Language, abgekürzt XML, beschreibt eine Klasse  von Datenobjekten, genannt XML-Dokumente, und beschreibt teilweise das Verhalten von Computer-Programmen, die solche Dokumente verarbeiten. XML ist ein Anwendungsprofil (application profile) oder eine eingeschränkte Form von SGML, der Standard Generalized Markup Language [ISO 8879]. Durch ihre Konstruktion sind XML-Dokumente konforme SGML-Dokumente. 


Ursprünglich ist XML also von SGML (Standard Generalized Markup Language) abgeleitet und war ursprünglich dazu gedacht, groß angelegte Datenmengen elektronisch zu publizieren. Inzwischen wird es als der Nachfolger von HTML angesehen.

Vorteile von XML

  • einfache Implementierung und Zusammenarbeit mit HTML und SGML
  • strikte Trennung von Daten und Datenverarbeitung
  • Menschen und Maschinen können Adressaten von XML Dokumenten sein
  • Standardisiertes Verfahren welches mit Standardwerkzeugen bearbeitet werden kann
  • Standatisierte Verabeitungsmodelle
    • SAX – Parser
    • DOM – Parser
  • Einfachheit
    • Unabhängigkeit von Formaten
    • einfache Transformation in andere Zielformate
    • schnelle Validierung durch einfache Syntax
  • Schnittstellen zwischen Applikationen
  • Datenaustausch
    • SOAP
    • OAI
    • EDI
  • beliebige Komplexität abbildbar
  • selbstbeschreibend
  • große Akzeptanz von Seiten der Industrie

[ad#co-3]

Nachteile von XML

  • Daten – Overhead
    • großer Speicherbedarf durch textbasierte Formate
    • höhere Übertragungsmenge
    • langsame Verarbeitung als bei beispielsweise Relationale Datenbanken
  • Fehlende Skalierbarkeit
    • schlechte Performance bei Datenhaltung
    • mögliche Abhilfe durch Kombination mit Datenbanken
  • fehlender Mechanismus zum Beschreiben von Beziehungen / Entitäten

Aufbau eines XML-Dokumentes

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

<internet>
	<website id=“itblogging.de”>
		<leeres Feld />
		<Thema>Informatik</Thema>
	</website>
	<website id=“maximiliankrauss.net”>
	…
</internet>

Erläuterung

  • Im Header werden Informationen über die Version, das encoding sowie anderen Metadaten angegeben
  • < internet > ist ein Top-Level Tag
  • Informationen werden grundsätzlich nur innerhalb eines Tags gespeichert
  • Jedes geöffnete Tag, muss auch wieder geschlossen werden
  • Attribute in Hochkomma
  • Attributnamen dürfen innerhalb eines Tags nur einmal genutzt werden
  • XML Dokument ist nur Valide wenn es well formed ist, sowie einem Schema (XSD) bzw. DTD folgt