Probleme mit xml-Deklaration -> php des Servers
Bastian Schnitzler
- html
0 Thomas Meinike0 Cheatah
Hallo!
Bin gerade dabei meine Page konform zu schreiben (http://forum.de.selfhtml.org/?t=85576&m=504070), habe aber Probleme mit der xml-Deklaration (<?xml version="1.0" encoding="ISO-8859-1"?>).
Server erkennt <? und ?> als Eroeffnung bzw. Schliessung von php-Argumenten, was soll ich machen? (jetzt sagt bitte nicht Server wechseln, ca. 80% der Server, auf denen ich meine Homepage hostete, benutzen diese Tags).
MfG,
Bastian
Hallo,
Bin gerade dabei meine Page konform zu schreiben (http://forum.de.selfhtml.org/?t=85576&m=504070), habe aber Probleme mit der xml-Deklaration (<?xml version="1.0" encoding="ISO-8859-1"?>).
Setze an den Anfang:
<?php
print "<?xml version="1.0" encoding="ISO-8859-1"?>\n";
?>
MfG, Thomas
<?php
print "<?xml version="1.0" encoding="ISO-8859-1"?>\n";
?>
lol, so bloed kann man ja nicht sein, nicht selber drauf zu kommen.
Danke,
Bastian
Hi,
Bin gerade dabei meine Page konform zu schreiben (http://forum.de.selfhtml.org/?t=85576&m=504070),
</faq/#Q-19>
habe aber Probleme mit der xml-Deklaration (<?xml version="1.0" encoding="ISO-8859-1"?>).
Server erkennt <? und ?> als Eroeffnung bzw. Schliessung von php-Argumenten, was soll ich machen?
Argl. Das kann ich Dir zwar leider nicht sagen; aber ich kann Dir den Tipp geben, auf den XML-Prolog zu verzichten - der IE ist so blöd, dass er dann den DOCTYPE nicht mehr findet, und also im (beim IE fatalen) Quirks-Mode bleibt. Wenn Du also nicht gerade XHTML/1.1 verwendest (sprich: der Prolog nicht erforderlich ist), dann löse dieses Problem durch Auslassen der Situation.
Cheatah
Hi,
Wenn Du also nicht gerade XHTML/1.1 verwendest (sprich: der Prolog nicht erforderlich ist),
Mit Prolog meinst Du vermutlich die XML-Deklaration.
Denn prolog ist in XML definiert als
[22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?
während die XML-Deklaration definiert ist als
XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>'
(siehe http://www.w3.org/TR/REC-xml/#sec-prolog-dtd)
Der Prolog ist bei XHTML immer erforderlich - es reicht aber, wenn er aus dem DOCTYPE besteht.
Könntest Du mir bitte die Stelle zeigen, an der in XHTML 1.1 steht, daß die XML-Deklaration erforderlich ist?
Ich finde sie nicht - und da XHTML 1.1 eine XML 1.0-Anwendung ist, ist die XML-Deklaration damit nicht erforderlich, es sei denn es wird explizit gefordert.
Beim Doctype, der in XML 1.0 ja ebenfalls optional ist, ist das der Fall (http://www.w3.org/TR/xhtml1/#strict, http://localhost/Doku/XHTML11/conformance.html#strict, jeweils Punkt 4)
Erst XML 1.1 erfordert die XML-Deklaration (um von XML 1.0 unterscheidbar zu sein):
[22] prolog ::= XMLDecl Misc* (doctypedecl Misc*)?
(man beachte das fehlende ? nach XMLDecl - siehe http://www.w3.org/TR/2004/REC-xml11-20040204/#sec-prolog-dtd)
Aber XHTML 1.1 hat ja mit XML 1.1 nichts zu tun ...
cu,
Andreas
Hi,
Wenn Du also nicht gerade XHTML/1.1 verwendest (sprich: der Prolog nicht erforderlich ist),
Mit Prolog meinst Du vermutlich die XML-Deklaration.
Denn prolog ist in XML definiert als [...]
danke, das hatte ich bisher offenbar missverstanden.
Könntest Du mir bitte die Stelle zeigen, an der in XHTML 1.1 steht, daß die XML-Deklaration erforderlich ist?
Ich muss gestehen, diese Information habe ich aus diesem Forum mitgenommen. Wer es sagte weiß ich nicht mehr, aber ich habe ihm/ihr genügend vertraut, um es ungeprüft zu glauben.
Aha ;-)
Erst XML 1.1 erfordert die XML-Deklaration
Das mag der Irrtum gewesen sein.
Cheatah
Hallo,
Könntest Du mir bitte die Stelle zeigen, an der in XHTML 1.1 steht, daß die XML-Deklaration erforderlich ist?
Ich muss gestehen, diese Information habe ich aus diesem Forum mitgenommen. Wer es sagte weiß ich nicht mehr, aber ich habe ihm/ihr genügend vertraut, um es ungeprüft zu glauben.
Manche betrachtet ein SHOULD bzw. STRONGLY RECOMMENDED, wenn es vom W3C kommt, als eine ohne Wenn und Aber zu befolgende Regel, insofern ist das durchaus vertretbar. Wenn man von »erforderlich« spricht: Sobald man das XHTML-Dokument dazu nutzt, wofür es vorgesehen ist, nämlich zur Verarbeitung gemäß XML (und das ist XHTML 1.1 tatsächlich inhärent, weil es keine sog. HTML-Kompatibilität gibt), dann ist die XML-Deklaration früher oder später theoretisch erforderlich, weil sie die Kodierungsangabe enthält (von UTF-8/UTF-16 abgesehen). Praktisch tut es nicht so weh, weil Browser (aber nicht andere Prozessoren) mit Verstößen gegen den XML-Standard in dieser Dimension mittlerweile tolerant (also ebenfalls nicht standardkonform) umgehen.
Die Argumentationsweise, dass bei HTTP die Kodierung ja im Content-Type-Header untergebracht werden kann, geht davon aus, dass das Dokument in keinem anderen Kontext verarbeitet wird, denn in diesen ist in der Regel allein die Kodierungsangabe in der XML-Deklaration relevant.
Mathias
Hallo.
Das kann ich Dir zwar leider nicht sagen; aber ich kann Dir den Tipp geben, auf den XML-Prolog zu verzichten - der IE ist so blöd, dass er dann den DOCTYPE nicht mehr findet, und also im (beim IE fatalen) Quirks-Mode bleibt.
Andererseits schert man so wenigstens alle Versionen des IE über einen Kamm, was einem die Arbeit wieder erleichtern kann.
MfG, at
Hi,
Andererseits schert man so wenigstens alle Versionen des IE über einen Kamm, was einem die Arbeit wieder erleichtern kann.
nicht nur das - man hat es auch nur mit den altbekannten Bugs zu tun und erspart sich auch den ein oder anderen neuen.
freundliche Grüße
Ingo