WerkzeugeAndere Sprachen
|
Extensible Hypertext Markup Language
Der W3C-Standard Extensible HyperText Markup Language (erweiterbares HTML; Abkürzung: XHTML) ist eine textbasierte Auszeichnungssprache zur Darstellung von Inhalten wie Texten, Bildern und Hyperlinks in Dokumenten. Es ist eine Neuformulierung von HTML 4 in XML 1.0: Im Gegensatz zu seinem Vorgänger HTML, welcher mittels SGML definiert wurde, verwendet XHTML die strengere und einfacher zu parsende SGML-Teilmenge XML als Sprachgrundlage. XHTML-Dokumente genügen also den Syntaxregeln von XML.
[Bearbeiten] XHTML 1.0: Übergang von HTML zu XHTMLXHTML 1.0 enthält alle Elemente von HTML 4.01, sodass eine Umformung von HTML-4.01-konformen Seiten zu XHTML 1.0 leicht möglich ist. Ein nicht XHTML-fähiger Webbrowser kann XHTML-Dokumente unter bestimmten Bedingungen trotzdem richtig darstellen (siehe MIME-Typen und HTML-Kompatibilität): er verarbeitet sie als normales HTML. Dabei wird ausgenutzt, dass die HTML-Parser der verbreiteten Browser tolerant gegenüber Syntaxfehlern sind. Diese Fehlertoleranz entstand als Antwort darauf, dass zahlreiche HTML-Dokumente im World Wide Web nicht dem formalen Standard entsprachen und gleichzeitig Fehlermeldungen des Browsers über HTML-Syntax-Fehler von den Anwendern als sehr lästig empfunden werden. Für XHTML hingegen gilt die XML-Grundidee des unkomplizierten Datenaustauschs und der problemlosen automatisierten Verarbeitung. Daher sind Programme, die XHTML verarbeiten, nicht mehr derartig tolerant. Neuere XHTML-Dokumenttypen enthalten keine Layout-Auszeichnungen mehr. XHTML Transitional 1.0 ist der letzte Dokumenttyp, welcher noch Layout-Elemente enthält, wie etwa <font> oder <b>. In moderneren Dokumenttypen wie XHTML Strict 1.0 sind zwar noch wenige Layout-Elemente enthalten, allerdings nur noch aus Gründen der Rückwärtskompatibilität zu den Transitional-Dokumenttypen. In XHTML Basic oder XHTML 2 schließlich sind Layout-Elemente gar nicht mehr enthalten. Für die visuelle Gestaltung von XHTML-Elementen soll nur noch auf externe CSS-Regeln verwiesen werden. [Bearbeiten] XHTML-ModularisierungUm die Entwicklung von Sprachen zu ermöglichen, die auf XHTML basieren, wurden verwandte und zusammengehörige Elemente in XHTML 1.1 in so genannten Modulen zusammengefasst. Basierend auf diesen in DTDs und zukünftig in XML-Schema abgefassten Modulen kann man eigene XHTML-Dokumenttypen nach dem Baukastenprinzip zusammenstellen und mit anderen XML-basierten Sprachen mischen. Beispielanwendungen der XHTML-Modularisierung sind XHTML 1.1, XHTML Basic sowie die Mischungen mit SMIL (Multimedia), SVG (Vektorgrafik) und MathML (mathematischer Formelsatz). Zum Einbinden allgemeiner Objekte wie zum Beispiel Multimedia-Plug-ins gibt es das Objektmodul. [Bearbeiten] VersionenübersichtXHTML fasst als Begriff die verschiedenen XHTML-Versionen zusammen:
[Bearbeiten] Die wichtigsten Unterschiede zwischen HTML und XHTML
Außerdem:
[Bearbeiten] BeispielEin Webbrowser akzeptiert folgendes standardkonforme HTML-Dokument: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <head> <title>Beispiel</title> <h1>Beispielseite</h1> <p>Ein Absatz <P>Noch ein<br> Absatz <ol> <li>Listelement <li>Listelement </ol> <p><img src=bild.gif alt="Bildmotiv"> Das html- und das body-Tag wurden komplett weggelassen. Das head-Tag wurde nicht geschlossen, genauso wie viele andere (p, li). Bei dem Bild ist das src-Attribut ohne Anführungszeichen angegeben. Das gleiche Dokument als gültiges XHTML 1.1 könnte folgendermaßen aussehen: <?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de"> <head> <title>Beispiel</title> </head> <body> <h1>Beispielseite</h1> <p>Ein Absatz</p> <p>Noch ein<br /> Absatz</p> <ol> <li>Listelement</li> <li>Listelement</li> </ol> <p> <img src="bild.gif" alt="Bildmotiv" /> </p> </body> </html> Die XML-Deklaration Die Angabe der XML-Deklaration führt dazu, dass der Internet Explorer 6 und Opera 7.0 bis 7.03 in den so genannten Quirks-Modus springen, was zu Besonderheiten bei der Verarbeitung der Stylesheets und JavaScript führt. Aus diesem Grund wird die XML-Deklaration oft weggelassen, wenn das Dokument als [Bearbeiten] MIME-Typen und HTML-KompatibilitätBeim Übertragen von HTML- und XHTML-Dokumenten finden bestimmte MIME-Typen Verwendung, z. B. in der
Vom MIME-Typ hängt ab, wie die Browser das Dokument verarbeiten. Erst wenn ein XHTML-Dokument etwa mit dem Inhaltstyp [Bearbeiten] XHTML und LayoutMit HTML 4 begann das W3C damit, diejenigen Elemente und Attribute, die direkt für die Präsentation des Dokuments zuständig waren und keine ausgabe-unabhängige Strukturierung ausdrückten, schrittweise aus HTML auszuschließen. Zwar enthält XHTML 1.0 genauso wie HTML 4 eine Transitional-Variante mit diesen veralteten Sprachbestandteilen. Es hat sich jedoch im modernen Webdesign durchgesetzt, dass die Strict-Variante verwendet wird und die Dokumente konsequent mit CSS formatiert werden. Der strukturierte Inhalt und das jeweilige Layout können dadurch getrennt definiert werden. Mit XHTML 1.1 und dem geplanten XHTML 2.0 schließt das W3C diese Entwicklung endgültig ab, indem nur noch ausgabe-unabhängige Textauszeichnung erlaubt wird und das Layout zwangsläufig mit CSS oder ähnlichen Sprachen realisiert werden muss. [Bearbeiten] Erweiterungen[Bearbeiten] Erweiterungen bei HTMLHTML-Seiten besitzen als SGML-Sprache zwar eine genau definierte Struktur, die in der Dokumenttypdefinition (DTD) festgelegt ist. Ohne Kenntnis der DTD kann aber die hierarchische Baumstruktur eines Dokuments nicht zweifelsfrei ermittelt werden. Manche Elemente haben keinen End-Tag (wie z. B. HTML ist eigentlich nicht erweiterbar, übliche Browser gehen aber bei der HTML-Verarbeitung folgendermaßen vor:
Damit ist die Verarbeitung von verschiedenen HTML-Versionen möglich. Führt eine Version ein neues Element ein, wird dieses von älteren Browsern einfach ignoriert. Gleiches gilt für Attribute. Kennt ein HTML-3.2-fähiger Browser beispielsweise das in HTML 4.0 eingeführte [Bearbeiten] Erweiterungen bei XHTMLIm Gegensatz zu HTML wurde XHTML mit Blick auf die Möglichkeit der Erweiterbarkeit geschaffen. XHTML nutzt dazu das Namensraum-Konzept von XML. Eine XHTML-Version bildet dabei einen solchen Namensraum. Andere XML-Sprachen wie MathML, SVG und RDF stellen weitere Namensräume dar. In einem XHTML-Dokument können nun Elemente aus fremden Namensräumen verwendet werden, indem Sie über das Attribut Ein Beispiel für die Nutzung des Namensraum-Konzeptes zur Erweiterung von XHTML ist die Einbettung von MathML: <p>Dies ist noch ganz normales XHTML</p> <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> <mi>x</mi> <mo>=</mo> <mfrac> <mrow> <mrow> <mo>-</mo> <mi>b</mi> </mrow> <mo>±</mo> <msqrt> <mrow> <msup> <mi>b</mi> <mn>2</mn> </msup> <mo>-</mo> <mrow> <mn>4</mn> <mo>⁢</mo> <mi>a</mi> <mo>⁢</mo> <mi>c</mi> </mrow> </mrow> </msqrt> </mrow> <mrow> <mn>2</mn> <mo>⁢</mo> <mi>a</mi> </mrow> </mfrac> </mrow> </math> <p>...und hier geht XHTML weiter</p> Ein MathML-fähiger Browser könnte diesen Dokumentausschnitt folgendermaßen darstellen: Dies ist noch ganz normales XHTML
… und hier geht XHTML weiter Erweiterungen sind also durch Bildung von neuen Namensräumen möglich, ohne dass die XHTML-Standards selbst geändert werden müssen. Durch die Verwendung von Namensräumen ist ein Konflikt von Elementen gleichen Namens in verschiedenen Erweiterungen ausgeschlossen. Diese können immer eindeutig zugeordnet und zum Beispiel über das DOM mit der Kennung des Namensraums angesprochen werden. Die infolge der XHTML-Modularisierung entstandenen erweiterten XHTML-Versionen bauen auf diesem Konzept auf. Durch das Entstehen solcher Erweiterungen tritt eine ähnliche Situation wie bei HTML-Erweiterungen ein, denn nicht alle Browser unterstützen die eingebundenen Erweiterungen wie zum Beispiel SVG. Der Browser hat folgende Möglichkeiten, mit Elementen aus unbekannten Namensräumen umzugehen:
[Bearbeiten] Einzelnachweise[Bearbeiten] Weblinks
Wikibooks: Websiteentwicklung: XHTML – Lern- und Lehrmaterialien
[Bearbeiten] XHTML betreffende Spezifikationen
[Bearbeiten] XHTML-Einführungen und -Werkzeuge
Standards des World Wide Web Consortiums
Empfehlungen (recommendations): Canonical XML | CDF | CGI | CSS | DOM | HTML | MathML | OWL | PLS | RDF | RDF-Schema | SISR | SMIL | SOAP | SRGS | SSML | SVG | SPARQL | Timed Text | VoiceXML | WSDL | XForms | XHTML | XML | XML Base | XML Events | XML Information Set | XML Schema | XML Signature | XPath | XPointer | XQuery | XSL Transformation | XSL-FO | XSL | XLink Anmerkungen (notes): XHTML+SMIL | XAdES Arbeitsentwürfe (working drafts): CCXML | CURIE | InkML | XFrames | XFDL | WICD | XHTML+MathML+SVG | XBL | XProc | HTML 5 |
|||||||||||||||||||||||||||||||||||