Daniel.S: Nichtvalider Code bei imagemap

Beitrag lesen

Einen HTML5-Parser zu schreiben ist auch nicht schwieriger als einen XML-Parser zu schreiben.

HTML5 hat aber weder etwas mit XML noch mit SGML zu tun - es sieht nur so aus und hat völlig eigene Regeln.

Stimmt. Den zusätzlichen Aufwand, HTML5 im Gegensatz zu nur XML oder nur SGML parsen zu können, gabs aber vorher auch schon.

Der genannte Fall ist mir nicht bekannt, daher kann ich dazu nichts sagen.

http://wiki.whatwg.org/wiki/Cite_element

Ja, da scheint die Spezifikation wirklich unsinnig zu sein. Offenbar darf man aber zumindest Werke, aus denen ein Zitat stammt, damit auszeichnen.

Ich gebe zu, meine Kenntnis über SGML ist nicht sehr groß, aber die Autoren von HTML hätten sicher die Möglichkeit gehabt, derlei Späße einzuschränken. Vor allem, da bereits feststand, dass es keine echten SGML-Parser gibt.

Zu der Zeit als TBL HTML geschaffen hat, gab es noch keien Browser wie wir sie heute kennen - das kam erst später, als das Web zum Massenmedium wurde und jeder HTML schreiben könnte. Und da es auch damals schon um Marktanteile ging, konnte der Browser der "den Mist der Autoren" am schönsten anzeigt natürlich gewinnen.

Das stimmt. Allerdings muss es schon Parser wie heute gegeben haben, sonst hätten die damaligen Browser "Tim's HTML tags" nicht verarbeiten können.

Hätte es SGML-Parser gegeben, dann hätte XHTML vermutlich gar keinen Aufschwung erleben können. Von daher hatte die ganze Problematik ja auch ihre Vorteile, nicht?

Sicher - aber mit HTML5 geht das eben wieder in die Gegenrichtung. Anstatt zu spezifizieren wie es sein soll und sich daran zu halten (no matter what) wird eine Regel geschafft, die beschreibt wie es sein soll, wenn es nicht so ist wie es sein soll, damit jeder "Depp ohne Ahnung" eine Website erstellen kann - womit wir wieder beim oberen Punkt sind: Marktanteile und potentielle Kunden. Das ist es was Google vornehmlich interessiert. Dass Chrome und Firefox beides Google-Browser sind, sollte klar sein.

HTML5 spezifiziert, wie es sein soll und spezifiziert, wie es sein sein, wenn es nicht ist, wie es sein soll, was XML ebenfalls tut, nur dass XML es sich leicht macht und die Verarbeitung abbricht, während HTML5 Korrekturen erlaubt.

Warum sollte nicht jeder Depp in der Lage sein, eine Webseite erstellen können? Du willst mir doch nicht ernsthaft weismachen, dass wir nennenswert weniger Werbung im Web hätten, wenn XML die dominate Sprache wäre.

Die Bugs sind nicht das Problem. Das Problem ist eher, dass man sich nicht traut (oder das Web es unmöglich macht - oder beides) ein paar der vorhandenen Regeln zu lockern.

Oder eben zu straffen: wenn es HTML-Fehler gibt, soll der Browser eine Fehlermeldung ausspucken, gerne auch nur in der Fehlerkonsole.

CSS- oder JavaScript-Fehler bemeckert jeder Browser, aber HTML ist wurst.

Die Regeln wurden gestrafft, was allein schon dadurch begründet ist, dass es vorher keine Regeln gab. Zumindest keine, die problemlos durchsetzbar waren.

Im IE10 und in mindestens einem anderen Browser (Opera oder Safari/Chrome, bin grad nicht sicher) gibt es inzwischen auch HTML-Fehlermeldungen in der Fehlerkonsole, seit der HTML5-Parser implementiert wurde. Aber wie bei CSS- oder JS-Fehlern sollten diese die Webseite nicht unbenutzbar machen.

Tatsächlich ist der Firefox inzwischen auch der einzige Browser, der lediglich eine Fehlermeldung anzeigt, wenn im XML was nicht stimmt. Alle anderen rendern einfach so weit wie möglich.

Welchen Vorteil hat dann das Nutzen von XHTML.

Die Weiterverarbeitung als XML, wenn es ein XML-fähiger Agent es haben will (über die Accept-Header steuerbar).

Wie kann man diesen Vorteil nutzen, wenn das XML fehlerhaft ist?
Hier wäre XML wohl besser eingesetzt, wenn die Informationen extern gespeichert wären und für die Webseite eben daraus ausgelesen würden.
Ist ja durchaus ein sinnvoller Einsatz (wenn auch nicht so performant wie andere Lösungen, soweit ich weis).

In vorliegenden Fall ist das aber nicht möglich, weil application/xhtml+xml zu einer Fehlermeldung führen würde. Das Theme über Rebell ist ein fertiges Theme und an den Updates daran bin ich nicht primär schuld - da wäre es dämlich, das ganze als XML verarbeiten lassen zu wollen, weil die gefahr besteht, dass jemand ohne Ahnung reinfingert und dann nichts mehr geht :)

Als HTML wäre die Seite als einfacher zu warten.

Tatsächlich profitierst du ohnehin von HTML5, weil die Webseite in jedem Browser gleich angezeigt wird (dank HTML5-Parser), obwohl der Quelltext Fehler enthält. Ist das nicht toll?

Was wäre, wenn ein XML-Parser ohne Kenntnis des Medientyps das Dokument verarbeitet?

Fehlermeldung :)

Eben. :)

Wenn das Dokument aber valide ist, kann man es ohne Probleme mit einem XML-Parser verarbeiten. Und das ist ein extremer Vorteil, besonders wenn es darum geht Informationen zu extrahieren, die man anderswo braucht.

Ja. Wenn. :)