www.wikidata.de-de.nina.az
Der W3C Standard Extensible Hypertext Markup Language erweiterbare HTML Abkurzung XHTML ist eine textbasierte Auszeichnungssprache zur Strukturierung und semantischen Auszeichnung von Inhalten wie Texten Bildern und Hyperlinks in Dokumenten Es ist eine Neuformulierung von HTML 4 01 in XML Im Gegensatz zu HTML welche mittels SGML definiert wurde verwendet XHTML die strengere und einfacher zu parsende SGML Teilmenge XML als Sprachgrundlage XHTML Dokumente genugen also den Syntaxregeln von XML XHTMLBeispielhafte Darstellung eines XHTML DokumentsDateiendung xhtml xhtMIME Type application xhtml xml 1 Entwickelt von World Wide Web ConsortiumArt AuszeichnungsspracheErweitert von XML HTMLStandard s 1 0 Recommendation 1 1 Recommendation 1 1 SE Working Draft 5 Working Draft 2 0 Working Draft Beispielhafte Darstellung eines XHTML Dokuments Inhaltsverzeichnis 1 XHTML 1 0 Ubergang von HTML zu XHTML 2 XHTML Modularisierung 3 Versionenubersicht 4 Die wichtigsten Unterschiede zwischen HTML und XHTML 4 1 Beispiel 5 MIME Typen und HTML Kompatibilitat 6 XHTML und Layout 7 Erweiterungen 7 1 Erweiterungen bei HTML 7 2 Erweiterungen bei XHTML 8 Weblinks 8 1 XHTML betreffende Spezifikationen 8 2 XHTML Einfuhrungen und Werkzeuge 9 EinzelnachweiseXHTML 1 0 Ubergang von HTML zu XHTML BearbeitenXHTML 1 0 enthalt alle Elemente von HTML 4 01 sodass eine Umformung von HTML 4 01 konformen Seiten zu XHTML 1 0 leicht moglich ist Ein nicht XHTML fahiger Webbrowser kann XHTML Dokumente unter bestimmten Bedingungen trotzdem richtig darstellen siehe MIME Typen und HTML Kompatibilitat er verarbeitet sie als normales HTML Dabei wird ausgenutzt dass die HTML Parser der verbreiteten Browser tolerant gegenuber Syntaxfehlern sind Diese Fehlertoleranz entstand als Antwort darauf dass zahlreiche HTML Dokumente im World Wide Web nicht dem formalen Standard entsprachen und Anwender Browsermeldungen uber HTML Syntax Fehler als lastig empfinden Fur 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 enthalt wie lt font gt oder lt b gt In moderneren Dokumenttypen wie XHTML Strict 1 0 sind zwar noch wenige Layout Elemente enthalten allerdings nur noch aus Grunden der Ruckwartskompatibilitat zu den Transitional Dokumenttypen In XHTML Basic oder XHTML 2 schliesslich sind Layout Elemente gar nicht mehr enthalten Fur die visuelle Gestaltung von XHTML Elementen soll nur noch auf externe CSS Regeln verwiesen werden XHTML Modularisierung BearbeitenUm die Entwicklung von Sprachen zu ermoglichen die auf XHTML basieren wurden verwandte und zusammengehorige Elemente in XHTML 1 1 in sogenannten Modulen zusammengefasst Basierend auf diesen in DTDs und zukunftig 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 Multimedia Plug ins gibt es das Objektmodul Versionenubersicht BearbeitenXHTML fasst als Begriff die verschiedenen XHTML Versionen zusammen XHTML 1 0 stellt die XML basierte Neuformulierung von HTML 4 01 dar XHTML 1 0 erhalt die bekannten drei Dokumenttypen Strict Transitional und Frameset XHTML 1 0 wurde so angelegt dass eine Ruckwartskompatibilitat mit den verbreiteten HTML Browsern moglich ist Gleichzeitig kann es von neueren Browsern gemass den strengen Regeln verarbeitet werden Die aktuelle Version XHTML 1 1 trennt sich von den missbilligten Elementen und Attributen der Transitional und der Frameset Variante die direkt die Prasentation des Dokuments beeinflussen Der Sprachumfang entspricht somit weitestgehend XHTML 1 0 Strict hinzu kommen Elemente fur Ruby Erlauterungen XHTML 1 1 ist nicht mit Blick auf die Kompatibilitat zu HTML Browsern angelegt XHTML Basic ist fur minimalistische Gerate wie Mobiltelefone und Handhelds ausgelegt indem nur einige Sprachbestandteile Module von XHTML verwendet werden XHTML Basic ist die Basis fur XHTML Mobile Profile siehe WAP 2 0 und fur WML 2 0 Durch die Modularisierung entstanden weitere Misch Versionen wie XHTML 1 1 plus MathML plus SVG Die Version XHTML 2 0 deren Entwicklung zugunsten von HTML5 Ende 2009 eingestellt wurde hatte mit dem Erbe aus HTML 4 gebrochen und sah grundlegende Veranderungen vor Wichtige Neuerungen waren das vereinfachte uneingeschrankte Notieren von Hyperlinks gewesen das vereinfachte Einbinden anderer Medienarten z B Grafiken und Videos die erweiterten Moglichkeiten um Zuganglichkeit zu gewahrleisten und das ausgereiftere Angeben von Metadaten Bisherige Kernfunktionen von HTML bzw XHTML waren in XHTML 2 0 in andere XML Sprachen ausgelagert worden namentlich XForms fur Formulare XML Events zur Einbindung von Scripten und XFrames fur Frames Die wichtigsten Unterschiede zwischen HTML und XHTML BearbeitenHTML XHTMLGross Kleinschreibung der Element und Attributnamen nicht relevant z B lt br gt lt Br gt lt BR gt immer klein nur lt br gt Elemente ohne Inhalt z B br lt br gt lt br gt von der DTD abhangig entweder leeres Element Tag z B lt br gt oder mit End Tag z B lt br gt lt br gt Die Variante lt br gt wird aus Grunden der Kompatibilitat empfohlenStart oder End Tag Weglassen teilweise erlaubt immer beide angebenAttributwert in Anfuhrungszeichen angeben optional solange der Attributwert bestimmte Zeichen nicht enthalt immerboolesche Attribute z B checked lt input type radio i checked i gt Attributname als Attributwert angeben z B lt input type radio checked checked gt Ausserdem Das Start Tag des Wurzel Elements html muss immer die Namensraum Angabe fur XHTML enthalten lt html xmlns http www w3 org 1999 xhtml gt In XHTML 1 1 wurde das lang Attribut durch das xml lang Attribut von XML ersetzt In XHTML 1 0 wird die Angabe beider Attribute empfohlen z B lt html xmlns http www w3 org 1999 xhtml xml lang de gt Die Rolle des name Attributs bei den Elementen a frame und map ubernimmt ab XHTML 1 0 das id Attribut Wenn Abwartskompatibilitat erwunscht ist sollten sowohl das name als auch das id Attribut mit gleichem Attributwert notiert und XHTML 1 0 ubergangsweise deklariert werden In XHTML 1 1 bzw XHTML Modularisierung existiert kein name Attribut mehr fur diese Elemente Das Attribut name bei den Elementen form und img ist nur noch in XHTML 1 0 ubergangsweise vorhanden nicht in XHTML 1 0 Strict und XHTML 1 1 Diese Einschrankung ist vor allem beim DOM Zugriff auf die Elemente relevant Beispiel Bearbeiten Dies ist der Quelltext eines standardkonformen HTML Dokuments Das Beispiel ist bewusst so kurz wie moglich gehalten und soll Unterschiede bei der erlaubten Syntax aufzeigen In HTML empfiehlt es sich alle notwendigen Elemente vollstandig zu notieren lt DOCTYPE HTML PUBLIC W3C DTD HTML 4 01 EN http www w3 org TR html4 strict dtd gt lt head gt lt title gt Beispiel lt title gt lt h1 gt Beispielseite lt h1 gt lt p gt Ein Absatz lt p gt Noch ein lt br gt Absatz lt ol gt lt li gt Listelement lt li gt Listelement lt ol gt lt p gt lt img src bild gif alt Bildmotiv gt lt body gt Das html Element wurde ganz weggelassen fur das head bzw body Element fehlen End bzw Starttag p und li Elemente wurden nicht geschlossen Das src Attribut des Bildes ist ohne Anfuhrungszeichen angegeben Das gleiche Dokument als gultiges XHTML 1 1 konnte folgendermassen aussehen lt xml version 1 0 encoding UTF 8 gt lt DOCTYPE html PUBLIC W3C DTD XHTML 1 1 EN http www w3 org TR xhtml11 DTD xhtml11 dtd gt lt html xmlns http www w3 org 1999 xhtml xml lang de gt lt head gt lt title gt Beispiel lt title gt lt head gt lt body gt lt h1 gt Beispielseite lt h1 gt lt p gt Ein Absatz lt p gt lt p gt Noch ein lt br gt Absatz lt p gt lt ol gt lt li gt Listelement lt li gt lt li gt Listelement lt li gt lt ol gt lt p gt lt img src bild gif alt Bildmotiv gt lt p gt lt body gt lt html gt Die XML Deklaration lt xml version 1 0 encoding UTF 8 gt ist optional wird aber vom W3C empfohlen da sie XML Parsern die Zeichenkodierung des Dokuments mitteilt Die Zeichenkodierung UTF 8 sollte in Grossbuchstaben geschrieben werden 2 Dies widerspricht auf den ersten Blick dem XHTML Grundsatz alle Elemente und Attribute klein zu schreiben Jedoch handelt es sich um den offiziellen Namen vergeben von der IANA 3 bei dessen Interpretation die XML Parser die Gross Kleinschreibung ignorieren konnen 4 Wenn die Kodierungsangabe fehlt und keine Kodierung im HTTP Header gesendet wurde kann der Browser gemass dem XML Standard die Kodierung UTF 8 oder UTF 16 verwenden Die Angabe der XML Deklaration fuhrt dazu dass der Internet Explorer 6 und Opera 7 0 bis 7 03 in den sogenannten Quirks Modus springen was zu Besonderheiten bei der Verarbeitung der Stylesheets und JavaScript fuhrt Aus diesem Grund wird die XML Deklaration oft weggelassen wenn das Dokument als text html an diesen Browser ausgeliefert wird siehe den folgenden Abschnitt uber MIME Typen MIME Typen und HTML Kompatibilitat BearbeitenBeim Ubertragen von HTML und XHTML Dokumenten finden bestimmte MIME Typen Verwendung z B in der Content Type Kopfzeile bei E Mail und vor allem bei HTTP Fur HTML Dokumente ist es gemass RFC 2854 5 vorgesehen sie mit dem MIME Typ text html zu senden Ein XHTML 1 0 Dokument soll normalerweise gemass RFC 3236 1 mit dem MIME Typ application xhtml xml gesendet werden Wenn sich das Dokument an die Richtlinien der Ruckwartskompatibilitat halt kann es gemass RFC 2854 5 und dem XHTML 1 0 Standard als text html gesendet werden Aufgrund der mangelnden XHTML Unterstutzung der verbreiteten Software kommt der letzteren Option ein besonderer Stellenwert zu Da fur XHTML 1 1 keine Kompatibilitat mit gewohnlichen HTML Browsern vorgesehen ist sollen solche Dokumente gemass einer W3C Mitteilung 6 nur als application xhtml xml ausgeliefert werden Dasselbe gilt fur die ubrigen Abkommlinge von XHTML Modularisierung also etwa XHTML Basic Vom MIME Typ hangt ab wie die Browser das Dokument verarbeiten Erst wenn ein XHTML Dokument etwa mit dem Inhaltstyp application xhtml xml deklariert wird setzen XHTML fahige Browser ihre XML Parser ein durch welche die Vorteile des strengen XHTML Codes wie die einfache Verarbeitbarkeit ausgenutzt werden Wenn dies der Fall ist kann das Dokument nur dann dargestellt werden wenn es sich um wohlgeformtes XML handelt Viele aktuelle Browser darunter Mozilla Mozilla Firefox Google Chrome Opera und Safari unterstutzen den MIME Typ application xhtml xml Der weit verbreitete Internet Explorer kann mit diesem MIME Typ jedoch erst ab Version 7 0 etwas anfangen Altere Versionen offnen einen Download Dialog anstatt das Dokument darzustellen Daher sollte text html verwendet werden wenn der Browser nicht ausdrucklich in der Accept Kopfzeile der Anfrage ubermittelt hat dass er application xhtml xml unterstutzt 7 Dies kann serverseitig ermittelt werden um den passenden MIME Typ zu senden wobei man fur den Internet Explorer ab Version 7 0 eine Versionsprufung durchfuhren musste da der IE nach wie vor als MIME Typ sendet 8 XHTML und Layout BearbeitenMit HTML 4 begann das W3C damit diejenigen Elemente und Attribute die direkt fur die Prasentation des Dokuments zustandig waren und keine Ausgabe unabhangige Strukturierung ausdruckten schrittweise aus HTML auszuschliessen Zwar enthalt 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 konnen dadurch getrennt definiert werden Mit XHTML 1 1 und dem geplanten XHTML 2 0 wollte das W3C diese Entwicklung endgultig abschliessen indem nur noch Ausgabe unabhangige Textauszeichnung erlaubt und das Layout zwangslaufig mit CSS oder ahnlichen Sprachen realisiert werden sollte Erweiterungen BearbeitenErweiterungen bei HTML Bearbeiten HTML 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 lt br gt fur einen Zeilenumbruch oder ein optionales End Tag wie lt p gt fur einen Textabsatz Nur die DTD bestimmt welche Elemente dies sind Kennt der Parser sie nicht so ist die Dokumenthierarchie mehrdeutig XHTML als XML Sprache behebt diesen Mangel HTML ist eigentlich nicht erweiterbar ubliche Browser gehen aber bei der HTML Verarbeitung folgendermassen vor Auszeichnung durch unbekannte Elemente wird ignoriert Bei syntaktischen Fehlern wird versucht trotzdem einen logischen Elementenbaum zu erzeugen Es wird versucht aus einer nicht konformen Seite das Beste zu machen d h eine Seite wird auf jeden Fall dargestellt Damit ist die Verarbeitung von verschiedenen HTML Versionen moglich Fuhrt eine Version ein neues Element ein wird dieses von alteren Browsern einfach ignoriert Gleiches gilt fur Attribute Kennt ein HTML 3 2 fahiger Browser beispielsweise das in HTML 4 0 eingefuhrte acronym Element fur Abkurzungen nicht wird es uberlesen und die Abkurzung erscheint in normaler Textformatierung Dasselbe gilt fur browserspezifische Erweiterungen Das blink Element ist beispielsweise in keinem HTML Standard enthalten Einige Browser ursprunglich nur der Netscape Navigator stellen den Text dann blinkend dar Andere Browser stellen den Text wiederum normal dar Erweiterungen bei XHTML Bearbeiten Im Gegensatz zu HTML wurde XHTML mit Blick auf die Moglichkeit 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 Namensraume dar In einem XHTML Dokument konnen nun Elemente aus fremden Namensraumen verwendet werden indem sie uber das Attribut xmlns eine entsprechende Namensraum Angabe erhalten Dazu muss ein spezieller Doctype verwendet werden welcher die Elemente definiert bei Verwendung von MathML ist es lt xml version 1 0 encoding UTF 8 gt lt DOCTYPE html PUBLIC W3C DTD XHTML 1 1 plus MathML 2 0 EN http www w3 org Math DTD mathml2 xhtml math11 f dtd gt Ein Beispiel fur die Nutzung des Namensraum Konzeptes zur Erweiterung von XHTML ist die Einbettung von MathML lt p gt Dies ist noch ganz normales XHTML lt p gt lt math xmlns http www w3 org 1998 Math MathML gt lt mrow gt lt msub gt lt mi gt x lt mi gt lt mrow gt lt mn gt 1 lt mn gt lt mo gt lt mo gt lt mn gt 2 lt mn gt lt mrow gt lt msub gt lt mo gt lt mo gt lt mfrac gt lt mrow gt lt mrow gt lt mo gt lt mo gt lt mi gt b lt mi gt lt mrow gt lt mo gt amp PlusMinus lt mo gt lt msqrt gt lt mrow gt lt msup gt lt mi gt b lt mi gt lt mn gt 2 lt mn gt lt msup gt lt mo gt lt mo gt lt mrow gt lt mn gt 4 lt mn gt lt mo gt amp InvisibleTimes lt mo gt lt mi gt a lt mi gt lt mo gt amp InvisibleTimes lt mo gt lt mi gt c lt mi gt lt mrow gt lt mrow gt lt msqrt gt lt mrow gt lt mrow gt lt mn gt 2 lt mn gt lt mo gt amp InvisibleTimes lt mo gt lt mi gt a lt mi gt lt mrow gt lt mfrac gt lt mrow gt lt math gt lt p gt und hier geht XHTML weiter lt p gt Ein MathML fahiger Browser konnte diesen Dokumentausschnitt folgendermassen darstellen Dies ist noch ganz normales XHTMLx 1 2 b b 2 4 a c 2 a displaystyle x 1 2 frac b pm sqrt b 2 4ac 2a nbsp und hier geht XHTML weiter Erweiterungen sind also durch Bildung von neuen Namensraumen moglich ohne dass die XHTML Standards selbst geandert werden mussen Durch die Verwendung von Namensraumen ist ein Konflikt von Elementen gleichen Namens in verschiedenen Erweiterungen ausgeschlossen Diese konnen immer eindeutig zugeordnet und zum Beispiel uber 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 ahnliche Situation wie bei HTML Erweiterungen ein denn nicht alle Browser unterstutzen die eingebundenen Erweiterungen wie bei SVG Der Browser hat folgende Moglichkeiten mit Elementen aus unbekannten Namensraumen umzugehen Er kann die Auszeichnung durch solche Elemente ignorieren und die Textinhalte einfach darstellen wie bei HTML Er kann alle Elemente des unbekannten Namensraums sowie deren Textinhalte ignorieren Er kann versuchen aus dem Web ein Plug in fur die Erweiterung zu laden und die Seite dann korrekt darstellen Weblinks Bearbeiten nbsp Wikibooks Websiteentwicklung XHTML Lern und Lehrmaterialien XHTML betreffende Spezifikationen Bearbeiten XHTML selbst HTML 4 01 deutsche Ubersetzung XHTML 1 0 deutsche Ubersetzung Modularization of XHTML deutsche Ubersetzung Abkommlinge der XHTML Modularisierung XHTML 1 1 deutsche Ubersetzung XHTML Basic deutsche Ubersetzung An XHTML MathML SVG Profile XHTML RDFa XHTML SMIL Profile XHTML 2 0Grundlagen fur XHTML XML deutsche Ubersetzung XML Namespaces deutsche Ubersetzung XHTML Einfuhrungen und Werkzeuge Bearbeiten SELFHTML Einfuhrung in XHTML CSS und Webdesign Fachartikel im T3N Magazin Memento vom 28 September 2007 im Internet Archive XHTML2 Vom XML Hype zur Anwendung PDF 252 kB XHTML Uberblick von Jens Meiert HTML and XHTML Frequently Answered Questions XHTML 1 0 Schema Validator zur Uberprufung der Syntax eines XHTML Dokuments englisch W3C Markup Validation Service ebenfalls zur Prufung auf syntaktische Fehler englisch Einzelnachweise Bearbeiten a b RFC 3236 The application xhtml xml Media Type Januar 2002 englisch Bill Wilder Is UTF 8 case sensitive in XML declaration In blog codingoutloud com Abgerufen am 5 Oktober 2019 englisch iana org w3 org a b RFC 2854 The text html Media Type Juni 2000 englisch xhtml media types W3C XHTML media type test results w3 org 9 Marz 2006 abgerufen am 3 April 2019 englisch Jens Oliver Meiert XHTML und der richtige MIME Typ meiert com 5 April 2006 abgerufen am 3 April 2019 V DStandards des World Wide Web Consortiums W3C Empfehlungen ActivityPub ARIA Canonical XML CDF CSS DOM Geolocation API HTML HTML5 InkML ITS JSON LD MathML OWL P3P PLS PNG RDF RDF Schema RIF SCXML SISR SKOS SMIL SOAP SRGS SSML SVG SPARQL Timed Text Turtle VoiceXML WSDL XForms XHTML XHTML RDFa XInclude XLink XML XML Base XML Encryption XML Events XML Information Set XML Namespace XML Schema XML Signature XPath XPointer XProc XQuery XSL XSL FO XSLT Elemente nbsp Arbeitsentwurfeund Kandidaten CCXML CURIE SMIL Timesheets sXBL WICD XFrames XBL XHTML MathML SVG XMLHttpRequestAnmerkungen XAdES XFDL XHTML SMIL XUPRichtlinien Web Content Accessibility Guidelines Multimodal Interaction Activity Markup Validation ServiceInitiativen Web Accessibility Initiative Normdaten Sachbegriff GND 4600114 1 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Extensible Hypertext Markup Language amp oldid 235641137