2009-09-15 7 views
22

Ok, ich bin mir also nicht ganz sicher, was der Unterschied zwischen diesen Sprachen ist. Könnte jemand klären? Ich weiß, dass XML benutzerdefinierte Tags hat und HTML vordefiniert ist, aber das ist im Grunde meines Wissens.Vergleichen/kontrastieren HTML, XHTML, XML und HTML5

Ich weiß, dass HTML5 HTML ersetzen soll, aber sollte XML das auch nicht tun? Im Grunde, welche Sprachen hier sind ein Ersatz für den anderen, und welche ergänzen? Ersetzt XML XHTML?

Antwort

29

HTML ist die HyperText Markup Language, die entworfen wurde, um strukturierte Dokumente zu erstellen und für semantische Bedeutung hinter den Dokumenten zu sorgen. HTML5 ist die nächste Version der HTML-Spezifikation.

XML ist die Extensible Markup Language, die Regeln zum Erstellen, Strukturieren und Codieren von Dokumenten bereitstellt. Häufig wird XML zum Speichern von Daten und zur Kommunikation zwischen Anwendungen verwendet. Es ist Programmiersprache-agnostisch - alle wichtigen Programmiersprachen bieten Mechanismen zum Lesen und Schreiben von XML-Dokumenten, entweder als Teil des Kerns oder in externen Bibliotheken.

XHTML ist ein XML-basiertes HTML. Es hat die gleiche Funktion wie HTML, aber dieselben Regeln wie XML-Dokumente. Diese Regeln behandeln die Struktur des Markups.

+0

Einige meiner Beschreibungen könnten ein wenig Arbeit gebrauchen. Fühlen Sie sich frei, irgendwelche Formulierungen aufzuräumen, wenn Sie wollen. Ich werde versuchen, später reinzukommen und aufzuräumen. –

+6

Beachten Sie, dass HTML5 auch XHTML aktualisiert. Auch bekannt als XHTML5. – Anne

+2

also würde ich falsch sein zu sagen, dass XHTML der Nachfolger von HTML ist, und HTML5 wird XHTML ersetzen? Oder wird HTML & HTML5 niemals ein Ersatz für XHTML sein? – GiH

6

Sie können google oder wikipedia für genaue Definition verwenden. Ich werde nur ein Beispiel geben:

HTML:

<DIV id=header>header</div> 

XHTML:

<div id="header">header</div> 

HTML 5:

<header>header</header> 

XML ist die Syntax, auf dem XHTML basiert:

<something otherthing="stuff">content</something> 
+0

HTML ermöglicht auch Kleinbuchstaben Elementnamen. – Gumbo

+1

ja, aber es kann auch Großbuchstaben. deshalb setze ich "DIV" und "div". – marcgg

0

Die Standards für alle diese Sprachen werden von der World Wide Web Consortium verwaltet.

Die genauen Unterschiede und Feinheiten sind außerhalb des Bereichs einer Frage auf Stackoverflow, aber w3schools.com hat einige Tutorials, die Ihnen dabei helfen können.

Ich würde vorschlagen, das Intro zu jeder der Sprachen zu lesen, nach denen Sie auf w3schools gefragt haben. Das sollte Ihnen eine Vorstellung von den Unterschieden geben.

+3

Die genauen Unterschiede und Feinheiten sind das Brot und Butter von stackoverflow. [w3schools ist nicht bekannt für seine Genauigkeit oder Feinheit] (http://w3fools.com/) – Benxamin

1

HTML ist eine Auszeichnungssprache für Webseiten. HTML 5 ist die fünfte Version von HTML.

XML ist eine weitere Auszeichnungssprache. XHTML ist ein Dialekt von XML, der HTML sehr ähnlich ist und es ersetzen sollte, aber aufgrund der schlechten Unterstützung hat es im Grunde nur neben HTML existiert.

2

HTML ist eine Auszeichnungssprache für Webseiten, während XML eine Auszeichnungssprache für Informationen ist. XML war nie als direkter Ersatz für HTML gedacht, es hat einen anderen Umfang.

HTML 5 ist nur die neueste Version von HTML. Die "aktuelle" Version von HTML (die von praktisch allen verwendeten Browsern unterstützt wird) ist 4.01.

XHTML ist ein auf HTML basierender Standard, der an die strengeren XML-Regeln angepasst wurde. Ein XHTML-Dokument ist auch ein XML-Dokument, und wenn es korrekt geschrieben ist, kann es von jedem XML-Parser analysiert werden.

+1

Die aktuelle Version von HTML ist 4.01. – Gumbo

+0

@Gumbo: Das habe ich gemeint. ;) – Guffa

8

XML ist eine Syntax: Es definiert, wie Sie Daten schreiben, aber nicht, welche Daten Sie schreiben können. Zum Beispiel:

<something otherthing="stuff">content</something> 

HTML ein Vokabular ist: es definiert, welche Arten von Elementen können Sie schreiben (zB BODY, P, LI, etc.), ist aber nicht sehr streng darüber, wie Sie es schreiben (siehe "Tag soup ");

XHTML ist (ungefähr) das HTML-Vokabular außer geschrieben mit der (viel strengeren) XML-Syntax. Es ist daher (weil die Syntax strenger ist) leichter für Software zu parsen, aber es ist für Nicht-Programmierer schwieriger, korrekt zu schreiben. Es ist nicht sehr beliebt, weil Internet Explorer es nicht richtig unterstützt.

HTML5 ist die nächste Generation von HTML (die aktuelle Version von HTML 4), noch im Entwurf, noch kein Standard, teilweise von einigen Browsern (und so, experimentell) unterstützt. HTML5 unterstützt explizit die Bereitstellung entweder mit der XML-Syntax oder als Tag-Suppe.

9

XML ist eine Metasprache. Eine Metasprache ist eine Sprache, die einen Syntaxmechanismus zum Erstellen anderer Sprachen bereitstellt, ohne den Ausdruck durch eine vordefinierte Grammatik zu beschränken. XML ist in der SGML-Doctype-Sprache definiert. Die Einhaltung der strengen Syntaxanforderungen von XML wird als Wohlgeformtheit bezeichnet, bei der es sich um eine präzise Genauigkeit für eine angegebene Menge von Anforderungen handelt, um eine einheitliche Verarbeitung eines Dokuments über verschiedene Anwendungen und Benutzeragenten zu erreichen.

SGML ist eine Metasprache wie XML und ist sogar das übergeordnete Element von XML. SGML bietet eine breite Form zum Definieren von Daten in Syntaxverwendungen, ohne eine Datentypkonvention bereitzustellen. Im Gegensatz zu SGML bietet XML eine starre und extrem vereinfachte Syntax, die nicht zu Verwirrungen führen kann. XML bietet im Gegensatz zu SGML auch Datentypdefinitionen. Elemente in XML stellen den Namespacebereich in Lambda-Form bereit, während SGML Namespaces nicht unterstützt.

Doctype ist eine SGML-basierte Sprache, die eine völlig andere Syntax als XML für die Definition von Markup-Sprachengrammatiken und breite Datentypkonventionen verwendet, um Datenelemente von Text zu unterscheiden.

XML-Schema ist eine XML-geschriebene Sprache, die sprachspezifische Grammatikdefinitionen mit präziser struktureller Form zusätzlich zu bestimmten Datentypkonventionen für Elemente, Strukturen und Attribute ermöglicht. Im Gegensatz zu SGML-Vokabularen strukturierte Sprachen, die im Schema strukturell selbstbewusst sind, so dass sie ihre eigenen internen Anforderungen an jedem beliebigen Punkt in der Struktur kennen. Durch das Schema definierte Sprachen können aufgrund der strukturellen Selbsterfahrung sofort durch Verweis auf das Schemadokument für die Validierung geöffnet werden, während in Doctype definierte Sprachen unabhängig voneinander Software mit statischen Definitionen benötigen, um die Validierung durchzuführen.

HTML 1.0 wurde in Englisch geschrieben und ist weder SGML noch XML.

HTML 2 - 4 sind in SGML geschrieben und verfügen über SGML-Flexibilitäten wie Großbuchstaben oder Start-Tags ohne passendes schließendes Tag.

XHTML 1.0 ist eine SGML-definierte Form der HTML-Sprache mit einigen erweiterten Anforderungen, um progressive Kompatibilität zur XML-Syntax zu demonstrieren.

XHTML 1.1 ist die HTML-Sprache, die in XML mit XML-Wohlgeformtheitsanforderungen definiert ist.

HTML5 ist wie HTML 1.0 nicht mit einer Metasprache definiert. Es ist in englischem Text geschrieben und bewegt sich radikal gegen die einheitlichen Anforderungen einer XML-Serialisierung. HTML5 scheint für Benutzerfreundlichkeit und Medienbereitstellung ohne Rücksicht auf Struktur- oder Sprachhierarchien erstellt zu werden.

XHTML5 steht für "XML-Serialisierung von HTML5" und ist eine XML-Syntax für HTML5, die verwendet werden kann, wenn ein DOM-Baum wieder in HTML5 serialisiert wird (ein DOM-Baum verliert die Fähigkeit, zwischen Tagsüppchen und korrekten Tags zu unterscheiden) müssen die strengeren XML-Regeln und -Namespaces einhalten. Es dient zum leichteren Lesen von Maschinen oder zum Datenaustausch oder wenn zwei HTML5-Dokumente verglichen werden müssen. Es wird zusammen mit und im HTML5-Standard angegeben (Danke an hsivonen für das Aufzeigen).

+0

XHTML5 ist in der gleichen Spezifikation wie HTML5 definiert, obwohl der Titel der Spezifikation HTML5 ist. Die Definition ist öffentlich und seit Jahren öffentlich. – hsivonen

1

Zuerst gab es SGML, die begriffliche Vorfahre von HTML und XML, die eine ist

  • S tandard (ISO 8879: 1986), so dass unterschiedliche Organisationen und Programme Austausch von Dokumenten
  • G eneralized, so dass die Benutzer neue Tags definieren
  • M arkup, so dass der Dokumentinhalt um strukturelle Informationen ergänzt werden kann, die den Inhalt beschreiben, so dass es eine Grammatik gibt, die das Markup definiert.

Dann HTML wurde als eine bestimmte Gruppe von SGML-Tags erstellt wird definiert, wie man Web-Seiten dargestellt werden soll.

XML wurde als eine Vereinfachung von SGML erstellt.

XHTML wurde erstellt, um HTML als wohlgeformtes XML umzuformulieren (erfordert zum Beispiel das Schließen von Tags, was in SGML und HTML nicht unbedingt erforderlich war).

HTML 5 ist die aktuelle Version von HTML. Es lehnt die Motivation hinter XHTML ab und erlaubt eine lockere Spezifikation von Markup, als die Regeln von XML erfordern würden.

+0

Ich möchte hinzufügen, dass modernes HTML5 immer noch SGML ist, obwohl die HTML-Spezifikationen nicht mehr normativ auf den SGML-Standard (ISO 8879) verweisen. Das Vermächtnis von SGML zeigt sich in den lexikalischen Regeln für Elementnamen (zulässige Zeichen, Fallfaltung), in der HTML-Inferenz, im Verhalten von HTML. Auslassen von Attributnamen (wie in