Doctype Declaration
C2H5OH
- html
0 MudGuard0 Thomas Meinike0 C2H5OH
Hi,
um valides XHTML1.1 zu behalten mußte ich die Doctype Declaration erweitern, es sieht nun so aus:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"[
<!ATTLIST span
newattr1 CDATA #IMPLIED
newattr2 CDATA #IMPLIED
>
]>
der W3C-Validator erkennt dann zwar die Version nicht mehr und validiert gegen HTML4.01 transitional mit den entsprechenden Fehlermeldungen. Das Abschalten der automatischen Erkennung und zwangsweise Validierung nach XHTML1.1 nutz auch nichts, da er dann einen weiteren Doctype einfügt und mit den beiden Deklarationen in Konflikt kommt.
Die Validatoren von WDG und Validome haben dagegen keine Probleme und melden ein fehlerfreies XHTML.
Nur die Browser haben Probleme, da sie bei dem ersten schließenden '>' das tag beenden und ']>' als Text behandeln und darstellen.
Es ist zwar kein stilistisches Problem, da ich die Vordergrundfarbe des bodies auf seine Hintergrundfarbe gesetzt habe (auf kein problem, da im body direkt sowieso kein Text stehen darf).
Es stört mich aber dennoch. Also habt ihr eine Idee, wie man die Browser austricksen kann.
Btw.: Opera schein dies mal richtig zu machen.
Gruß C2H5OH
Hi,
um valides XHTML1.1 zu behalten mußte ich die Doctype Declaration erweitern, es sieht nun so aus:
Wenn Du XHTML 1.1 um Deinen eigenen Kram erweiterst, ist es keinesfalls mehr XHTML 1.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"[
<!ATTLIST span
newattr1 CDATA #IMPLIED
newattr2 CDATA #IMPLIED
>
]>
Ich bin mir nicht sicher, ob es zulässig ist, eine externe mit einer internen DTD zu verbinden.
cu,
Andreas
Wenn Du XHTML 1.1 um Deinen eigenen Kram erweiterst, ist es keinesfalls mehr XHTML 1.1
Wie nan's nennt ist doch egal, haupsache die Browser kommen damit zurecht und es validiert.
Ich bin mir nicht sicher, ob es zulässig ist, eine externe mit einer internen DTD zu verbinden.
Ich war mir auch nicht sicher, aber die Antwort des Validators (WDG) sah so aus:
* Character encoding: ISO-8859-1
* Level of HTML: XHTML 1.1
Congratulations, no errors!
Gruß
C2H5OH
Hallo,
Wenn Du XHTML 1.1 um Deinen eigenen Kram erweiterst, ist es keinesfalls mehr XHTML 1.1
Wie nan's nennt ist doch egal, haupsache die Browser kommen damit zurecht und es validiert.
Warum validierst Du dann und schreibst Dir Deine eigene DTD?
Der Validator ist nur eine Maschine. Dem ist es egal, wie Dein Code aussieht, vorausgesetzt er paßt zu was auch immer.
Stehe dazu, daß Du keinen validen XHTML-Code hast oder laß Deine ungültigen Attribute weg. Alles andere ist in meinen Augen Selbstverarschung.
Viele Grüße
Carsten
Stehe dazu, daß Du keinen validen XHTML-Code hast oder laß Deine ungültigen Attribute weg.
Auf dumme Ratschläge kann ich verzichten, ich habe mir schon gut überlegt was ich mache. Die Attribute sind zwingend notwendig, weglassen geht also nicht.
Gruß
C2H5OH
Auf dumme Ratschläge kann ich verzichten,
Nu werd mal nich pampig!
ich habe mir schon gut überlegt was ich mache.
Anscheinend nicht. Aus deinem Originalposting:
um valides XHTML1.1 zu behalten mußte ich die Doctype Declaration erweitern
XHTML ist vom W3C standardisiert, da kannst du nicht daher kommen und die DTD erweitern.
Du kannst dir deine eigene XML-Sprache nach Belieben ausdenken, das ist dann aber keinesfalls XHTML.
Gunnar
Hallo,
um valides XHTML1.1 zu behalten mußte ich die Doctype Declaration erweitern, es sieht nun so aus:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"[
<!ATTLIST span
newattr1 CDATA #IMPLIED
newattr2 CDATA #IMPLIED
>
]>der W3C-Validator erkennt dann zwar die Version nicht mehr und validiert gegen HTML4.01 transitional mit den entsprechenden Fehlermeldungen.
Setze mal zwischen " und [ ein Leerzeichen oder Zeilenumbruch.
MfG, Thomas
Setze mal zwischen " und [ ein Leerzeichen oder Zeilenumbruch.
Das bringt nichts, hätte mich auch gewundert!
Gruß
C2H5OH
Hallo,
Setze mal zwischen " und [ ein Leerzeichen oder Zeilenumbruch.
Das bringt nichts, hätte mich auch gewundert!
In einer DTD muss in Deklarationen auch Whitespace zur Trennung zwischen Deklarationen und Inhaltsmodell verwendet werden, z. B. bei element1 (element2,element3) oder element4 (#PCDATA) usw. Insofern ist das beim Einschub von DTD-Fragmenten auch nicht verwunderlich. Ich habe es noch nicht anders gesehen und auch nur so verwendet.
Hier mal ein kleiner Testcase zur Validierung mit " [ bzw. "[ und es liegt am Whitespace:
Version 1) validert.
Die Dokumente werden aber vom Server nicht als application/xhtml+xml ausgeliefert (nur im meta-Tag angegeben) und das bedingt vermutlich das Auftreten der Zeichenkette "]>" im Content ...
Verwende doch XHTML 1.0.
MfG, Thomas