molily: valid vs. standardkonform

Beitrag lesen

Hallo,

Der Unterschied zwischen validem und standardkonformem HTML ist recht gut in der Hilfe zum W3C-Validator beschrieben, in der Einleitung heißt es u.a.:

„Validation is, however, neither a full quality check, nor is it strictly equivalent to checking for conformance to the specification.“

Das ist mir schon klar. DTD-Validierung ist weit davon entfernt, alle Erfordernisse der Spezifikation zu prüfen. Ich habe nicht bezweifelt, dass Validierung nicht mehr prüfen kann als die maschinell überprüfbaren Regeln. Diese sollten aber möglichst vollständig geprüft werden.
Der obige Satz beschreibt die Ist-Situation des W3C-Validators. Die Definition geht eben vom W3C-Validator aus, einem Validator, der sich mit DTD-Validierung größtenteils zufrieden gibt. Warum aber *soll* Validierung nicht mehr sein? Weil es die FAQ des W3C-Validators so definieren? Warum sollen Validator-Entwickler nicht die Unterschiede zwischen valide und standardkonform möglichst verringern? Es wäre nur zum Vorteil für die Benutzer.

Validität ist nicht automatisch Konformität zum Standard.

Habe nie gegenteiliges behauptet.

Der Selfhtml-Validator scheint mir einen anderen, höheren Anspruch zu verfolgen, nämlich die Prüfung auf Standardkonformität

Der W3C-Validator behauptet zunächst einmal auch, »a free service that checks Web documents in formats like HTML and XHTML for conformance to W3C Recommendations and other standards«. Damit lügt er letztlich, genauso wie Validome, wobei die FAQ des W3C-Validators dies immerhin genauer erklärt.

"Valide" heißt stark vereinfacht "der DTD entsprechend", standardkonform hingegen ist weitaus mehr.

Ja, aber wieso *soll* valide nur DTD-konform heißen? Selbst der W3C-Validator macht meines Wissens einige Tests, die über die DTD hinausgehen, er ist weit mehr als ein simpler Aufruf des Parsers OpenSP.

Könnte es denn nicht sein, dass dieser Teil des Standards deshalb nicht den Weg in die DTD gefunden hat, weil er zumindest im Moment unsinnig ist?

Nein, wieso? Die Regel lässt sich schlichtweg nicht in der DTD ausdrücken. Das gilt für tausende Regeln, unsinnig sind sie dadurch längst nicht.

Der Validator prüft dann die Einhaltung der »guten« Vorschriften und lässt Verstöße der »schlechten« Regeln kommentarlos durchgehen, während das Dokument den Stempel »standardkonform« bekommt, obwohl es wissentlich nicht vollständig standardkonform ist.

Trotzdem ist das Dokument valide (konform zur DTD), nicht mehr, aber auch nicht weniger. Einen Stempel "standardkonform" dürfte es nach dem Ergebnis dieser Diskussion nicht geben und gibt es meines Wissens auch nicht.

Soll es auch nicht. Valide wird immer eine Untermenge von standardkonform bleiben. Das »standardkonform« kann sich lediglich ausdrücklich auf eine gewisse klar definierte Menge an maschinell überprüfbarer Regeln beziehen. Zum Beispiel syntaktische standardkonform im Sinne des XHTML-Schemas, das so ziemlich alle rein syntaktischen Regeln abdeckt.

Ich habe nichts dagegen, dass ein Prüfprogramm gemäß eines nachvollziehbaren Kriteriums gewisse Regelungen des Standards durchsetzt und andere vernachlässigt.

So tut es der W3C-Validator, siehe What is Markup Validation?, sein nachvollziehbares Kriterium ist die zur jeweiligen (X)HTML-Version gehörende DTD.

Ich finde das nicht nachvollziehbar. Wieso sollte man den Benutzern den Komfort vorenthalten, auch z.B. Attributwerte zu prüfen, wenn es technisch möglich ist? Die Bug-Datenbank des W3C-Validators ist voll von solchen Meldungen. Weil viele die Beschränkung auf die DTD für unsinnig halten, entstanden Validome und der XHTML Schema Validator.

ich will nicht, dass mir ein Entwickler seine Kurzfassung bzw. Interpretation des Standards als Standard verkauft.

Wer tut das?

Derjenige, der die für die Validierung nicht möglichst alle maschinell überprüfbaren Anforderungen berücksichtigt, sondern gewisse Anforderungen aus zweifelhaften Gründen weglässt.

Mathias