2016-04-11 12 views
4

Ich bin von XHTML 1.0 Strict zu XHTML5 wechseln, aber ich habe Probleme mit den Standard-DOCTYPE-Deklarationen - die Dokumente nicht mehr als XML validieren, und kann nicht in einigen geladen werden Browser, wenn sie als application/xhtml+xml mit der .xhtml Erweiterung serviert, vor allem wegen der Entitäten wie — usw.Machen Sie XHTML5 korrekt validieren und ENTITY parseable als XML

ich habe die XHTML 1.0 StrictDOCTYPE und solche Sachen, und es funktioniert alles in den Browsern wie erwartet (keine XML-Parsing-Fehler setzen zurück, nur versucht, , und die neuen article Elemente funktionieren immer noch richtig), aber es wird nicht mehr von W3 als gültiges HTML5 validiert, z. B. aufgrund der meta charset Spezifikation aus HTML5.

Wie importiere ich automatisch die Entitäten, damit der Browser XML validiert, aber HTML5 für den W3-Validator angeben?

+0

Ich bin mir nicht sicher, ob du das kannst. Die HTML5-Spezifikation enthält [Regeln für Benutzeragenten] (http://w3c.github.io/html/xhtml.html#parsing-xhtml-documents) (Browser) zum Auflösen von benannten Zeichenreferenzen basierend auf der öffentlichen ID des Doctype , scheint aber nicht für Konformitätsprüfer zu gelten. Hoffentlich könnte @sideshowbarker (der Validierer-Betreuer) mitspielen und mehr Einblick geben. Ich bin der Ansicht, dass Sie, wenn Sie XHTML verwenden und validieren möchten, auf benannte Zeichen-Entitäten verzichten und nur die systemeigenen Zeichen oder die numerischen Zeichenreferenzen verwenden. – Alohci

+0

Also, ich habe versucht, mit den Browsern zu spielen, und es scheint, dass einige ältere Mozilla-Versionen beispielsweise "XHTML 1.0 Strict" im Doctype erwarten, andernfalls werden die Fehler angezeigt. Es klingt also so, als ob die Vorwärtskompatibilität fehlte - es sollte möglich sein, den XHTML 1.0 Strict Doctype für die Legacy-Browser zu verwenden und gleichzeitig einen zusätzlichen für die Checker zu haben, um XHTML5 zu erkennen. – cnst

+0

Mögliches Duplikat von [Wie definiere ich HTML-Entity-Referenzen in einem gültigen XML-Dokument?] (Http://stackoverflow.com/questions/6508860/how-doi-i-define-html-entity-references-inside-a- valid-xml-document) –

Antwort

1

Verwenden numerische HTML-Entitäten wie & für Et-Zeichen für beide die HTML und XML-Parser statt & die nicht gültige Entitäten sind. Normalerweise hat MDN (Mozilla Developer Network) zuverlässige Informationen und ich verabscheue W3Schools, so dass December eine ziemlich erschöpfende Liste hat und ich auch die Unicode Character Table Website sehr empfehlen kann.

Meine Plattform und Website (Link in meinem Profil) wird als XHTML5 verwendet und verwendet UTF8-Zeichen anstelle von Bildern (weniger HTTP-Anfragen für bessere Leistung).

Soweit Docts betroffen sind, haben Sie nicht speziell erwähnt, welche Versionen von welchen Browsern Sie kommentieren müssen, damit ich hineinschauen kann. Ich habe Installer, die den ganzen Weg zurück zu Opera 2 und Mozilla Suite 0.8 gehen. :-)