WikiDer > Erweiterbare HyperText Markup Language

Extensible HyperText Markup Language
Erweiterbare HyperText Markup Language
Beispiel für XHTML
StatusVeröffentlicht
Startjahr26. Januar 2000
AutorenW3C und WASWG
GrundnormenHTML
Zugehörige NormenXML
AbkürzungXHTML
DomainWeltweites Netz
WebseiteXHTML 1.1
Portal  Portalsymbol  Informatik

XHTML (Erweiterbare Hypertext Markup Language) ist ein Auszeichnungssprache für besonders Webseiten, die die Funktionalität von . hat HTML, aber strenger Syntax. Denn HTML basiert auf dem flexiblen SGML, auf denen XHTML basiert XML, eine strengere Teilmenge von SGML. Die strengere Syntax von XML-Dokumenten erleichtert die Verarbeitung durch ein XML-Dokument.Parser, während SGML-Dokumente einen viel komplexeren Parser erfordern. XHTML 1.0 ist ein W3C-wurde am 26. Januar 2000 zum Standard.

Vorteile von XHTML

XHTML bietet, wenn es richtig verwendet wird, einige Vorteile gegenüber HTML. Weil XML-Dokumente wohlgeformt sein sollten, können sie leichter interpretiert werden durch Benutzeragenten. Ein korrekter XML-Parser muss einen fatalen Fehler ausgeben, wenn ein XML-Dokument nicht vollständig korrekt ist, während mit SGML-Parsern komplexe Fehlerkorrekturen vorgenommen werden. Da die Verarbeitung von XHTML weniger Rechenleistung erfordert, kann es auch von Benutzeragenten mit weniger Rechenleistung besser verarbeitet werden, wie z Mobiltelefone und pdas.

Bis zum Modularisierung von XHTML XHTML kann leicht um neue Elemente und Attribute erweitert werden. Es behebt auch Kompatibilitätsprobleme, die durch inoffizielle Erweiterungen des HTML-Standards verursacht werden, die nicht von allen Browsern unterstützt werden.

In XHTML können verschiedene XML-Namensräume verwendet werden, also MathML und Skalierbare Vektorgrafiken in ein XHTML-Dokument eingewebt.

Unterschiede zu HTML 4.01

Inhalt

Die wesentlichen Unterschiede zwischen XHTML 1.0 (XHTML 2.0 wird später besprochen) und HTML sind nicht groß, es können dieselben Elemente und Attribute verwendet werden. Der Hauptunterschied zwischen XHTML und HTML besteht darin, dass XHTML wohlgeformt sein sollte, bedeutet dies:

  • Alle Elemente müssen geschlossen sein
    • Falsch:

      Dies ist ein Absatz.

      Dies ist ein weiterer Absatz.

    • Richtig: <p>Dit is een alinea.</p><p>Dit is nog een alinea.</p>
  • Leere Elemente müssen ebenfalls geschlossen werden
    • Falsch: <br>
    • Richtig: <br />
  • Elemente müssen richtig verschachtelt werden
    • Falsch: <em><strong>Dit is tekst met nadruk.</em></strong>
    • Richtig: <em><strong>Dit is tekst met nadruk.</strong></em>
  • Attributwerte müssen in Anführungszeichen gesetzt werden
    • Falsch: <td rowspan=3>
    • Richtig: <td rowspan="3">
  • Alle Elemente und Attribute müssen in Kleinbuchstaben geschrieben werden
    • Falsch: <BODY><P ID="iets">Wikipedia</P></BODY>
    • Richtig: <body><p id="iets">Wikipedia</p></body>
  • Attribute dürfen nicht minimiert werden
    • Falsch: <textarea readonly>READ-ONLY</textarea>
    • Richtig: <textarea readonly="readonly">READ-ONLY</textarea>
  • Stil- und SkriptElemente sind #PCDATEN und wird daher geparst. Sonderzeichen, wie z <, sollte codiert werden als Entität oder innerhalb von a CDATA in einen Block gelegt werden
    • Falsch: <script type="application/x-javascript">if (i < j) document.write("kleiner");</script>
    • Richtig: <script type="application/x-javascript"><![CDATA[if (i < j) document.write("kleiner");]]></script>

Sogenannte leere Elemente wie <br /> und <hr /> kann auch vollständig geschrieben werden als <br></br> und <hr></hr> in XHTML wird davon jedoch dringend abgeraten, da viele (ältere) Browser damit nicht gut umgehen und weil es syntaktisch den Eindruck erweckt, dass diese Elemente etwas enthalten können.

Es wurden Programme entwickelt, um HTML in XHTML zu konvertieren, aber prinzipiell kann dies auch manuell erfolgen.

Technisch

Um XHTML 1.0 kompatibel mit HTML 4.01 zu halten, kann XHTML 1.0 mit dem met Mime Typtext/html was eigentlich für HTML gedacht ist. Dies hat jedoch einige Nachteile, da mit diesem Mime-Typ gesendetes XHTML einfach als HTML verarbeitet wird, das Dokument also eigentlich ungültiges HTML 4.01 anstelle von XHTML ist, sogenannte Tagsuppe. XHTML-Dokumente, die mit der richtigen . gesendet wurden application/xhtml xml-mime-type werden von einigen Browsern verwendet, einschließlich der häufig verwendeten Internet Explorer (bis Version 9)[1], nicht unterstützt. Andere Browser wie Feuerfuchs und Chrom unterstütze dies.

Versionen von XHTML

XHTML 1.0

XHTML 1.0 war die erste XHTML-Version und wurde am 26. Januar 2000 zum W3C-Standard. XHTML 1.0 ist eine Neuformulierung von HTML 4.01 in XML mit dem Ziel, abwärtskompatibel sein. Es gibt drei Versionen von XHTML 1.0:

  • XHTML 1.0 Streng, entspricht HTML 4.01 Strict mit XML-Regeln.
  • XHTML 1.0 Übergangszeit, lässt einige veraltete Elemente und Attribute zu, die in XHTML 1.0 Strict nicht verwendet werden sollten, wie z <center>, <u>, <strike>, und <applet>.
  • XHTML 1.0 Frameset, ermöglicht die Verwendung von HTML-Frames.

XHTML 1.1

XHTML 1.1 ist die erste XHTML-Version, die auf der Modularisierung von XHTML basiert und die Grundlage für zukünftige XHTML-Versionen sein sollte. Aufgrund dieser Modularisierung und der nicht mehr zulassenden text/html-mime-type ist XHTML 1.1, nicht kompatibel mit XHTML 1.0 und HTML 4.01. XHTML 1.1 unterstützt auch Ruby, eine Auszeichnungssprache für ostasiatische Sprachen.

XHTML 2.0

Diese Version von XHTML 2.0 war in Entwicklung, wurde aber nie zu einem weit verbreiteten Standard. Es wäre eine völlig neue Auszeichnungssprache und nicht irgendeine neue Version. Daher war XHTML 2.0 nicht mit HTML oder einer anderen Version von XHTML kompatibel. Im Jahr 2009 beschloss das W3C, die Entwicklung von XHTML 2.0 zugunsten von HTML5 einzustellen[2].

Die größten Unterschiede zwischen XHTML 2.0 und XHTML 1.0 waren:

  • HTML-Formulare würden ausgetauscht mit XForms.
  • HTML-Frames würden ausgetauscht mit XFrames.
  • Das DOM-Ereignisse würde getauscht werden mit XML-Ereignisse welche die XML Dokumentobjektmodell benutzen.
  • Ein neuer Listentyp wurde eingeführt: <nl> war speziell für die Erstellung von Navigationen gedacht.
  • Jedes Element könnte als a . verwendet werden Hyperlink, beispielsweise: <li href="articles.html">Startpagina</li>.
  • Jedes Element könnte alternative Medien unter Verwendung der src Attribut, zum Beispiel: <p src="lbridge.jpg" type="image/jpeg">London Bridge</p> Anstatt von <img src="lbridge.jpg" alt="London Bridge" />.
  • Neben den Kopfelementen h1 bis einschließlich h6 könnte auch de ha- und SektionElemente werden verwendet, um die Struktur des Textes besser darzustellen.
  • Die Schriftelemente <i>, <b> und <tt> würde in XHTML 2.0 fehlen. Die einzigen verbleibenden Schriftelemente sind <sup> und <sub>.

Andere Versionen von XHTML

  • XHTML-Grundlagen: eine Light-Version von XHTML, die für viele verschiedene Benutzerprogramme gedacht ist.
  • XHTML-Mobilprofil: Eine Erweiterung von XHTML Basic der Open Mobile Alliance speziell für Mobiltelefone.

Externer Link

Spezifikationen