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

Welcher App-Typ für welches Szenario?

Wege zur App – Abkürzungen erwünscht

Welcher App-Typ für welches Szenario?

Apps für Android und iOS lassen sich auf verschiedenen Wegen erstellen. Eine Systematisierung ist hilfreich, um sich im technischen Dschungel zurecht zu finden. Bei der Time-To-Market können plattformübergreifende Techniken punkten. lesen

Pflegeanleitung für sichere Software

Sichere Softwareentwicklung – Teil 2

Pflegeanleitung für sichere Software

Will man eine Software auch sicher machen bedeutet das viel Arbeit. Es gilt Schwachstellen zu verhindern und von Beginn an einen sorg­samen Umgang mit Daten zu pflegen. Dazu gehört die Trennung von Datenverarbeitung und ihrer Darstellung ebenso wie eine konsequente Validierung von Ein- und Ausgangsdaten. Dann braucht es nur noch sichere Übertragungswege und regelmäßige Prüfroutinen. Oder fehlt da noch was? lesen

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

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 45175304 / Definitionen)