Definition „Extensible Markup Language“

Was ist XML?

| Autor / Redakteur: LineFeed / Stephan Augsten

XML bildet die Basis für verschiedene Datenformate und deren Strukturierung.
XML bildet die Basis für verschiedene Datenformate und deren Strukturierung. (© Vasilius - stock.adobe.com)

Die Extensible Markup Language – oder kurz XML – bildet die Basis für viele Datenformate, darunter auch die Neudefinition von HTML. XML-Dokumente speichern Daten strukturiert, in gleichzeitig maschinen- und menschenlesbarer Form. Das Anwendungsspektrum ist breit.

Ursprung und Entstehung von XML

XML steht für Extensible Markup Language oder auch Erweiterbare Auszeichnungssprache. Sie ist eine vereinfachte Neudefinition, aber auch eine Anwendung der Standard Generalized Markup Language SGML. Als Metasprache eignet sich XML dafür, neue Sprachen zu definieren. Ein prominentes Beispiel hierfür ist HTML. Versionen vor HTML5 sind als SGML-Anwendungen definiert.

XML sollte SGML in dieser Funktion ersetzen, daher hat das World Wide Web Consortium (W3C) die Sprache HTML unter dem Namen XHTML neu definiert. Diskrepanzen zwischen dem W3C und der Industrie führten zu einer unabhängigen und nachlässigeren Standardisierung durch die WHATWG, bekannt als HTML5. Obwohl XML dadurch seinen eigentlichen Zweck nicht erfüllt, spielt die Meta-Markup-Language in vielen anderen Anwendungsbereichen eine wichtige Rolle.

Was erbte XML von SGML?

Der größte Teil der XML-Sprachdefinition stammt unmittelbar aus SGML, die nach ISO 8879 genormt ist. Als einflussreiches Konzept erbt XML von SGML die Trennung von logischen und physischen Einheiten, von Struktur und Inhalt. Sie setzt sich mit der Aufteilung in HTML und CSS fort und bildet damit letztendlich auch die Grundlage für die gerätespezifische Darstellung von Webseiten, beispielsweise im Responsive Webdesign.

Die Flexibilität und Vielseitigkeit von XML und SGML beruht auf den vom Benutzer frei definierbaren Syntaxelementen und der Möglichkeit, diese in Form sogenannter Schemata zu speichern. Ein XML-Schema gibt die Struktur eines XML-Dokuments vor und definiert damit eine Sprache.

Die grundlegende Struktur von XML-Dokumenten

Ein XML-Dokument besteht aus Inhalt und Textauszeichnungen (engl. Markup). Auszeichnungen, die in spitze Klammern eingeschlossen sind, heißen Tags. Sie treten meist paarweise auf und schließen dann einen Inhalt ein. Tags und eingeschlossener Inhalt bilden ein Element.

Grundsätzlich inhaltslose Elemente bestehen nur aus einem einzigen Tag. Ein Beispiel ist der Zeilenumbruch <br /> in HTML. Hier ist zu erkennen, dass bei inhaltslosen Elementen vor der schließenden spitzen Klammer ein Schrägstrich steht. Dieser ist auch bei Elementen mit Inhalt zu finden, steht dort aber hinter der öffnenden spitzen Klammer des schließenden Tags, wie im folgenden Beispiel einer HTML-Absatzmarkierung zu erkennen ist: <p>Dies ist eine neuer Absatz, der gleich endet.</p>.

Der zweite elementare Sprachbaustein von SGML, neben dem Element, ist das Attribut. Attribute sind Namens-Wert-Paare, die innerhalb von öffnenden oder inhaltslosen Tags notiert werden. Ein prominentes Beispiel für die Verwendung von Attributen ist die Spezifikation der Dateinamen für Bilder, die mit dem einem Image-Tag wie <img src="Dev-Insider.gif"</img> in HTML Dokumente eingefügt werden.

Typische Anwendungsbereiche und Anwendungen von XML

Aufgrund ihrer Eigenschaften als Meta-Textauszeichnungssprache eignet sich XML für ein sehr breites Anwendungsspektrum. Besonders typisch ist der Einsatz im Internet – denn Webseiten sind nichts anderes als Dokumente – und in lokal vernetzten Computersystemen.

Die Anwendungsgebiete reichen von Sprachdefinitionen wie DocBook, die zur Erstellung formatierter und druckbarer Textdokumente dienen, über die Speicherung von Metadaten und Protokollen für die Netzwerkkommunikation bis hin zu Dateiformaten für die anwendungsspezifische Speicherung von Konfigurationsdaten sowie dem vektoriellen Bildformat SVG. Besonders prominente Beispiele sind:

  • Atom / RSS Syndication Frameworks
  • DocBook
  • grafische Benutzerschnittstellen: Glade, XForms, XUL
  • die Keyhole Markup Language (KML) für die Annotation digitaler Kartendienste
  • MathML
  • der RDF-Standard für die Speicherung von Metadaten, speziell im WWW
  • das XBEL-Format für die Speicherung von Bookmarks
  • das XSPF Playlist-Format

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

10 Open-Source-Tools für jedes Testszenario

Apps und Anwendungen aller Art analysieren

10 Open-Source-Tools für jedes Testszenario

Ob einfacher Syntax-Test für Skripte oder aufwändiger Blackbox-Test für komplexe Web-Anwendungen: Mit den passenden Tools geht das Testing flott und mit Freude von der Hand. Hier zeigen wir zehn Open-Source-Werkzeuge, die man kennen sollte. lesen

Wege zur App – nativ, hybrid oder fürs Web

Abkürzungen erwünscht

Wege zur App – nativ, hybrid oder fürs Web

Um Apps für Android und iOS zu erstellen, gibt es mittlerweile sehr viele Ansätze. Eine Systematisierung ist hilfreich, um sich im technischen Dschungel zurechtzufinden. Ebenso entscheidend ist es, wie effektiv die jeweilige Vorgehensweise ist, denn die Time-To-Market ist oft entscheidend. Hier können plattformübergreifende Techniken punkten. lesen

Programmieren mit Notepad++

Erweiterbarer Texteditor unter Windows

Programmieren mit Notepad++

Das Notepad++ ist ein mächtiger Texteditor. Dabei bietet das Tool Syntax Highlighting und weitere Entwickler-Funktionen und lässt sich als Open-Source-Software um zusätzliche Sprachen und Plugins bis hin zur vollständigen IDE erweitern. lesen

Was ist Ajax?

Definition „Asynchronous JavaScript and XML“

Was ist Ajax?

Ajax bzw. AJAX steht als Akronym für „Asynchronous JavaScript and XML“. Die Technologie ermöglicht es, einzelne Teile einer Webseite bei Bedarf asynchron zu laden, so dass sie dynamisch wird. Der angezeigte Inhalt lässt sich gezielt so manipulieren, ohne die komplette Seite neu zu laden. lesen

Data-Lake-Strategie mit AWS Data Ingest umsetzen

Tools und Workflows zur Datenspeicherung in der Cloud, Teil 2

Data-Lake-Strategie mit AWS Data Ingest umsetzen

Die grundlegenden Technologien und Produkte, die AWS zur Datenspeicherung anbietet, haben wir bereits kennengelernt. Nun wollen wir in demonstrieren, wie Unternehmen mit den Mitteln von AWS eine Data-Lake-Strategie entwickeln können. lesen

Was ist ein Parser?

Definition „Zerteiler“

Was ist ein Parser?

Parser analysieren Zeichenketten und bereiten den Quelltext auf. Auf diese Weise wandeln sie den Code in eine Repräsentation um, mit der andere Programme wie Compiler oder HTML-Renderer arbeiten können. lesen

OWASP – Community für Anwendungssicherheit

Open Web Application Security Project

OWASP – Community für Anwendungssicherheit

OWASP ist eine offene Community mit Fokus auf dem Thema IT-Security in Anwendungen mit Schwerpunkt auf Web-Anwendungen. Neben guten Infos gibt es auch spannende Tools für Entwickler und Security-Interessierte. lesen

GitLab 11.2 erlaubt schnellere Web-App-Entwicklung

Echtzeit-Einblicke in Code-Änderungen

GitLab 11.2 erlaubt schnellere Web-App-Entwicklung

Die Version 11.2 von GitLab enthält einige Neuerungen. Dazu gehören auch Verbesserungen an der Web-IDE, Unterstützung für den Import von Android-Projekten und benutzerdefinierte Projektvorlagen. lesen

Was ist Ant?

Definition „Apache Ant“

Was ist Ant?

Apache Ant ist ein Werkzeug in Form einer Java-Bibliothek, die das Bauen und Verteilen von Software automatisieren kann. Das Tool übernimmt dabei zuverlässig zahlreiche Routineaufgaben. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45175304 / Definitionen)