Extensible Markup Language (XML)
Auch wenn du kein Programmierer bist, hast du schon einmal von Auszeichnungssprache gehört. Sie enthält XML-Tags und -Daten in Formularen wie <name>Max Mustermann</name>
.
Ein Mensch kann sie lesen und verstehen, was sie bedeutet. Eine Auszeichnungssprache, die du wahrscheinlich kennst, ist die HyperText Markup Language (HTML), die verwendet wird, um Inhalte auf einer Webseite anzuzeigen.
XML ähnelt HTML, ist aber nicht identisch. In ihr wird angegeben, wie Daten zu interpretieren sind. Sie verwendet eine ähnliche Syntax mit Schrägstrichen und Klammern.
Sie wird jedoch verwendet, um Daten zwischen Systemen zu übertragen, oft Systemen in verschiedenen Unternehmen. Sie ermöglicht verschiedenen Organisationen, Daten auszutauschen, ohne dass ihre internen Dateien im gleichen Format vorliegen müssen.
Wenn du Daten mit XML formatierst, kannst du einen Datenstrom an jedes System senden, überall. Der Empfänger benötigt lediglich einen XML-Parser. Ohne ein Tool wie XML wäre die elektronische Kommunikation zwischen Organisationen stark eingeschränkt.
Egal, ob du deine B2B-Kommunikation pflegen oder eine Website einrichten willst, die Wahrscheinlichkeit ist groß, dass dein Unternehmen irgendwann XML verwenden wird.
Was ist XML?
Extensible Markup Language (XML) ist ein Dateiformat, das sowohl Menschen als auch Computer lesen können. Eine XML-Datei enthält Daten und sie enthält auch die Regeln, die die Daten steuern.
Wenn du über die Dateitypen und ihre Verwendung nachdenkst, bedenke, dass eine herkömmliche Datendatei nur Daten enthält. Wenn du sie lesen willst, musst du die Position jedes Felds und seine zulässigen Werte kennen.
Der Name eines Kunden kann sich beispielsweise an den Positionen 11 bis 30 befinden. Wenn sich die Datei ändert oder erweitert, muss jedes System, das sie liest, die neue Dateidefinition kennen.
Bei XML ist jeder Datenwert in einem Element enthalten, das dir sagt, um was es sich handelt. Wenn XML-Elemente geändert und hinzugefügt werden, sagt dir das XML-Dokument selbst, was sie sind und wie du mit ihnen umgehen musst.
Kurz gesagt: Was ist XML und was macht es? XML ermöglicht den Austausch von Daten zwischen verschiedenen Systemen wie Datenbanken, Websites und Anwendungen.
Bedeutung von XML in der modernen Technologie
Wenn zwei Unternehmen elektronisch Geschäfte abwickeln, müssen sie miteinander kommunizieren. Sie müssen sich auch gegenseitig verstehen. Manchmal müssen sie Entscheidungen treffen und Geschäfte ohne menschliches Eingreifen abschließen.
XML stellt die Datenintegrität sicher, indem die Datenregeln direkt zusammen mit den Daten selbst übergeben werden. Ein XML-Dokument kann mehrfach interpretiert werden, um es einem menschlichen Benutzer zu präsentieren und von einem Computersystem verarbeitet zu werden. XML stellt sicher, dass die verwendeten Daten plattformübergreifend identisch sind.
Suchmaschinen arbeiten leichter mit XML als mit anderen Dateiformaten. XML vereinfacht die Datenübertragung zwischen Datenbanken, Websites und älteren Computersystemen wie Buchhaltungssystemen.
Eine Fülle von Werkzeugen unterstützt die Erstellung und das Lesen von XML-Dateien. XML-Support ist in moderne Programmiersprachen integriert. XML ist häufig die flexibelste und erweiterbarste Möglichkeit, Daten zwischen Systemen zu übertragen, sowohl innerhalb als auch zwischen Unternehmen.
Die Grundlagen verstehen
XML ist eine Markup-Sprache. Das heißt, sie ist ein Textdokument mit Symbolen, die bestimmen, wie es strukturiert und formatiert wird. Sie enthält Text, der angezeigt oder verarbeitet werden kann, und Text, der bestimmt, was mit diesen Daten geschehen soll.
Eine herkömmliche Datendatei enthält eine Reihe von Zahlen, Buchstaben und Sonderzeichen. Es gibt keine Möglichkeit, die Datei selbst zu verwenden, um zu bestimmen, wo ein Wert endet und der nächste beginnt. In einem XML-Dokument erfährst du, wofür die Daten stehen.
XML vs. HTML
Einige Benutzer verwechseln XML mit HTML (HyperText Markup Language). Letztere wird verwendet, um Daten zu lesen und sie auf einer Anzeige, normalerweise auf einer Webseite, darzustellen.
Auf einen Blick sehen XML und HTML ähnlich aus. Beide enthalten Beschreibungen von Datenelementen, die als XML-Tags bezeichnet werden, und Zeichen wie <, > und /, die die XML-Tags und ihre Werte definieren. Es gibt jedoch erhebliche Unterschiede, und diese beschränken sich nicht nur auf die Tatsache, dass HTML nur zur Anzeige dient.
Das „X“ in XML steht für „extensible“ (erweiterbar). Ein Benutzer kann HTML nicht erweitern, da er eine begrenzte Anzahl vordefinierter XML-Elemente hat. Mit XML kannst du deine eigenen Elemente erstellen und ihnen die Definition geben, die zu deiner Datei passt.
Struktur einer XML-Datei
Eine XML-Datei beginnt mit einer optionalen XML-Deklaration und einer Dokumenttypdefinition. Letztere wird für die Datenvalidierung benötigt, für ein XML-Format ist sie jedoch nicht unbedingt erforderlich.
Der interessante Teil der Datei ist der Text. Der Grundbestandteil des Textes ist ein Element. Das Element beginnt mit einem Element-Start-Tag und endet mit einem End-Tag. Der dazwischen liegende Text kann die Attribute des Elements enthalten und andere XML-Elemente einbetten.
Eine XML-Datei kann eine große Anzahl dieser Kundenelemente enthalten und jedes Element kann mehrere Attribute und mehrere untergeordnete oder eingebettete XML-Elemente aufweisen.
Reale XML-Anwendungsfälle
Da XML-Benutzer ihre eigenen Elemente definieren können, eignet sich XML ideal für die Etablierung eines Kommunikationsstandards innerhalb einer Branche.
Die Branche kann ihre eigene Auszeichnungssprache verwenden und XML-Strukturen sowohl für die Kommunikation als auch für die Speicherung von Daten erstellen. Nachrichten und Wetterdienst sind nur zwei Beispiele für branchenspezifische XML-Definitionen.
XML ist besonders wichtig bei Webdiensten, bei denen es sich um Dienste handelt, die von einem Gerät einem anderen angeboten werden. XML ist eine ideale Möglichkeit, Daten in einem Dienst flexibel zu kennzeichnen, sodass sie von vielen Geräten verarbeitet werden können.
Unternehmen haben XML-Formate für viele Branchen entwickelt, nicht nur für offensichtliche Bereiche wie E-Commerce und Finanzen, sondern auch für Mathematik, das Gesundheitswesen und alle Arten von B2B-Kommunikation.
Erstellen und Analysieren von XML-Dokumenten
Da XML-Dokumente lesbarer Text sind, kannst du sie in einem beliebigen Texteditor erstellen. Parser, die sie lesen können, gibt es in Hülle und Fülle.
Schritte zum Erstellen einer grundlegenden XML-Dokumentstruktur
Du kannst ein einfaches XML-Dokument erstellen, indem du einfach einen Texteditor öffnest und tippst. Wenn du möchtest, beginne mit einer XML-Deklaration und einer Dokumenttyp-Deklaration. Richte dann eine Baumstruktur mit dem Stammelement ein, das das erste Element ist, und definiere die Namen des Datenstroms. Fülle den Baum mit allen Stamm-XML-Elementen aus.
Wenn du fertig bist, speichere die Datei mit einer .xml- Erweiterung. Bei dieser Methode gibt es keine Garantie dafür, dass deine fertige Datei syntaktisch korrekt ist oder für den Empfänger einen Sinn ergibt. Wenn du jedoch keine Fehler gemacht hast, kann diese Datei genauso verarbeitet werden wie eine, die mit einem speziellen Tool erstellt wurde.
Tools und Software zum Erstellen und Bearbeiten von XML-Dokumenten
Der Markt bietet eine Vielzahl von Tools an, die speziell für die Erstellung und Bearbeitung von XML-Dateien entwickelt wurden.
Mit diesen musst du dir keine Gedanken über Syntaxfehler machen. Die Tools kennzeichnen sie. Sie füllen auch eine Dateistruktur aus und erzeugen XML, das eine Person leicht lesen kann. Einige der Optionen sind Oxygen, Emacs für XML, Stylus Studio, XML Notepad und Komodo.
Parsen von XML-Dokumenten mithilfe von Programmiersprachen
Da die XML-Syntax strengen Regeln unterliegt, können Entwickler Parser schreiben, die die Daten extrahieren und in Anwendungen verwenden. Parser überprüfen auch eine XML-Datei auf gültige Syntax und melden einen Fehler, wenn zum Beispiel ein Tag fehlt oder die Datei nicht den im Schema definierten Regeln entspricht.
Heutige Webbrowser verfügen über integrierte XML-Parser. Zu den bekannteren Parsern gehören Microsoft MSXML, System.Xml.XmlDocument (Teil von .NET), Xerces und Saxon. Java verfügt über einen integrierten XML-Parser, der jedoch gegen Xerces oder Saxon ausgetauscht werden kann.
Techniken für den Umgang mit großen XML-Dateien
XML-Dateien können riesig werden, insbesondere wenn sie für datenintensive Aufgaben wie das Lesen großer Datenbanken und deren Formatierung für den Export verwendet werden.
Viele XML-Texteditoren lesen vor der Verarbeitung eine ganze XML-Datei in den Speicher ein, und bei XML-Dateien, die manchmal viele Gigabyte groß sind, funktioniert das einfach nicht. Du benötigst einen XML-Parser, der XML-Dateien verarbeiten und Subroutinen verwenden kann, um bestimmte XML-Elemente zu verarbeiten. Einige Parser enthalten Viewer für große Dateien, die Indizes im Speicher erstellen, anstatt den gesamten Dateiinhalt einzulesen.
Sicherheit und Verschlüsselung in XML
Sicherheit ist wichtig, sowohl zum Schutz vor böswilligen Angriffen als auch zum Schutz des geistigen Eigentums. Eine XML-Dokumentstruktur ist nicht grundsätzlich mehr oder weniger sicher als jede andere Datei. Wenn sie vertrauliche Informationen enthält, muss sie verschlüsselt werden.
Davon abgesehen hat die XML-Verschlüsselung eine Eigenschaft, die sie von anderen unterscheidet. Du kannst nur einen Teil einer XML-Datei verschlüsseln. Du kannst zum Beispiel ein Element und all seine Unterelemente verschlüsseln. Wähle einfach den Teil des Dokuments aus, den du verschlüsseln möchtest, verschlüssele den Text und sende ihn an die gültigen Empfänger.
Was ist ein XML-Schema und was sind Namespaces?
Schema und Namespaces werden verwendet, um Elementnamen zu klären und Regeln für ihre Attribute und ihre Beziehung zu anderen Elementen festzulegen.
XML-Schema in Definition und Validierung
Ein XML-Schema definiert die zulässige Struktur einer XML-Datei. Es kann beispielsweise die Reihenfolge der Elemente, ihre zulässigen Attribute und die Anforderungen für die Vollständigkeit der Datei bestimmen. Wenn eine XML-Datei analysiert wird, wird sie anhand des Schemas überprüft, um sicherzustellen, dass die erforderlichen Daten vorhanden sind und die Datenwerte akzeptabel sind.
Viele Branchen und Organisationen haben standardisierte XML-Formate erstellt und die meisten werden durch XML-Schemas definiert.
Organisieren von Elementen und Attributen mit Namespaces
Es gibt nur eine begrenzte Anzahl sinnvoller Namen für Elemente auf der Welt. In vielen XML-Dateien wird ein gebräuchliches Wort wie „Name“ oder „Datum“ verwendet, und ein Datum in einem Kontext muss von einem Datum in einem anderen unterschieden werden. Mit einem Namespace können Element- und Attributnamen einer Gruppe zugeordnet und voneinander unterschieden werden.
DTD vs. XSD
Dokumenttypdefinition (DTD) und XML-Schemadefinition (XSD) werden beide verwendet, um die Struktur einer XML-Datei zu definieren. DTD leitet sich von der generalisierten Markup-Sprachsyntax ab, während XSD tatsächlich in XML geschrieben wird. XSD bietet einige Vorteile.
XSD kann den Inhalt einer XML-Datei sowie die Struktur definieren. Es unterstützt Namespaces. Für jemanden, der sich bereits mit XML auskennt, ist es leicht zu erlernen. Wie andere XML-Formen ist XSD erweiterbar.
XSLT und XPath
Extensible Stylesheet Language (XSLT) wird verwendet, um ein XML-Dokument in ein anderes Auszeichnungssprachendokument umzuwandeln, meistens HTML oder XHTML für einen Browser. Bei der Transformation können Elemente und Attribute hinzugefügt, entfernt und neu angeordnet werden. XSLT verwendet Xpath, um durch die Elemente in einer XML-Datei zu navigieren und die Teile des Dokuments zu finden, die umgewandelt werden müssen.
Fortschrittliche XML-Technologien, die du kennen solltest
XML wird in den heutigen Technologien, einschließlich Webdiensten, Datenbanken, Suchmaschinen und APIs, häufig verwendet.
SOAP und REST
Eine Anwendungsprogrammierschnittstelle (API) ist ein Satz von Funktionen und Verfahren, die definieren, wie eine Anwendung mit einer anderen interagieren soll. Das Simple Object Access Protocol (SOAP) bietet eine zuverlässige und sichere Möglichkeit, APIs zu erstellen, die Daten in XML codieren. Es handelt sich um ein Kommunikationsprotokoll, das XML verwendet, um ein Messaging-Framework bereitzustellen. Es wird insbesondere in dezentralen Systemen eingesetzt, die auf unterschiedlichen Betriebssystemen laufen.
Representational State Transfer (REST) ist eher ein Architekturstil als ein Protokoll. REST-APIs erkennen Anforderungen für eine Ressource und geben Ergebnisse in einem für den Anfragenden geeigneten Format an den Anfragenden zurück.
XML in Webservices
Ein Webservice ist eine Software-Funktionalität, die an einem Ort gehostet wird, der in einem Netzwerk adressiert werden kann. Es handelt sich um eine Maschine-zu-Maschine-Funktion, die eine Schnittstelle darstellt, die Details ihrer Implementierung jedoch verbirgt. XML ist häufig das Format für das Senden von Nachrichten zwischen Systemen. Es verleiht diesen XML-Dokumenten die Fähigkeit zur Selbstbeschreibung, was das Markenzeichen von XML ist.
Ohne XML benötigt der Client, der einen Web-Service anfordert, Domainkenntnisse, um den empfangenen Datenstrom zu verstehen und zu verarbeiten. Bei XML kann der Webservice-Anbieter die Daten in den XML-Dokumenten selbst beschreiben und der Client kann die XML-Dateien mit dem bevorzugten XML-Parser interpretieren.
XML in Datenbanken
CRM-Datenbanken sind eine wichtige Komponente für die Verwaltung von Kundendaten. Es gibt eine Reihe von Vorteilen, diese Verwaltung in einer Datenbank durchzuführen, in der XML-Dokumente gespeichert sind. Zum einen können sowohl Menschen als auch Maschinen die Daten auslesen.
Dies gilt nicht immer für relationale Datenbanken, bei denen ein Mensch mit der Datenbank und ihrer Struktur vertraut sein muss. Einige Datenbanken enthalten sowohl XML als auch andere Datenformate. Oft wird XML für die Metadaten verwendet, die den Inhalt der Datenbank definieren.
XML in einer Datenbank kann genauso gelesen, erstellt, bearbeitet und gelöscht werden wie Tabellen in einer relationalen Datenbank. Aus einer XML-Datenbank abgerufene Daten haben dieselben selbstbeschreibenden Vorteile wie alle anderen XML-Dateien.
XML in Suchmaschinen
Immer mehr Suchmaschinen verwenden das XML-Format der programmierbaren Suche. Eine programmierbare Suchmaschine hat ein hohes Maß an Kontrolle und Flexibilität bei der Entscheidung, welche Seiten durchsucht werden und wie die Ergebnisse eingestuft werden.
Eine XML-Datei, die als Kontextdatei bezeichnet wird, definiert die grundlegendsten Features einer Suchmaschine. Sie bestimmt einige der globalen Features, zum Beispiel, ob die Bildsuche oder Werbeaktionen aktiviert sind.
Eine andere XML-Datei, die Kommentardatei, gibt an, welche Websites und Seiten innerhalb der Websites durchsucht werden. Sie definiert auch, wie die Websites auf der Ergebnisseite gerankt werden sollen.
Zukünftiger Ausblick für XML
Wenn du ein XML-Dokument liest, kannst du erkennen, was die Daten bedeuten, ohne dass du dafür eine externe Dokumentation benötigst. Du fragst dich vielleicht, warum wir nicht schon immer solche Datendateien erstellt haben. Tatsache ist, dass XML gar nicht so neu ist. XML gibt es seit den 1970er Jahren.
Der zunehmende Einsatz von Webbrowsern in den 1990er Jahren führte zu einem Aufschwung der Auszeichnungssprachen. Als Entwickler lernten, wie effektiv XML für die Internetwelt ist, begannen sie, es auch für die Dateiübertragung, das Webdesign, die Datenbankverwaltung, Suchmaschinen, Webservices und so ziemlich jeden Bereich zu nutzen, in dem eine flexible, selbstdokumentierende Dateistruktur benötigt wird.
Es ist kein Geheimnis, warum XML allgegenwärtig geworden ist. Denke einfach an diese Vorteile:
- Menschen können XML lesen. Es besteht aus Elementen und Attributen, denen angemessene und verständliche Namen gegeben werden können. Manchmal kann eine Person ein Kundenproblem verstehen, indem sie einfach eine Anzeige des Eintrags des Kunden in einem XML-Dokument liest.
- Computer können XML lesen, und Programmierer müssen dafür keinen neuen Code erstellen. Es gibt Parser, die eine XML-Datei lesen, feststellen, ob sie richtig formatiert ist, und dann die Werte extrahieren, um sie in einem Programm zu verwenden oder ein anderes Datenformat zu erstellen.
- XML dokumentiert sich selbst. Es ist nicht nötig, ein Nachschlagewerk zu führen, um einem Benutzer oder Programmierern zu erklären, was die Daten bedeuten. Alles befindet sich genau dort im XML-Dokument.
- XML erleichtert die B2B-Kommunikation, da es für ein Unternehmen einfach ist, eine Datei zu erstellen, die das andere versteht.
- XML sorgt für Datenintegrität. Die Regeln zu den Daten werden im Dokument durchgesetzt. Es besteht kein Missverständnis darüber, was die Daten bedeuten, wenn sie zwischen Systemen übertragen werden. Die XML-Verschlüsselung bietet eine leistungsstarke und flexible Methode zum Schutz von Daten.
- XML hat seinen Weg in jeden Aspekt moderner Technologie gefunden. Dazu gehören Datenbanken, Webdesign, Webdienste, APIs und Suchmaschinen. Die Technologie entwickelt weiterhin Tools, die die Vorteile von XML nutzen, sowie Tools, die das Erstellen und Verarbeiten von XML-Dokumenten vereinfachen.
- Am wichtigsten ist, dass XML alles unterstützt, was Unternehmen tun müssen. Es erleichtert die Interaktion zwischen Unternehmen. Es speichert Dokumente zur Verwendung im datengesteuerten Marketing. Es macht es sogar für den durchschnittlichen Unternehmer einfacher, die für ihn wichtigsten Daten zu verstehen.
Es gibt keinen Grund, warum XML in Zukunft weniger genutzt werden sollte. Überall dort, wo Daten erstellt, gelesen, aktualisiert und verarbeitet werden, spielt XML eine Rolle.
Seine Vielseitigkeit und Benutzerfreundlichkeit machen es zu einer wesentlichen Komponente in einer Vielzahl von Anwendungen, einschließlich Webentwicklung, Datenspeicherung und Geschäftsprozessen. Wenn man die Grundlagen von XML versteht, kann man seine Vorteile nutzen und es effektiv nutzen, um den Anforderungen der sich ständig weiterentwickelnden digitalen Landschaft gerecht zu werden.
Egal, ob du ein erfahrener Entwickler bist oder gerade erst anfängst, es ist wichtig, ein solides Verständnis von XML-Dokumenten zu haben, um in der heutigen wettbewerbsintensiven und schnelllebigen technologischen Umgebung mithalten zu können.