02 Jul Was ist XML – Extensible Markup Language?
XML ist eine Abkürzung für „eXtensible Markup Language”, was auf Deutsch “erweiterbare Auszeichnungssprache” bedeutet. Das Datenformat wurde erstmals 1998 vom W3C (World Wide Web Consortium) eingeführt und wird seitdem regelmäßig international verwendet. Es handelt sich dabei um ein textbasiertes Datenformat, welches in einem einfachen Texteditor bearbeitet werden kann. Das XML-Format kann zum Beschreiben, Speichern und Austauschen von Daten (wie etwa Produktdaten) verwendet werden.
Wofür wird XML verwendet?
XML bietet als Datenaustauschformat vielfältige Nutzungsmöglichkeiten. Viele Softwarelösungen und Apps nutzen die klar definierte, hierarchische Struktur des Formats zur Planung und Darstellung von Layouts und Konfigurationsinformationen. Es wird zudem vielfach in vielen Bereichen der Webentwicklung genutzt.
Das Datenformat bietet von Menschen und Maschinen eine gut lesbare Struktur und wird daher auch für den Austausch von Produktdaten verwendet. So basiert z.B. der Datenstandard BMEcat, das GS1 XML, der DPB-Branchenstandard für die Baubranche oder auch der Transaktionsstandard openTRANS auf einer XML-Struktur.
Wie ist ein XML-Code strukturiert?
XML ermöglicht einen klar strukturierten, plattformunabhängigen Austausch von Daten und Informationen zwischen mehreren Systemen und Datenempfängern. Die Strukturierung des Datenformats erfolgt durch folgende Komponenten:
Im XML-Elemente bestehen aus Tags. Tags sind dabei durch spitze Klammern charakterisiert. Es wird dabei zwischen öffnenden Tags bzw. Start-Tags und schließenden Tags bzw. End-Tags unterschieden. Dabei gilt: Jedes öffnende Tag muss auch wieder geschlossen werden. Hier ein Beispiel für einen Start-Tag: <Artikel> und einen End-Tag </Artikel>. Alles was innerhalb dieses Elements steht , wird als der Inhalt betrachtet.
Ein Element in XML kann so aussehen: <Name>Laptop XYZ-123</Name>. „Laptop XYZ-123“ ist dabei der Inhalt eines Elements.
Die XML-Datei beginnt normalerweise mit einer Deklaration, die die Version der XML-Spezifikation oder auch die Zeichencodierung angibt. Hier ist eine Beispieldeklaration:
<?xml version=“1.0″ encoding=“UTF-8″?>
Wurzelelement
Des Weiteren gibt es das Wurzelelement. Es ist das oberste Element in der XML-Hierarchie und umgibt alle anderen Elemente. Im Falle unseres Beispielskatalogs könnte das Wurzelelement „Produktdatenkatalog“ sein:
<?xml version=“1.0″ encoding=“UTF-8″?>
<Produktdatenkatalog></Produktdatenkatalog>
Im Falle eines BMEcat heißt das Wurzelelement übrigens „BMEcat“.
Kinderelemente
Unter dem Wurzelelement befinden sich noch weitere Elemente, die sogenannten Kinderelemente.
In Beispiel unten wäre das der „Artikel“. Unter dem „Artikel“ befinden sich dann noch weitere Unterelemente, wie Name, Beschreibung, Preis, Hersteller etc.
Einblendung Beispiel
<?xml version=“1.0″ encoding=“UTF-8″?>
<Produktdatenkatalog>
<Artikel>
<Name>Laptop XYZ-123</Name>
<Beschreibung>Ein leistungsstarker Laptop mit schnellem Prozessor und hochauflösendem Display.</Beschreibung>
<Preis>999.99</Preis>
<Hersteller>ABC Electronics</Hersteller>
</Artikel>
</Produktdatenkatalog>
In Elemente kann Text geschrieben werden oder es können weitere Elemente gestellt werden. Beim BMEcat heißen solche Kind Elemente, z.B. Header, und T_NEW_CATALOG.
Attribute
Außerdem können Elemente auch mit Attributen versehen werden, um zusätzliche Informationen darzustellen. Ein Attribut besteht dabei aus einem Attributnamen und einem Wert, Attribute erhalten immer einen Namen und bekommen mit Gleichheitszeichen einen Wert zugewiesen. Dieser Wert wird mit Hochkommas gesetzt. Im folgenden Beispiel bekommt das Element „Artikel“ eine entsprechende Kategorie und es wurde ein Bild-URL-Attribut hinzugefügt.
<?xml version=“1.0″ encoding=“UTF-8″?>
<Produktdatenkatalog>
<Artikel Kategorie=“Laptops“>
<Name>Laptop XYZ-123</Name>
<Beschreibung>Ein leistungsstarker Laptop mit schnellem Prozessor und hochauflösendem Display.</Beschreibung>
<Preis>999.99</Preis>
<Hersteller>ABC Electronics</Hersteller>
<image url=“https://example.com/smartphone_xyz.jpg“ />
</Artikel>
</Produktdatenkatalog>
Kommentare
Darüberhinaus können auch Kommentare in einer XML eingesetzt werden. Sie werden wie links zu sehen integriert und dienen der Dokumentation oder Anmerkungen zur Erklärung
So, das sind im Wesentlichen die Grundbestandteile einer XML-Datei für einen vereinfachten elektronischen Produktdatenkatalog. Dabei könnt ihr beliebig viele Artikel hinzufügen, indem ihr das „Artikel“-Element wiederholt.
Worauf muss man beim XML-Format achten?
XML-Dateien basieren auf festgelegten Strukturgrundlagen. Dazu gehören:
Die Unterscheidung zwischen Groß- und Kleinschreibung:
Die Datenstruktur ist case-sensitive, unterscheidet also zwischen Groß- und Kleinschreibung. Beispielsweise werden die Tags <Artikel> und <artikel> vom XML-Parser als zwei unterschiedliche Elemente behandelt, obwohl sie inhaltlich dieselbe Funktion erfüllen könnten. Dies zeigt die Wichtigkeit einer einheitlichen Nutzung von Groß- und Kleinschreibung.
Die Öffnung und Schließung von Elementen:
Ein geöffnetes Element (z.B. <Artikel>) muss auch wieder geschlossenen werden (</Artikel>). Ausnahme gilt für Elemente ohne Inhalt. Für diese kann folgende die Sonderschreibweise: <Artikel/> gelten.
Die Einhaltung der hierarchischen Reihenfolge:
Bei der Nutzung von ineinander verschachtelten Elementen müssen Elementen innerhalb der übergeordneten Elemente entsprechend hierarchisch passend geschlossen werden:
<Artikel>
<Name>Laptop XYZ-123</Name>
<Beschreibung>Ein leistungsstarker Laptop mit schnellem Prozessor und hochauflösendem Display.</Beschreibung>
<Preis>999.99</Preis>
<Hersteller>ABC Electronics</Hersteller>
</Artikel>
Die Elemente Name, Beschreibung, Preis, Hersteller wurden innerhalb des Elements Artikel geöffnet und müssen daher auch innerhalb des Elements Artikel geschlossen werden. Erst danach kann das übergeordnete Element Artikel wieder geschlossen werden.
Wie können XML-Dateien erzeugt und bearbeitet werden?
Die manuelle Aufbereitung von Produktdaten in einer solchen übersichtlichen Datenstruktur mithilfe von Texteditoren kann je nach Datenmenge und Hierarchiestruktur sehr zeitintensiv und mühselig sein.
Mit der SaaS-Lösung CatalogExpress können Hersteller und Händler selbst eine Vielzahl von Produktdaten schnell in eine saubere und einheitliche Struktur bringen. Neben der Konvertierung von Datenformaten wie CSV oder XLSX in eine XML-Datenstruktur ermöglicht die Data-Syndication-Software zudem die automatisierte Datenbereitstellung in verschiedenen Austauschformaten wie BMEcat ETIM. Produktdaten können aus einer oder mehreren Datenquellen (verschiedene Systeme wie PIM/DAM/ERP sowie aus unterschiedlichen Dateiformaten) in CatalogExpress importiert werden und in wenigen Schritten optimal auf verschiedene Zielformatvorlagen wie beispielsweise BMEcat ETIM (also XML) angepasst werden.
Um sicherzustellen, dass die optimierten Produktdaten einer vordefinierten Formatvorgabe entsprechen, können die Daten in CatalogExpress gegen ein vorgegebenen XML Schema (auch „XML Schema Definition“ oder XSD genannt) geprüft / validiert werden. Diese jeweilige Zielstruktur kann dabei entweder vom Nutzer selbst oder vom jeweiligen Datenempfänger (z. B. PIM, ERP, Kunden oder Marktplätze) vorgegeben werden. Anschließend kann die erstellte Katalogdatei exportiert und Datenempfängern automatisiert über SFTP-Server oder andere Wege bereitgestellt werden.
Hier finden Sie weitere Informationen zu den vielfältigen CatalogExpress-Features.
Welche Austauschformate nutzen XML?
Das Datenformat wird aufgrund seiner Vorteile vielfach im Bereich des Produktdatenmanagements genutzt. Hier finden Sie ein paar bekannte Beispielformate:
- Der BMEcat basiert als Standard für elektronische Produktkataloge auf XML. Die Struktur ermöglicht die übersichtliche und umfassende Angabe diverser Produktdaten (Kategorien, Artikelnummern, Bezeichnungen, Preisen und mehr). Auch Klassifikationsmodelle wie ETIM und ECLASS nutzen XML zur Angabe von Produktklassifikationen.
- Der Datenstandard „GS1 XML“ wird für den Datenaustausch von Bestellungen, Rechnungen und anderen logistischen Informationen verwendet.
- Das Format „cXML“ wurde speziell für den Austausch geschäftlicher Informationen (Bestellungen, Auftragsbestätigungen, eKataloge) entwickelt.
- Der Datenstandard „openTRANS“ bildet Daten im XML-Schema ab.
- Auch der Baubranchen-Datenstandard DPB basiert auf XML.
Welche Vorteile bietet XML für Ihr Produktdatenmanagement?
Das XML-Format eignet sich für das Produktdatenmanagement gleich aus mehreren Gründen:
- XML-Dateien sind übersichtlich und haben eine klar definierte hierarchische Struktur:
Unternehmen können ihre Produktdaten klar geordnet und leicht erkennbar darstellen und aufbereiten. - Das Format kann sowohl von Menschen als auch von Maschinen gelesen werden:
Sowohl Mitarbeiter als auch Systeme und externe Datenempfänger können mit Daten im XML-Format arbeiten. - Es ist ein weitverbreitetes Datenformat:
Da es sich um ein offenes und international etabliertes Format handelt, können Unternehmen ihre Produktdaten effizient mit Partnern, Lieferanten, Datenempfängern und Systemen (PIM, ERP, MDM, DAM etc.) austauschen. Anders gesagt: XML ist ein plattformunabhängiges Format. XML-Dateien können also von verschiedenen Softwarelösungen und Plattformen problemlos gelesen und verwendet werden. - Die Auszeichnungssprache ist flexibel erweiterbar („extensible“):
Nutzer können eigene Elemente definieren (etwa für spezifische Produktattribute wie Preise, Besonderheiten etc.). Auch die Berücksichtigung externer Anforderungen an die Darstellung und den Beschreibungsumfang von Produktdaten im XML-Schema ist möglich. So können Sie Ihre Produktdaten optimal Datenempfängern wie B2B-Kunden, Marktplätzen oder Branchenportalen zur Verfügung stellen.
Welche Nachteile hat das Format?
Neben den vielfältigen Vorteilen ist auch die Berücksichtigung von technischen Nachteilen des Formats wichtig. Obwohl Produktdaten klar und eindeutig darstellen werden können, kann die hierarchische Struktur gerade bei vielen und komplex verschachtelten Elementen Auswirkungen auf
- die Dateigröße
- die Übertragungsgeschwindigkeit und
- die Verarbeitung der Datei durch Systeme haben.
Um diese Faktoren zu minimieren und eine schlankerer Datenstruktur zu ermöglichen, wurden im Laufe der Zeit weitere Dateiformate wie JSON entwickelt.
Wie unterscheiden sich XML und JSON voneinander?
Beide Formate werden in der digitalen Datenverarbeitung genutzt und weisen Ähnlichkeiten auf, unterscheiden sich allerdings auch in wichtigen Punkten. Hier die fünf größten Gemeinsamkeiten und Unterschiede:
- JSON ist jünger:
Während XML bereits seit 1998 verwendet wird, wurde JSON (JavaScript Object Notation) Anfang der 2000er Jahre eingeführt. - Beide Datenformate ermöglichen ein strukturiertes Produktdatenmanagement:
Die hierarchische Struktur kann selbst größere Datenmengen klar strukturiert darstellen. - Die Formate sind für Mensch und Maschine lesbar:
Die eindeutige Struktur beider Formate sorgt für eine einfache und vielseitige Nutzung. - Beide Datenformate nutzen eine unterschiedliche Syntax:
XML nutzt eine hierarchische Datenstruktur mit öffnenden und schließenden Tags. JSON nutzt unter anderem Objekte (gekennzeichnet durch geschweifte Klammern {}), welche aus Schlüssel-Wert-Paaren bestehen. Außerdem werde Werte in sogenannten Arrays (in eckigen Klammern) zusammengefasst, wie etwa [„Artikel1“, „Artikel2“, „Artikel 3“]. - Daten werden unterschiedlich dargestellt:
Bei großen Datenmengen kann die Verwendung von XML oder JSON einen wichtigen Unterschied machen. Aufgrund der unterschiedlichen Grundstruktur kann dieselbe Datenmenge im JSON-Format kürzer und schlanker dargestellt werden, was zu geringeren Dateigrößen und kürzeren Übertragungszeiten führt.
Dies ist einer der Gründe, warum das ETIM xChange-Datenformat als Nachfolger für den BMEcat auf JSON basiert. Im NEXIpedia-Beitrag zum JSON-Format finden Sie außerdem weitere wissenswerte Informationen.