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

Development-Tools für macOS

Programmieren am Apple Mac

Development-Tools für macOS

Als vollwertiges Unix-System eignet sich macOS wunderbar für die Software-Entwicklung. Wir stellen einige Tools vor, mit denen das Programmieren leichter von der Hand geht. lesen

Virtual Developer vereint Code-Generatoren

Automatisierte Programmierung in der Cloud

Virtual Developer vereint Code-Generatoren

Mit dem „Virtual Developer“ hat die Generative Software GmbH aus Freiburg eine patentierte Cloud-Plattform entwickelt, die eigenständig Code generiert. Programmieraufgaben lassen sich damit automatisieren. lesen

Was ist AndroMDA?

Definition „AndroMDA Model Driven Architecture Framework“

Was ist AndroMDA?

AndroMDA ist ein Generator-Framework auf Basis der modellgetriebenen Softwareentwicklung. Es liefert die Grundvoraussetzung, um UML-Diagramme mit externen Tools in Programmcode umzuwandeln. lesen

Was ist JDOM?

Definition „Document Object Model für Java“

Was ist JDOM?

JDOM ist eine Softwarebibliothek für Java und dient der Manipulation von XML-Dokumenten. Ziel ist es, in von Java über eine Baumstruktur auf ein XML-Dokument zuzugreifen, lesen

Was ist das Spring Framework?

Defintion „Spring“

Was ist das Spring Framework?

Das Spring Framework ist ein schlankes Open-Source-Framework für Java. Mittels Dependency Injection und aspektorientierter Programmierung soll es einen insgesamt leichteren und besser wartbaren Programmcode ermöglicht. lesen

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

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)