Was ist der Unterschied zwischen HTML und XML?

HTML und XML sind zwei beliebte Markup-Sprachen in der Anwendungsentwicklung und Webentwicklung. Obwohl sie ähnliche Namen haben, haben sie unterschiedliche Anwendungsfälle. HTML wird hauptsächlich zur Entwicklung der Benutzeroberfläche einer Anwendung verwendet. Es rendert Text, Images, Schaltflächen, Kontrollkästchen und Dropdown-Felder, die auf einer Website oder in einer Anwendung angezeigt werden. Im Gegensatz dazu besteht der Hauptzweck von XML im Austausch und der Übertragung von Daten. Es kodiert Daten in einem Format, das sowohl für Maschinen als auch für Menschen lesbar ist. XML beschreibt, um welche Daten es sich handelt, während HTML bestimmt, wie die Daten dem Endbenutzer angezeigt werden.

Lesen Sie über XML »

Welche Gemeinsamkeiten gibt es zwischen HTML und XML?

Sowohl XML als auch HTML gehören – zusammen mit anderen Sprachen wie LaTeX, SVG, Markdown und SGML – zu einer Gruppe von Programmiersprachen, die als Markup-Sprachen bezeichnet werden.

Eine Markup-Sprache ist ein System zur Beschreibung von Daten sowohl für Menschen als auch für andere Softwareprogramme. Diese verwendet eine einfach zu verstehende Syntax, die die Struktur, den Typ, die Attribute, die Beziehungen zwischen den Elementen, die Anzeige und die Bedeutung der Daten definiert. 

Als Markup-Sprachen weisen HTML und XML mehrere Ähnlichkeiten auf.

Syntax

Markup-Sprachen haben normalerweise eine ähnliche Syntax, einschließlich Tags und Attributen.

Tags

Tags werden durch Symbole wie Klammern, Kommas und Punkte gekennzeichnet. Sie verleihen Datenelementen Struktur und Typ. Sie legen den Anfang und das Ende jedes Inhaltselements fest. In XML und HTML werden Tags in spitze Klammern eingeschlossen, wobei sich jedes Element zwischen zwei öffnenden und schließenden Tags befindet.

Attribute

Attribute stellen weitere Informationen über ein Element bereit, beispielsweise eine Image-URL. In HTML und XML definieren Sie die Attribute eines Elements innerhalb des öffnenden Tags.

Klar definierte Struktur

Für eine korrekte Verarbeitung müssen sowohl HTML- als auch XML-Dokumente den Syntaxregeln der jeweiligen Sprache entsprechen. Ein den Regeln entsprechendes Dokument wird als wohlgeformtes Dokument bezeichnet. Für ein wohlgeformtes Dokument ist Folgendes erforderlich:

  1. Ein einzelnes Root-Element
  2. Schließende (oder selbstschließende) Tags für alle Elemente
  3. Korrekte Verschachtelung von Tags, die in andere Tags eingeschlossen sind
  4. Korrekte Beschreibung von Sonderzeichen wie & für das &-Symbol

Entwickler verwenden zum Schreiben und Überprüfen der Syntax eine Texteditor-Anwendung oder eine integrierte Entwicklungsumgebung (IDE).

Mehr über IDEs lesen »

Nutzung

Entwickler verwenden die HTML- oder XML-Markup-Sprachen in der Regel nicht selbst. Diese Sprachen werden mit Skriptsprachen kombiniert, um dynamische Webseiten und Anwendungen zu erstellen. Dynamische Anwendungen ändern sich aufgrund neu eingehender Daten.

Im Fall von HTML sind Anwendungsseiten mithilfe von Skriptsprachen, die neues HTML generieren, dynamisch. Bei XML verwenden Skriptsprachen neue Informationen zum Aktualisieren von Parametern.

Plattform-Unabhängigkeit

Plattformunabhängigkeit ist die Fähigkeit einer Sprache, auf verschiedenen Betriebssystemen und Plattformen zu funktionieren, ohne dass Änderungen erforderlich sind. Sowohl XML als auch HTML sind textbasiert und verwenden eine einfache Syntax. Dies vereinfacht die Interpretation durch verschiedene Softwareanwendungen und Betriebssysteme. XML- und HTML-Code funktionieren unverändert über Browser und verschiedene mobile Plattformen hinweg.

Hauptunterschiede in der Syntax: HTML im Vergleich zu XML

Der Hauptunterschied zwischen HTML und XML liegt in ihren Tags. HTML verfügt über vordefinierte Tags, die jeder verwenden muss. Beim Schreiben von HTML können Sie keine eigenen Tags erstellen. Im Gegensatz dazu verwendet XML benutzerdefinierte Tags, die Sie als Dokumentersteller definieren können.

Als nächstes sprechen wir darüber, wie sich HTML und XML in ihren Tags unterscheiden.

Vordefinierte Tags

In HTML gibt es vordefinierte Tags. Das bedeutet, dass das Tag selbst aus einer durch den HTML-Standard definierten Set-Liste stammt. Der aktuelle HTML-Standard ist HTML5. 

Nachfolgend finden Sie Beispiele für vordefinierte HTML5-Tags:

  • <header> ist das Tag für die Kopfzeile des Dokuments
  • <p> ist das Tag für einen Absatz
  • <h1> bis <h6> sind Tags für sechs Ebenen von Überschriften
  • <a> ist das Tag für einen Hyperlink
  • <img> ist das Tag für ein Image
  • <div> ist der Tag für ein Containerelement zum Gruppieren anderer Elemente
  • <body> ist ein Tag, das den Hauptinhalt definiert

Umgekehrt sind Tags bei XML erweiterbar, d. h. sie werden individuell für den Zweck des Dokuments erstellt. Als Dokumentersteller würden Sie die Tags und Attribute definieren. Es kann sich dabei um eine beliebige Kombination aus Buchstaben und Zahlen handeln.

In der Regel verwenden Dokumentersteller einfache Wörter, um die Daten zu beschreiben. Sie müssen ein XML-Schema schreiben, das die Tags und Attribute für die Dokumentenvalidierung und das gemeinsame Verständnis definiert.

In der folgenden Tabelle geben wir einige Beispiele für HTML- und XML-Syntax.

HTML

XML

<p class="body_paragraph">Dies ist ein Paragraph</p>

class= bedeutet, dass das Element über ein Klassenattribut, body_paragraphverfügt, das zum Anwenden von Stilen verwendet werden kann.

<country language="English">Canada</country>

Land bezeichnet ein Länderelement. Sprache bedeutet, dass das Element über das Sprachattribut Englisch verfügt.

<body>

<h1>Dies ist eine Kopfzeile</h1>

<p class="body_paragraph">Dies ist ein Paragraph</p>

<div>

<h2>Dies ist eine Zwischenüberschrift </h2>

<p>Dies ist ein weiterer Absatz</p>

</div>

</body>

<continent name="Europe">

<country language="English">

Großbritannien

<currency>GBP</currency>

</country>

<country language="German">

Deutschland

<currency>EUR</currency>

</country>

</continent>

Selbstschließende Tags

In HTML können einige Elemente aufgrund fehlenden Inhalts selbstschließende Tags verwenden, die durch einen schließenden Schrägstrich gekennzeichnet sind. Eine begrenzte Anzahl von HTML-Tags kann selbstschließende Tags verwenden.

Im Gegensatz dazu können selbstschließende Tags in XML überall dort vorhanden sein, wo kein Inhalt vorhanden ist.

HTML

XML

<img src="my_image.jpg" alt="My image" />

<country name="United Kingdom" currency="GBP" />

Weitere wichtige Unterschiede: HTML im Vergleich zu XML

Trotz ihrer Ähnlichkeiten weisen XML und HTML einige Unterschiede auf.

Zielsetzung

HTML ist allgemein als die Sprache des Webs bekannt. Der Hauptzweck von HTML besteht darin, den Inhalt eines textbasierten Dokuments in grafischer Form im Browser anzuzeigen.

Im Gegensatz dazu ermöglicht XML verschiedenen Anwendungen den Austausch und die Speicherung von Daten und ihrer Struktur auf eine allgemein verständliche Weise. Der Hauptzweck von XML besteht darin, verschiedenen Arten von Anwendungen, wie z. B. Datenbanken, das Verständnis und die Verwendung derselben Daten und ihrer Struktur zu ermöglichen. 

Eingabe

HTML verwendet dynamische Eingabe, bei der Attributtypen zur Laufzeit anhand des erwarteten Datentyps überprüft werden. Wenn beispielsweise erwartet wird, dass es sich bei einem Attribut um eine Zahl handelt, die Eingabe jedoch als Zeichenfolge erfolgt, kann dies zur Laufzeit einen Fehler oder ein unerwartetes Verhalten von Webseiten verursachen. Dynamische Eingabe ermöglicht Änderungen an Webseiten mit neuen eingehenden Daten.

Im Gegensatz dazu verwendet XML die statische Eingabe, bei der Attributtypen in einem XML-Schema vordefiniert und vor dem Kompilieren oder Verarbeiten überprüft werden. Statische Eingabe führt zu weniger Fehlern, aber auch zu weniger dynamischen Inhalten.

Schema

Dokumenttypdefinitionen (DTDs) oder Schemata stellen eine Struktur bereit, die für ähnliche Dokumente validiert und wiederholt werden kann. Sie enthalten in der Regel ähnliche Informationen:

  • Die verwendete HTML- oder XML-Version
  • Zulässige Elemente und Attribute
  • Regeln für Dokumentstruktur und Elementbeziehungen

In HTML ist die DTD eine am Anfang eines HTML-Dokuments eingefügte Deklaration.

In XML handelt es sich bei der DTD um eine separate Datei. Die DTD hat in XML eine größere Bedeutung, da XML-Tags vom Dokumentersteller definiert werden. Die DTD trägt zum gemeinsamen Verständnis der Tags zwischen Datensender und -empfänger bei.

Wann sollte HTML im Vergleich zu XML verwendet werden

HTML ist eine Art von Auszeichnung, die als Präsentationssprache bekannt ist. Der Name Präsentationssprache ist darauf zurückzuführen, dass diese zu Anzeigezwecken dient. Mit HTML erstellen Sie Webseiten und clientseitige Webanwendungen. Diese wird in der Regel mit Cascading Style Sheets (CSS) für Gestaltungszwecke und der Programmiersprache JavaScript für dynamische Verhaltensweisen kombiniert.

Im Gegensatz dazu verwenden Sie XML für den Datenaustausch zwischen zwei Anwendungen oder Systemen. Um dasselbe Format zu verstehen, verfügen die Anwendungen über gemeinsame XML-Schemata, die den Inhalt einer XML-Datei definieren.

Während XML nach wie vor häufig verwendet wird, erfreut sich JSON, eine weitere vereinfachte Auszeichnungssprache für den Datenaustausch, aufgrund seines schnellen Analyseverfahrens zunehmender Beliebtheit. Lesen Sie einen Vergleich von JSON und XML, um das für Sie beste Datenaustauschformat auszuwählen.

So verwenden Sie HTML und XML zusammen

XML lässt sich in HTML einbetten und mit der Programmiersprache JavaScript analysieren, um dynamische Webseiten zu erstellen. Ebenso lässt sich HTML bei Bedarf auch in XML einbetten, wobei Zeichendaten (CDATA) für Klartext verwendet werden. Siehe folgende Beispiele.

XML in HTML

HTML in XML

<html>

  <head>

    <title>Eingebettete XML-Seite</title>

    <script type="text/xml">

      <data>

        <item>

          <name>Apfel</name>

          <price>1.00</price>

        </item>

        <item>

          <name>Passionsfrucht</name>

          <price>2.00</price>

        </item>

      </data>

    </script>

  </head>

  <body>

    <h1>Dynamische Obstpreise</h1>

    <div id="output"></div>

    <script>

      var xml = document.querySelector('script[type="text/xml"]').textContent;

      var parser = new DOMParser();

      var doc = parser.parseFromString(xml, "text/xml");

      var output = document.querySelector('#output');

      var items = doc.getElementsByTagName('item');

      for (var i = 0; i < items.length; i++) {

        var item = items[i];

        var name = item.getElementsByTagName('name')[0].textContent;

        var price = item.getElementsByTagName('price')[0].textContent;

        output.innerHTML += '<div><strong>' + name + '</strong>: ' + price + '</div>';

      }

    </script>

  </body>

</html>

<embeddedHTML>

    <title>In XML eingebetteter HTML-Code</title>

    <description><![CDATA[

        <div>

            <h1>Eingebettete HTML-Kopfzeile</h1>

            <p>Eingebetteter HTML-Absatz.</p>

        </div>

    ]]></description>

</embeddedHTML>

Extensible HyperText Markup Language (XHTML) ist eine weitere Markup-Sprache, die sowohl HTML als auch XML in ihrer Syntax kombiniert.

Zusammenfassung der wichtigsten Unterschiede: HTML im Vergleich zu XML

 

HTML

XML

Wie lautet es?

Eine Auszeichnungssprache, die hauptsächlich zur Anzeige strukturierter Inhalte in einem Browser verwendet wird.

Eine Auszeichnungssprache, die hauptsächlich zum Austausch strukturierter Daten zwischen Computersystemen verwendet wird.

Jahr der Veröffentlichung

1998.

1993.

Zweck

Sprache der Präsentation.

Sprache für den Datenaustausch.

Verwenden Sie es

Beim Erstellen clientseitiger Webseiten oder Web-Apps.

Beim Datenaustausch zwischen zwei Systemen ( überprüfen Sie jedoch, ob JSON das bessere Format für Sie ist).

Tags

Vordefinierte Tags.

Erweiterbare Tags.

Eingabe

Dynamisch.

Bei Verwendung eines XML-Schemas behoben.

Wie kann AWS Ihre HTML- und XML-Anforderungen unterstützen?

Alle Datenintegrationsservices von Amazon Web Services (AWS) können XML-Dateien verarbeiten. Hier sind zwei Beispiele:

  • AWS Glue ist ein Serverless Datenintegrationsservice, mit dem Sie Daten mit einer interaktiven visuellen Point-and-Click-Schnittstelle vorbereiten können, ohne Code schreiben zu müssen. AWS Glue DataBrew kann alle Arten von Dateiformaten aufnehmen, einschließlich XML.
  • Amazon Simple Queue Service (Amazon SQS) ist ein vollständig verwalteter Warteschlangen-Service für Nachrichten, den Sie zum Senden, Speichern und Empfangen von Nachrichten zwischen Softwarekomponenten in beliebigem Umfang verwenden können. Amazon-SQS-Nachrichten können bis zu 256 KB Textdaten enthalten, einschließlich XML, JSON und unformatierte Daten.

Darüber hinaus bietet AWS eine breite Palette von Tools und Services für die Entwicklung, das Bereitstellen und den Betrieb Ihrer Anwendungen in großem Maßstab. Hier sind beispielsweise zwei Services, die Sie verwenden können:

  • Mit AWS Amplify Studio können Sie visuell eine pixelgenaue Benutzeroberfläche erstellen. Verbinden Sie Ihre Frontend-Benutzeroberfläche mit wenigen Klicks mit einem Cloud-Backend.
  • Mit Amazon Lightsail können Sie vorkonfigurierte Entwicklungs-Stacks verwenden, um mit nur wenigen Klicks benutzerdefinierte Anwendungen und Websites zu erstellen.

Beginnen Sie mit Ihrer Anwendungsentwicklung in AWS, indem Sie noch heute ein Konto erstellen.