XML soll durch ein standardisiertes und striktes Format den Datenaustausch zwischen Maschinen (und nicht zwischen Menschen) ermöglichen.
HTML wird zwar von Browsern interpretiert, aber die darin enthaltenen Daten können nur von Menschen verstanden werden, weil sie nicht strikt strukturiert sind - jeder kann seine HTML-Seite so zusammenbasteln, layouten, mit Text und Funktionalität (serverside, CSS, Javascript) füllen, wie er will. Eine Computer kommt damit nicht klar, weil er ja gar nicht weiss, welche Information in einer HTML-Seite was bedeutet und was er damit anfangen soll. HTML ist also gut dafür, Informationen an Menschen zu liefern.
Will man aber Informationen zwischen Computern austauschen, muss das Format klar strukturiert sein. Für den Inhouse-Datenaustausch z.B. zwischen Applikation und Datenbank gibt es proprietäre Formate. Die sind schlank und einfach zu handhaben. Wenn aber jemand Informationen im (Inter-)Net zur Verfügung stellen will, sodass ganz viele verschieden Programme diese Informationen verarbeiten können, braucht es ein standardisiertes Format. Und das ist XML.
Ein einfaches Beispiel sind die Wetter-News: Ein Informationsanbieter (z.B. Meteo Schweiz) will die aktuellen Wetter-News als Abonnement verkaufen, also auf Abruf online zur Verfügung stellen. Wenn die nun ein eigenes Format benutzen, muss jeder Abonnent (z.B. eine touristische Website, die den potenziellen Feriengästen immer das aktuelle Wetter zeigen will) das Verarbeiten der Meteo-Daten separat programmieren. Das kostet Geld, und bei Änderungen ist jeweils wieder Aufwand nötig. Verwendet Meteo aber XML für die Datenlieferung, so können die Abonnenten die Daten viel einfacher verarbeiten.
Für Informationsaustausch mit automatischer Verarbeitung wird deshalb heute meistens XML verwendet; viele Programmiersprachen und -Umgebungen stellen die XML-Parser (die Programmteile, die XML-Formate verarbeiten) zur Verfügung.
Griessli
Irene