Bastian Schnitzler: Probleme mit xml-Deklaration -> php des Servers

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

  1. 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

    1. <?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

  2. 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

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. 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

      --
      MudGuard? Siehe http://www.Mud-Guard.de/
      Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
      1. 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.

        http://localhost/Doku/XHTML11/conformance.html#strict

        Aha ;-)

        Erst XML 1.1 erfordert die XML-Deklaration

        Das mag der Irrtum gewesen sein.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. 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

    2. 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

      1. 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