HTML
HTML oder XHTML oder HTML5 oder Living-HTML?
HTML
HTML (Hypertext Markup Language) ist eine Sprache zur Kennzeichnung (oder Auszeichnung / Markup) und Strukturierung einzelner (HTML-)Dokument-Bestandteile wie z. B. Überschriften, Abschnitte, Bilder, Hyperlinks.
Wie diese gekennzeichneten Dokument-Bestandteile dargestellt werden, hängt i. d. R. von der Software (HTML-Renderer, Browser) und dem Medium (Computer, Smartphone oder Drucker) ab.
HTML enthielt zwar auch Sprachelemente die Präsentation beeinflussen sollen, mittlerweile wurde dies aber durch die Cascading Style Sheets (CSS) ersetzt und einige dieser HTML-Sprachelemente wurden mittlerweile in neueren, strengeren (strict) HTML-Dokumenttypen bzw. auch in den neueren HTML-Versionen bereits als veraltet (obsolete oder deprecated /missbilligt) markiert, d. h. diese sollten auch nicht mehr verwendet werden (obwohl sicher viele Webseiten noch auf einer älteren HTML-Version aufbauen und die Mehrzahl der Browser diese auch problemfrei darstellen können).
Aber nicht alle Auszeichnungselemente werden für den Benutzer visualisiert (auch wenn das prinzipiell natürlich möglich wäre). Zu einem Dokument können zusätzliche beschreibenden Angaben gemacht werden (z. B. Datum der letzten Änderung, Autor, Kurzbeschreibung, Schlüsselworte usw.). Diese Angaben werden mit Meta-Tags ausgezeichnet und sind i. d. R. nicht oder nur mit Add-Ons sichtbar.
HTML wird aktuell vom World Wide Web Consortium (W3C) und von einer - prinzipiell vom W3C unabhängigen Arbeitsgruppe - namens Web Hypertext Application Technology Working Group (WHATWG) weiterentwickelt.
Leider gibt es deshalb auch unterschiedliche Ansätze bzgl. der HTML Version.
Während das W3C aktuell die Version HTML5 verabschiedet hat hat das WHATWG eine Living-HTML (ohne Versionsnummer) Spezifikation, die sich kontinuierlich weiterentwickelt.
XHTML
XHTML (Extensible Hypertext Markup Language) war eine zusätzliche Definition der HTML-Dokumente (und -Elemente) mit XML, was für Programme (z. B. Browser) prinzipiell deutlich leichter zu verarbeiten ist, da die Regeln für die Auszeichnungselemente in XML viel strenger sind als bei dem ursprünglichen HTML.
Grundsätzliche syntaktische Unterschiede zu HTML:
- Element- und Attributnamen müssen grundsätzlich klein geschrieben werden, z. B. <p> statt <P>
- Zu einem öffnenden Start-Tag muss auch End-Tag angegeben werden, z. B. <p>{text}</p> statt nur <p>
- Leere HTML-Elemente (wie z. B. <br> oder <hr>) müssen ebenfalls mit Start-/End-Tag (<br></br> oder <hr></hr>) oder als leeres Tag (<br/> bzw. <hr/>) angegeben werden
- Attributwerte müssen immer in Anführungszeichen angegeben, also z. B. <input type="text" /> statt <input type=text />
- Leere Attributewerte müssen angegeben werden (und zwar der Attribut-Name), also z. B. <input type="radio" checked="checked" /> statt <input type="radio" checked />
Tatsächlich sind die Browser aber vgl. fehlertolerant und versuchen etwaige XML-Probleme in einer XHTML-Seite zu korrigieren bzw. irgendwie zu vervollständigen (wie dies auch schon bei Fehlern mit HTML geschah). Damit werden oft syntaktische Fehler im XHTML "unterschlagen" und leider kann dies aber dazu führen, dass die Fehler in Abhängigkeit der visualisierenden Programme (z. B. Browser) unterschiedlich (und nicht immer wie gewünscht) dargestellt werden.
XHTML 1.0 Transitional enthält alle Elemente von HTML 4.01 Transitional - ist also einfach nur eine neue Definition mit XML. Auch die Varianten für Strict und Frameset wurden entsprechend übersetzt.
XHTML 1.1 enthält ist eine striktere Version bei der die Tags entfallen, die direkt die Darstellung beeinflussen (z. B. <font> oder <b>) - aber auch einige Attribute entfallen hier. Die Versionen "Transitional" und "Frameset" stehen hier auch nicht mehr zur Verfügung.
Die Arbeit an XHTML 2.0 wurde vom World Wide Web Consortium (W3C) nie abgeschlossen und zugunsten von HTML5 mittlerweile offiziell beendet. Parallel dazu wurde HTML auch von der Web Hypertext Application Technology Working Group (WHATWG) weiterentwickelt, welche mittlerweile eine Living-HTML (ohne Versionsnummer) Spezifikation veröffentlicht hat.
XHTML wurde durch HTML5 ersetzt.
HTML5 / Living-HTML
HTML und XHTML wurden mittlerweile durch HTML5 (W3C) bzw. durch Living-HTML (WHATWG) ersetzt.