2010-02-23 11 views
12

Gibt es einen W3C-Dokumenttyp mit XHTML 1.0-Übergangsunterstützung und RDFa-Unterstützung?DTD mit RFDa und XHTML 1.0 Übergangsunterstützung

Ich kenne die XHTML + RDFa 1.0 (http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd) DTD, aber das ist XHTML 1.1, die nicht mit meiner aktuellen Website kompatibel ist. Es scheint, dass es auch eine HTML4 + RDFa 1.0 (http://www.w3.org/MarkUp/DTD/html4-rdfa-1.dtd) DTD gibt.

Mein Hauptgrund, nicht XHTML 1.1 zu bedienen, ist Internet Explorer natürlich, obwohl ich es wahrscheinlich als Text/HTML für die IE Benutzer dienen könnte, wenn es keinen anderen Weg gibt.

Antwort

10

Ich glaube nicht, dass es so eine DTD gibt, nein.

HTML wird immer fragmentierter und das Erstellen von DTDs für jede mögliche Kombination wird nicht praktikabel sein. HTML5 ist nicht SGML-basiert und verzichtet effektiv auf DTDs. Zukünftig werden Validierer wahrscheinlich Änderungen vornehmen müssen, damit sie Komponentensammlungen wie RDFa und ARIA aufrufen und in ihren Ergebnissen angeben, welche Sammlungen erforderlich sind, damit jedes einzelne Markup-Stück konform sein kann.

Leider sind wir momentan wirklich am Übergangspunkt, daher gibt es keine saubere Lösung für Ihr Problem. Ein gewisses Maß an Pragmatismus wird Sie jedoch weit bringen.

Nun, XHTML + RDFa 1.0 kann von DTD als eine Erweiterung von XHTML 1.1 definiert werden, aber es ist nicht wirklich XHTML 1.1, noch XHTML 1.0 übergangsweise oder streng, oder etwas anderes als "XHTML + RDFa 1.0 ".

So können Sie einen pragmatischen Serving-Ansatz nehmen. Betrachten Sie die HTML5-Einstellung dazu. Es besagt, dass alles, was Sie als text/html bereitstellen, eine HTML-Serialisierung des Objektmodells ist, unabhängig von DOCTYPE, die Sie deklarieren. Dies ist in der Praxis, was Browser sowieso tun.

In ähnlicher Weise ist alles, was Sie mit einem XML-Inhaltstyp wie application/xhtml + xml bereitstellen, eine XML-Serialisierung. Die Teile des XML, die den Xhtml-Namespace haben, bilden XHTML.

In der Praxis können Sie also Ihr XHTML + RDFa 1.0 problemlos als text/html oder application/xhtml + xml bereitstellen, sofern das Markup die Anforderungen für mehrsprachige Dokumente erfüllt.

Das lässt die Validierung. Abgesehen von RDFa, gibt es irgendwelche Mark-ups, die Sie verwenden, ist das konforme XHTML 1.0 Transitional, aber nicht konform XHTML 1.1? Wenn ja, ist Ihnen die perfekte Validierung wichtig, um diese zu ändern oder von der Verwendung von RDFa abzuweichen? Vermutlich verwenden Sie RDFa für den Nutzen Ihrer Benutzer, während die Validierung im Wesentlichen ein Komfort-Tool für Sie ist.

Ich war in letzter Zeit in einer ähnlichen Situation, als ich beschloss, meinen XHTML 1.0-Seiten ARIA-Attribute hinzuzufügen. Ich entschied, dass Barrierefreiheit die Gültigkeit übertrumpft, und ich würde die Attribute hinzufügen und vergessen, sicherzustellen, dass meine Seiten 100% gültig sind.

+0

Der XHTML + RDFa 1.0-Standard wird in der Tat viel Arbeit erfordern, um von den aktuellen XHTML 1.0-Übergangsseiten zu konvertieren, daher zögere ich, diesen Schritt zu tun. Obwohl der Unterschied zwischen XHTML 1.0 transitional und XHTML 1.1 nicht so groß ist, reicht es doch aus, um eine schmerzhafte Konvertierung für alle Vorlagen zu erreichen. Da der Punkt der Validierung hier ist in der Tat nur um sicherzustellen, dass es keine echten Fehler auf den Seiten gibt, wäre es eine passende Lösung, die W3-Fehler einfach zu ignorieren. Es ist nichts als ein Ärgernis, das man leicht mit einem kleinen Userscript beheben könnte;) – Wolph

1

In der Realität gibt es fast keine Unterschiede zwischen den verschiedenen XHTML-Versionen und es gibt fast nie einen gültigen Grund, XHTML 1.1 nicht zu verwenden. In welcher Weise ist Ihre Website von 1.0 Übergang abhängig? Wenn Sie Ihre Website mit 1.0 strict validieren können, sollte der Wechsel von dieser zu 1.1 keine Probleme verursachen, da der einzige Unterschied die Modularisierte DTD ist, die wirklich keine Nachteile hat.

Wenn Sie immer noch mit dem philosophischen Problem von XHTML MIME zu kämpfen haben, würde ich keine Sorgen machen, weil das Bedienen des falschen Medientyps mit der besser organisierten 1.1 DTD kein Verbrechen mehr als mit 1.0 ist.Der Grund, warum RDFa so implementiert wird, wie es ist, besteht darin, dass das Hinzufügen des RDFa-Moduls zu der XHTML 1.1-DTD nur das Hinzufügen einiger Zeilen zu dem Hauptmodul beinhaltet. Tun Sie das mit der 1.0 DTD wäre härter und nicht so sauber.

Einige andere Dinge zu beachten sind, dass die XHTML 1.1 zweite Edition Spezifikation eine XML-Schema-Implementierung enthält. Auch der letzte Arbeitsentwurf von XHTML + RDFa 1.1 lässt schließlich die (dumme) Anforderung für die Angabe eines Doctypes fallen, so dass Sie nur die schemalige Validierung verwenden können. Dies würde sehr gut funktionieren, wenn Sie eine Möglichkeit finden, XML/XHTML-MIME-Typen zu verwenden, da keine Doctype-Deklaration erforderlich ist, um das Standardmodus-Rendering in Browsern zu erhalten, die dies unterstützen (alle außer IE8 und darunter).

Verwandte Themen