it-swarm.dev

Beziehung und Unterschiede zwischen SGML, XML, HTML und XHTML

  1. Ich habe mich gefragt, was "Profil" in Wikipedia bedeutet.

    XML ist ein Profil eines ISO-Standard-SGML, und der größte Teil von XML stammt unverändert aus SGML.

  2. Laut http://xml-tips.assistprogramming.com/sgml-xml-html-xhtml-all-together.html :

    HTML ist eine Teilmenge von SGML.

    XML ist eine hochfunktionale Teilmenge von SGML.

    XHTML erweitert und unterteilt HTML.

    Bedeutet "eins ist eine Teilmenge eines anderen", dass der Code im ersten auch syntaktisch korrekt und semantisch der gleiche wie im zweiten ist?

    Wie im Sinne der elementaren Mengenlehre

    • sind HTML, XML und XHTML verschiedene Untergruppen von SGML?
    • überschneiden sich XML und HTML fast nicht?
    • ist XHTML eine Obermenge von XML und HTML?
  3. Kann ich eine präzisere und klarere Zusammenfassung der Unterschiede in den Zwecken der vier und/oder wann welche verwendet werden sollen, als den obigen Link erwarten? Ich bin wirklich verwirrt über die klare Grenze zwischen ihren beabsichtigten Zwecken.
  4. Laut http://xml-tips.assistprogramming.com/sgml-xml-html-xhtml-all-together.html :

    XML ist keine einzelne Markup-Sprache. Es ist eine Metasprache, mit der Benutzer ihre eigene Auszeichnungssprache entwerfen können.

    Ich habe mich gefragt, wie man versteht, dass XML und HTML beide Teilmengen von SGML sind, aber HTML ist eine Auszeichnungssprache, während XML keine Auszeichnungssprache, sondern eine Metasprache für das Entwerfen von Auszeichnungssprachen ist.

    Sind sowohl SGML als auch XHTML auch Metasprache für das Entwerfen von Markup-Sprachen?

  5. Wie in beiden Links erwähnt, ist HTML sowohl eine Anwendung von SGML als auch eine Teilmenge von SGML, und XHTML ist eine Anwendung von XML. Ich frage mich, welche Unterschiede bestehen zwischen der Aussage, dass eine Sprache eine Anwendung einer anderen ist und eine Sprache eine Teilmenge einer anderen?
16
Tim

HTML und XML sind beide Auszeichnungssprachen (daher die * ML). XML ist eine generische Auszeichnungssprache, die zur Darstellung beliebiger Daten geeignet ist, während HTML eine bestimmte Auszeichnungssprache ist, die nur zur Darstellung von Webseiten geeignet ist.

HTML und XHTML sind beide nur Teilmengen von SGML, mit der Ausnahme, dass XHTML über zusätzliche Spezifikationen verfügt, sodass es auch als XML validiert wird. Stellen Sie sich XML als den einflussreichen Paten von XHTML vor.

Aufgrund dieser Beziehung zu SGML in allen drei Sprachen gibt es viele Ähnlichkeiten, die jedoch alle als unterschiedliche Sprachen betrachtet werden. Vieles, was diese Sprachen definiert, sind jedoch ihre Einschränkungen für SGML.

  • HTML schränkt SGML ein, indem es eine Liste von Tags definiert, die verwendet werden dürfen.
  • XML schränkt SGML ein, indem nicht geschlossene oder leere Start- und End-Tags nicht zugelassen werden, und erzwingt die explizite Angabe von Attributen. XML hat auch eine große Anzahl zusätzlicher Einschränkungen, die in SGML nicht gefunden werden.
  • XHTML beschränkt SGML mit den Tags aus HTML (mit einigen Ausschlüssen wie Frameset usw.) sowie mit den Einschränkungen für Tags und Entitäten aus XML.

Sie können dieses Dokument hilfreich finden, obwohl die technischen Begriffe möglicherweise schwer zu verdauen sind. http://www.w3.org/TR/NOTE-sgml-xml-971215

XML ist keine Metasprache zum Definieren von Auszeichnungssprachen. Wirklich, das ist nur SGML. XML ist einfach eine Datenformatierungs-Markup-Sprache. Ihre zitierte Quelle verwendet technische Begriffe ungenau, weshalb sie verwirrend sind.

Zweck

XML dient zum Definieren Ihres eigenen Datenformats. Wenn Sie Daten zwischen zwei Systemen übertragen möchten, ist XML häufig die richtige Methode.

Wenn Sie beispielsweise einen Kundenauftrag von Ihrer Website an Ihr Abrechnungssystem übergeben müssen, können Sie diese XML-Nutzdaten erstellen:

<order id="12345">
    <name>John Doe</name>
    <item id="443">Adult Diapers</item>
</order>

Ihre Website würde dann dieses XML an Ihr Abrechnungssystem senden, das dann die Daten aus diesem XML analysieren könnte.

XHTML und HTML sind offensichtlich nur für Webseiten. Der Hauptzweck von XHTML besteht darin, einen Großteil der Unklarheiten zu beseitigen, die wir in den vergangenen Jahren (Jahrzehnten) der Webentwicklung hatten. In den späten 90ern, als ich anfing, verwendeten wir HTML 3.2, was ernsthaft schlampigen Code ermöglichte. HTML 4+ und XHTML versuchen, dies zu beheben, indem sie explizite schließende Tags, explizite Attribute und nicht zugelassene Tags stark vorschlagen oder erzwingen, was sowohl für Browser als auch für Menschen einfacher ist und unerwartete Unterschiede im Verhalten zwischen Browsern vermeidet.

8
Jordan

Ich werde zunächst sagen, dass XML eine Teilmenge von SGML ist, dann ist XHTML eine Teilmenge von XML.

HTML basiert auf SGML, jedoch mit einigen anderen Regeln. XHTML ist im Grunde eine aktualisierte HTML-Version, aber mit einigen Regeln wird es so platziert, dass es auch korrektes XML ist.

Einige Hinweise zur Funktionsweise des HTML 5-Standards mit anderen Spezifikationen. http://dev.w3.org/html5/spec/Overview.html#compliance-with-other-specifications

Ich bin mir nicht sicher, welche Unterschiede zwischen SGML und XML bestehen oder wann Sie sie übereinander verwenden würden. Obwohl XML häufig verwendet wird.

Für XHTML und HTML ist es wahrscheinlich besser, immer XHTML zu verwenden. Fehler sind leichter zu finden und als Bonus wird es auch gültiges XML sein.

6
WalterJ89

Die Geschichte dieser könnte Sie hier aufklären. Nur über Metasprachen, Profile, Teilmengen und Instanzen zu sprechen, ist etwas trocken! Ich werde versuchen, es kurz und einfach zu halten.

SGML entwickelte sich aus GML (Generalized Markup Language), das in den 1960er Jahren von drei IBM-Ingenieuren entwickelt wurde, um ausführliche rechtliche, behördliche, industrielle und militärische Dokumente zu speichern. GML wurde schrittweise weiterentwickelt, bis es 1986 als SGML standardisiert wurde.

GML/SGML ist an sich keine Sprache . Es ist eher eine Metasprache , dh eine Sprache, um konforme Sprachen zu definieren oder die "Regeln", nach denen die Formatierung einer Vielzahl von ausführlichen Dokumenten allgemein einheitlich gestaltet werden kann. Jeder andere Dokumenttyp würde daher seinen eigenen SGML-konformen Satz von Tag-Namen plus zugehörigen Attributen sowie alle definierten formalen öffentlichen Bezeichner/Namespaces, Schemata usw. definieren. Jedes so definierte Format wurde daher zu einer eigenen Datenspeichersprache für das Dokument Typ betroffen. Aufgrund der Konsistenz zwischen allen Dokumenten, die den SGML-Regeln entsprechen, ist es möglich, Code zu schreiben, um Daten in diesen Dokumenten zu sammeln/zu verarbeiten und Daten zwischen Dokumenten zu übertragen, die ein gemeinsames Format haben.

SGML wurde für das zahlreiche, aber kleinere Dokument als übermäßig aufwendig befunden. Daher wurde XML zwischen 1996 und 2006 als Teilmenge (das Word-Profil entwickelt. ) effektiv bedeutet dasselbe als Teilmenge) von SGML, das sowohl kleine als auch große Dokumente verarbeiten kann. Als Teilmenge einer Metasprache ist XML selbst eine Metasprache, wenn auch eine einfachere. Man könnte sagen, dass XML eine Grundlage für das Entwerfen von Dokumentformaten bietet, die sowohl für die einfache Speicherung als auch für die Übertragung zwischen Systemen in einem Netzwerk geeignet sind.

Nach der Standardisierung von SGML, aber bevor es zu XML vereinfacht wurde, entstand das Internet und damit ein Dokumentformat, das eine einfache Übertragung und Anzeige von ermöglichte sowohl Dokumente als auch lose Daten. Das Ergebnis war die HTML-Sprache, eine Instanz (gelegentlich als Anwendung bezeichnet ) von SGML mit 18 vordefinierten Tags, die eine standardisierte Möglichkeit zur Anzeige einer Vielzahl von Datentypen bieten, z Text, Bilder, Audio usw. HTML nutzte SGMLs, sodass einige Elemente Start- oder End-Tags weglassen konnten. Nachfolgende HTML-Versionen fügten neue Tags und Attribute hinzu und machten einige vorhandene überflüssig. Bis zu HTML 5 wurden Änderungen an HTML vorgenommen, sodass es immer eine untergeordnete Sprache von SGML blieb.

Nachdem XML standardisiert worden war, kam eine Instanz namens XHTML heraus, die die vorhandenen HTML-Tag-Namen mit der Genauigkeit von XML beim Schließen von Tags, Namespaces, Schemas usw. kombinierte. XHTML versprach zunächst, für die Speicherung, Übertragung und Anzeige von Daten nützlich zu sein. Es schien im Begriff zu sein, HTML als gängigste Methode zur Anzeige von Webmaterial zu ersetzen - bis HTML 5 herauskam. HTML 5 verfügte über einige syntaktische Funktionen, die über die in SGML definierten Funktionen hinausgingen, um eine umfassendere Datenanzeige zu ermöglichen, insbesondere für mit Multimedia beladene Websites. Im Laufe der Zeit wurden HTML 5 zusätzliche Funktionen hinzugefügt, die die Verwendung für die Datenanzeige/-nutzung noch weiter bereicherten, so dass es unwahrscheinlich ist, dass sie jemals durch neue XHTML-Versionen ersetzt werden, zumindest was die Anzeige von Daten betrifft. Obwohl Standards für HTML und XHTML von W3C-Arbeitsgruppen erstellt werden, wird die tatsächliche Verbreitung dieser Sprachen "vor Ort" von progressiven Webdesignern durchgeführt, und es gibt keine progressiveren als diejenigen, die im Mediensektor (Werbung/PR/Marketing) arbeiten: gerecht Schauen Sie sich die Kreativität von Websites von Werbeagenturen im Vergleich zu anderen Websites an. Dieser Sektor hat sich wirklich für die neue HTML 5-Sprache entschieden und war erfreut, seine Kapazität für SVG, Audio, Video und die neuen APIs zu nutzen. Die sofortige Einführung von HTML 5 führte schnell zu seiner Beliebtheit bei Webdesignern im Allgemeinen. Dieser Prozess wurde durch den Online-Austausch von Fähigkeiten und Tricks auf YouTube und verschiedenen anderen Websites beschleunigt. Eine aktualisierte XHTML-Version, XHTML5, ist erschienen, aber es handelt sich nicht wirklich um ein striktes XML-Derivat, sondern um eine XML-serialisierte Version von HTML5. Nur ein kleiner Teil der Websites scheint eine Verwendung dafür zu haben.

Das ist die Geschichte hinter diesen Datensprachen. Ich hoffe, es hilft Ihnen, die Bedeutung und den Zweck von allen zu unterscheiden. Philosophisch zeigt diese Geschichte, wie ein wesentliches Ermöglichungswerkzeug (SGML) für eine neue Technologie (Internet) in der neuen Umgebung mit immer unterschiedlicheren Anforderungen über seine ursprünglichen Grenzen hinauswachsen und dennoch konzeptionell einfacher, anwendbar vielseitiger und wirkungsvoller werden kann.

2
Trunk

Im Allgemeinen ist in der Standardwelt ein "Profil" eines Standards eine Auswahl von Optionen, die der Standard bietet: Wenn der Standard beispielsweise die Codierung von Dokumenten in UTF-8 oder UTF-16 ermöglicht, ist möglicherweise ein Profil des Standards erforderlich Sie müssen in UTF-8 codiert werden. Der Begriff "Teilmenge" hat eine sehr ähnliche Bedeutung; obwohl der Begriff "Profil" wohl etwas weiter gefasst ist.

1
Michael Kay