XML für Anfänger

Möglicherweise haben Sie schon von Extensible Markup Language (XML) gehört, und vielleicht sind Ihnen auch bereits Gründe bekannt, warum Ihre Organisation es verwenden sollte. Aber was genau ist XML? In diesem Artikel werden die Grundlagen von XML erläutert – was es ist, und wie es funktioniert.

Inhalt dieses Artikels

Ein kurzer Blick auf Anmerkungen, Markup und Markierungen

Wodurch wird etwas zu XML?

Anmerkungen zu wohlgeformten Daten

Schneller Blick auf Schemas

In aller Kürze: Transformationen

Die Rolle von XML im Microsoft Office-System

Ein kurzer Blick auf Anmerkungen, Markup und Markierungen

Um einen Einblick in XML zu erhalten, ist es hilfreich, das Konzept des Markups von Daten zu verstehen. Menschen erstellen seit Jahrhunderten Dokumente, und ebenso lang versehen sie diese Dokumente bereits mit Markierungen. Beispielsweise machen Lehrer ständig Markierungen in den Arbeiten ihrer Schüler. Sie weisen Schüler an, Absätze zu verschieben, Sätze zu präzisieren, Rechtschreibfehler zu korrigieren usw. Durch das Versehen eines Dokuments mit Markierungen definieren wir die Struktur, die Bedeutung und die visuelle Erscheinung der Informationen im Dokument. Wenn Sie je die Funktion Änderungen nachverfolgen in Microsoft Office Word genutzt haben, haben Sie eine computerisierte Form solcher Markierungen (Markup) verwendet.

Bei der Datenverarbeitung hat sich das Versehen mit Markierungen (mark up) zu "Markup" weiterentwickelt. Markup ist die Verwendung von Codes, die als Markierungen (manchmal auch als Token) bezeichnet werden und die Struktur, die visuelle Darstellung und – im Fall von XML – die Bedeutung von Daten definieren.

Der HTML-Code dieses Artikels ist ein gutes Beispiel für Computermarkup in der Praxis. Wenn Sie ihn durchblättern (klicken Sie in Microsoft Internet Explorer mit der rechten Maustaste auf die Seite, und klicken Sie dann auf Quellcode anzeigen), sehen Sie eine Mischung aus lesbarem Test und HTML-Markierungen, wie etwa <p> und <h2>. Markierungen in HTML- und XML-Dokumenten sind leicht zu erkennen, weil sie in spitze Klammern eingeschlossen sind. Im Quellcode für diesen Artikel haben die HTML-Markierungen eine Reihe von Aufgaben, etwa den Anfang und das Ende jedes Absatzes (<p> ... </p>) und die Position der einzelnen Bilder zu kennzeichnen.


Wodurch wird etwas zu XML?

HTML- und XML-Dokumente enthalten Daten, die von Markierungen umgeben sind, allerdings enden damit die Ähnlichkeiten zwischen beiden Sprachen auch schon. In HTML definieren die Markierungen das Aussehen und Verhalten Ihrer Daten – die Überschriften stehen hier, der Absatz beginnt hier usw. In XML werden mit den Markierungen Struktur und Bedeutung Ihrer Daten definiert – also was die Daten sind.

Wenn Sie die Struktur und Bedeutung Ihrer Daten beschreiben, machen Sie damit die erneute Verwendung dieser Daten in verschiedener Weise möglich. Wenn Sie beispielsweise einen Block Vertriebsdaten besitzen und jedes Element im Block klar identifiziert ist, können Sie nur die dafür benötigten Daten in einen Umsatzbericht und andere Elemente in eine Buchhaltungsdatenbank laden. Anders gesagt können Sie Ihre Daten mithilfe eines Systems erzeugen und mit XML-Markierungen versehen und sie dann in einer beliebigen Anzahl anderer Systeme verarbeiten, unabhängig von der Hardwareplattform oder dem Betriebssystem. Diese Portierbarkeit ist der Grund, warum XML sich zu einer der beliebtesten Technologien für den Austausch von Daten entwickelt hat.

Beachten Sie dabei folgende Aspekte:

  • Sie können XML nicht durch HTML ersetzen. Jedoch können Sie Ihre XML-Daten in HTML-Markierungen einschließen und sie auf einer Webseite anzeigen.

  • HTML ist auf einen vordefinierten Satz Markierungen beschränkt, der von allen Benutzern gemeinsam verwendet wird.

  • XML erlaubt Ihnen, jede beliebige Markierung zu erstellen, die Sie zur Beschreibung Ihrer Daten und der Struktur Ihrer Daten benötigen. Nehmen wir beispielsweise an, dass Sie Informationen über Haustiere speichern und freigeben müssen. Sie können folgenden XML-Code erstellen:

    <?xml version="1.0"?>
    <CAT>
    <NAME>Izzy</NAME>
    <BREED>Siamese</BREED>
    <AGE>6</AGE>
    <ALTERED>yes</ALTERED>
    <DECLAWED>no</DECLAWED>
    <LICENSE>Izz138bod</LICENSE>
    <OWNER>Colin Wilcox</OWNER>
    </CAT>

Wie Sie sehen, machen die XML-Markierungen es Ihnen möglich, genau zu wissen, welche Art Daten Sie gerade betrachtten. Sie wissen beispielsweise, dass es sich um Daten zu einer Katze handelt, und Sie können den Namen, das Alter usw. der Katze problemlos finden. Die Möglichkeit zur Erstellung von Markierungen, mit denen nahezu beliebige Datenstrukturen definiert werden können, ist es, was XML erweiterbar ("extensible") macht.

Aber verwechseln Sie die Markierungen in diesem Codebeispiel nicht mit Markierungen in einer HTML-Datei. Wenn Sie diese XML-Struktur in eine HTML-Datei einfügen und die Datei im Browser anzeigen, sehen die Ergebnisse in etwa so aus:

Izzy Siamese 6 yes no Izz138bod Colin Wilcox

Der Browser ignoriert Ihre XML-Markierungen und zeigt nur die Daten an.


Anmerkungen zu wohlgeformten Daten

Vielleicht hören Sie jemanden aus Ihrer IT-Abteilung "wohlgeformtes" XML erwähnen. Eine "wohlgeformte" XML-Datei entspricht einem Satz sehr strenger Regeln, die den Einsatz von XML lenken. Wenn eine Datei diesen Regeln nicht entspricht, funktioniert XML nicht. Beispielsweise weist im vorstehenden Codebeispiel jede öffnende Markierung eine entsprechende schließende Markierung auf, und damit hält das Beispiel eine der Regeln für wohlgeformten Code ein. Wenn Sie eine Markierung entfernen und versuchen, die Datei in einem der Office-Programme zu öffnen, erhalten Sie eine Fehlermeldung, und das Programm hindert Sie an der Verwendung der Datei.

Sie brauchen die Regeln zum Erstellen von wohlgeformtem XML nicht unbedingt zu kennen (allerdings sind sie leicht zu verstehen), aber Sie müssen sich erinnern, dass Sie XML-Daten zwischen Programmen und Systemen nur dann austauschen können, wenn die Daten wohlgeformt sind. Wenn Sie eine XML-Datei nicht öffnen können, ist die Wahrscheinlichkeit hoch, dass die Datei nicht wohlgeformt ist.

XML ist außerdem plattformunabhängig, was bedeutet, dass jedes Programm, das zum Verwenden von XML entwickelt wurde, Ihre XML-Daten lesen und verarbeiten kann, unabhängig von Hardware oder Betriebssystem. Beispielsweise können Sie mit den richtigen XML-Markierungen ein Desktopprogramm verwenden, um Daten von einem Mainframecomputer zu öffnen und mit ihnen zu arbeiten. Und unabhängig davon, wer einen Textkörper aus XML-Daten erstellt hat, Sie können mit eben diesen Daten in verschiedenen Office-Programmen arbeiten. Da es so portierbar ist, ist XML zu einer der beliebtesten Technologien für den Austausch von Daten zwischen Datenbanken und Benutzerdesktops geworden.

In anderen Programmen verwendetes XML

Über markierte, wohlgeformte Daten hinaus verwenden XML-Systeme normalerweise zwei weitere Komponenten: Schemas und Transformationen. In den folgenden Abschnitten wird erläutert, wie diese zusätzlichen Komponenten funktionieren.


Schneller Blick auf Schemas

Lassen Sie sich durch den Begriff "Schema" nicht einschüchtern. Ein Schema ist einfach nur eine XML-Datei, die Regeln dafür enthält, was in einer XML-Datendatei enthalten sein kann, bzw. was nicht. Schemadateien verwenden normalerweise die Dateinamenerweiterung XSD, während XML-Datendateien die Erweiterung XML verwenden.

Mithilfe von Schemas können Programme die Gültigkeit von Daten prüfen. Sie stellen das Framework dar, mit dem Daten strukturiert werden und sichergestellt wird, dass die Daten für den Ersteller und eventuelle andere Benutzer sinnvoll sind. Wenn ein Benutzer beispielsweise ungültige Daten eingibt, etwa Text in ein Datumsfeld, kann das Programm den Benutzer auffordern, die richtigen Daten einzugeben. Sofern die Daten in einer XML-Datei den Regeln in einem vorhandenen Schema genügen, kann jedes Programm, das XML unterstützt, dieses Schema verwenden, um die Daten zu lesen, zu interpretieren und zu verarbeiten. Beispielsweise kann Excel die <CAT>-Daten anhand des CAT-Schemas überprüfen, wie in der folgenden Abbildung dargestellt.

Mithilfe von Schemas können Anwendungen XML-Daten gemeinsam verwenden.

Schemas können ziemlich komplex werden, und Ihnen die Erstellung eines Schemas zu vermitteln, sprengt den Rahmen dieses Artikels. (Nebenbei bemerkt – Sie verfügen wahrscheinlich über eine IT-Abteilung, der weiß, wie das geht.) Allerdings ist es nützlich zu wissen, wie Schemas aussehen. Das folgende Schema definiert die Regeln für den Markierungssatz <CAT> ... </CAT>.

<xsd:element name="CAT">  
<xsd:complexType>
<xsd:sequence>
<xsd:element name="NAME" type="xsd:string"/>
<xsd:element name="BREED" type="xsd:string"/>
<xsd:element name="AGE" type="xsd:positiveInteger"/>
<xsd:element name="ALTERED" type="xsd:boolean"/>
<xsd:element name="DECLAWED" type="xsd:boolean"/>
<xsd:element name="LICENSE" type="xsd:string"/>
<xsd:element name="OWNER" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>

Es macht nichts, wenn Sie nicht jedes Detail in diesem Beispiel verstehen. Merken Sie einfach diese Punkte:

  • Die Zeilenelemente im Beispielschema werden als Deklarationen bezeichnet. Wenn Sie zusätzliche Informationen zu einem Tier benötigen, beispielsweise seine Farbe oder Fellzeichnung, stehen die Chancen gut, dass die IT-Abteilung dem Schema eine Deklaration hinzufügen wird. Sie können Ihr XML-System an die sich wandelnden Anforderungen Ihres Geschäfts anpassen.

  • Deklarationen bieten ein enormes Maß an Kontrolle über die Datenstruktur. Beispielsweise bedeutet die <xsd:sequence>-Deklaration, dass die Markierungen, wie etwa <NAME> und <BREED>, in der oben aufgelisteten Reihenfolge auftreten müssen. Mitt Deklarationen lässt sich außerdem der Typ der Daten steuern, die von Benutzern eingegeben werden können. Beispielsweise erfordert das Schema oben eine positive Zahl für das Alter der Katze und boolesche Werte (WAHR oder FALSCH) für die Markierungen ALTERED (sterilisiert) und DECLAWED (Nagelexzision erfolgt).

  • Wenn die Daten in einer XML-Datei den von einem Schema festgelegten Regeln entsprechen, werden die Daten als gültig angesehen. Der Vorgang der Überprüfung einer XML-Datendatei anhand eines Schemas heißt Validierung (eigentlich logisch). Der große Vorteil beim Einsatz von Schemas liegt darin, dass sie das Auftreten beschädigter Daten vermeiden helfen. Außerdem machen sie das Auffinden von beschädigten Daten einfach, da XML beim Auftreten eines Problems anhält.


In aller Kürze: Transformationen

Wie bereits zuvor erwähnt, bietet XML außerdem leistungsfähige Verfahren zum Verwenden oder Wiederverwenden von Daten. Der Mechanismus zur Wiederverwendung von Daten wird als XSLT (Extensible Stylesheet Language Transformation) oder einfach als Transformation bezeichnet.

Sie (na gut, Ihre IT-Abteilung) können mithilfe von Transformationen auch Daten zwischen Back-End-Systemen austauschen, wie etwa Datenbanken. Angenommen, Datenbank A speichert die Umsatzdaten in einer Tabellenstruktur, die für die Vertriebsabteilung gut funktioniert. In Datenbank B sind die Ertrags- und Ausgabendaten in einer Tabellenstruktur gespeichert, die für die Buchhaltung maßgeschneidert ist. Mithilfe einer Transformation kann Datenbank B Daten aus A annehmen und sie in die richtigen Tabellen schreiben.

Die Kombination aus Datendatei, Schema und Transformation bildet ein einfaches XML-System. In der folgenden Abbildung ist dargestellt, wie solche Systeme normalerweise funktionieren. Die Datendatei wird anhand des Schemas überprüft und dann mithilfe einer Transformation in einer beliebigen Anzahl verwendbarer Weisen dargestellt. In diesem Fall stellt die Transformation die Daten für eine Tabelle auf einer Webseite bereit.

Eine grundlegende XML-Dateistruktur mit einem Schema und einer Transformation

Das folgende Codebeispiel zeigt eine Möglichkeit zum Erstellen einer Transformation. Sie lädt die <CAT>-Daten in eine Tabelle auf einer Webseite. Wiederum geht es bei diesem Beispiel nicht darum, Ihnen das Erstellen von Transformationen nahezubringen, sondern Ihnen eine Form zu zeigen, die Transformationen annehmen können.

<?xml version="1.0"?>
<xsl:stylesheet version="1.0">
<TABLE>
<TR>
<TH>Name</TH>
<TH>Breed</TH>
<TH>Age</TH>
<TH>Altered</TH>
<TH>Declawed</TH>
<TH>License</TH>
<TH>Owner</TH>
</TR>
<xsl:for-each select="CAT">
<TR ALIGN="LEFT" VALIGN="TOP">
<TD>
<xsl:value-of select="NAME"/>
</TD>
<TD>
<xsl:value-of select="BREED"/>
</TD>
<TD>
<xsl:value-of select="AGE"/>
</TD>
<TD>
<xsl:value-of select="ALTERED"/>
</TD>
<TD>
<xsl:value-of select="DECLAWED"/>
</TD>
<TD>
<xsl:value-of select="LICENSE"/>
</TD>
<TD>
<xsl:value-of select="OWNER"/>
</TD>
</TR>
</xsl:for-each>
</TABLE>

Dieses Beispiel zeigt Ihnen, wie eine Transformationsart als Code aussehen kann, bedenken Sie aber, dass Sie einfach in natürlicher Sprache beschreiben können, was Sie von den Daten benötigen. Beispielsweise können Sie in Ihre IT-Abteilung gehen und sagen, dass Sie die Umsatzdaten für bestimmte Regionen für die letzten zwei Jahre drucken müssen "und die Ausgabe muss so aussehen". Ihre IT-Abteilung kann dann eine Transformation erstellen (oder ändern), um diesen Auftrag zu erledigen.

Alle diese Möglichkeiten werden noch dadurch bequemer, dass Microsoft und eine wachsende Zahl weiterer Anbieter Transformationen für Aufträge aller Art erstellen. Zukünftig stehen die Chancen gut, dass Sie eine Transformation herunterladen können, die entweder Ihren Anforderungen entspricht, oder die Sie für Ihre Zwecke anpassen können. Das bedeutet, dass die Verwendung von XML im Lauf der Zeit geringere Kosten verursacht.


Die Rolle von XML im Microsoft Office-System

Die Professional-Editionen von Office bieten umfassende XML-Unterstützung. Seit dem Microsoft Office-System 2007 verwendet Microsoft Office die XML-basierten Dateiformate, wie etwa DOCX, XLSX und PPTX. Da XML Daten in einem Textformat anstelle eines proprietären binären Formats speichern, können Ihre Kunden eigene Schemas definieren und Ihre Daten in vielfältigerer Weise verwenden, ohne dass dafür Lizenzgebühren anfallen. Weitere Informationen zu den neuen Formaten finden Sie unter Open XML-Formate und -Dateinamenerweiterungen. Zu den weiteren Vorteilen zählen:

  • Geringere Dateigrößen. Das neue Format verwendet ZIP und andere Komprimierungstechnologien, um die Datengröße im Vergleich mit den binären Formaten der früheren Office-Versionen um bis zu 75 Prozent zu verringern.

  • Einfachere Wiederherstellung von Informationen und größere Sicherheit. XML kann von Menschen gelesen werden. Wenn eine Datei beschädigt wird, können Sie sie daher in Microsoft Notepad oder einem anderen Texteditor öffnen und zumindest einen Teil Ihrer Informationen wiederherstellen. Außerdem sind die neuen Dateien sicherer, da sie keinen VBA-Code (Visual Basic für Applikationen) enthalten können. Wenn Sie das neue Format zum Erstellen von Vorlagen verwenden, befinden sich alle ActiveX-Steuerelemente und VBA-Makros in einem separaten, stärker abgesicherten Bereich der Datei. Außerdem können Sie Tools verwenden, wie etwa die Dokumentprüfung, um personenbezogene Daten zu entfernen. Weitere Informationen zum Verwenden der Dokumentprüfung finden Sie im Artikel Entfernen von ausgeblendeten Daten und persönlichen Informationen aus Office-Dokumenten.

So weit, so gut – aber was können Sie tun, wenn Sie über XML-Daten, aber nicht über ein Schema verfügen? Die Office-Programme, die XML unterstützen, verfolgen eigene Ansätze, um Sie beim Arbeiten mit den Daten zu unterstützen. Beispielsweise leitet Excel ein Schema ab, wenn Sie eine XML-Datei öffnen, für die noch kein Schema vorhanden ist. Excel gibt Ihnen dann die Möglichkeit, diese Daten in eine XML-Tabelle zu laden. Sie können die XML-Listen und -Tabellen verwenden, um die Daten zu sortieren, zu filtern oder ihnen Berechnungen hinzuzufügen.

Aktivieren der XML-Tools in Office

Die Registerkarte "Entwicklertools" wird nicht standardmäßig angezeigt, Sie müssen sie dem Menüband aber hinzufügen, wenn Sie die XML-Befehle in Office verwenden möchten.

Teilen Facebook Facebook Twitter Twitter E-Mail E-Mail

War diese Information hilfreich?

Sehr gut. Noch anderes Feedback?

Was können wir verbessern?

Vielen Dank für Ihr Feedback!

×