Daniel: Internet Explorer und der Standard-Compliant Modus

Hallo!

Ich bin schon bald am verzweifeln, ich bekomme den Standard-Compliant Modus vom Internet Explorer einfach nicht zum Laufen, ich habe nirgends die Definition für XHTML gefunden. Meine aktuelle Doctype lautet so:

<?php
echo "<?xml version="1.0" encoding="iso-8859-1"?>"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

Ohne diesen Modus interpretiert der IE ja wie immer alles falsch, deswegen brauche ich ihn.

Hat vielleicht irgendwer einen Tip der mir weiterhelfen könnte ?
Danke im Vorraus.
Daniel

  1. Hallo,

    <?php echo "<?xml version="1.0" encoding="iso-8859-1"?>"; ?>

    Bitte poste hier nicht serverseitigen Quellcode, sondern das,
    was der Browser zu sehen kriegt.

    Und das Problem ist auch schon in dieser Zeile.

    Entferne den XML-Prolog, wenn Du willst,
    dass der MS IE 6.0 in den Standards-Compliant Modus
    wechselt.

    So einfach ist das...

    Gruesse,

    Thomas

    --
    Dank /my/ automatisch ausgeblendet: JavaScript, ASP.
    Manuell "ausgeblendet": Threads mit Frames, Iframes und Scrollbalken im Subject...
    Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
    1. Hi Thomas

      <?php echo "<?xml version="1.0" encoding="iso-8859-1"?>"; ?>

      Bitte poste hier nicht serverseitigen Quellcode, sondern das,
      was der Browser zu sehen kriegt.

      Ok werde ich dann in Zukunft so machen :)

      Und das Problem ist auch schon in dieser Zeile.

      Entferne den XML-Prolog, wenn Du willst,
      dass der MS IE 6.0 in den Standards-Compliant Modus
      wechselt.

      So einfach ist das...

      Ja aber wenn ich diese zeile entferne, dann ist der Code laut W3C Validator nicht mehr XHTML gültig - zumindest parst er ihn nicht mehr und sagt, dass er eben diese Zeile vermisst.
      Wass also tun um beides zu erreichen ?

      Grüsse,
      Daniel

      1. N'Obend!

        Ja aber wenn ich diese zeile entferne, dann ist der Code laut W3C Validator nicht mehr XHTML gültig - zumindest parst er ihn nicht mehr und sagt, dass er eben diese Zeile vermisst.
        Wass also tun um beides zu erreichen ?

        Kann eigentlich nicht sein!
        Die Zeile ist ausdrücklich optional, auch der Validator sollte das wissen.

        Achtung: wir sprechen nur von:
        <?xml version="1.0" encoding="iso-8859-1"?>
        der Doctype muss da sein!

        Es wird zwar vom W3C empfohlen die Zeile zu setzen, da der IE damit aber nicht klar kommt ist es besser sie weg zu lassen.

        Das Problem mit dem IE ist, dass er in der ersten Zeile nach dem Doctype sucht, ist er dort nicht zu finden schaltet er den Compliants-mode ab.

        Frohes Fest!
        dbenzhuser

        1. Hallo dbenzhuser!

          Ja aber wenn ich diese zeile entferne, dann ist der Code laut W3C Validator nicht mehr XHTML gültig - zumindest parst er ihn nicht mehr und sagt, dass er eben diese Zeile vermisst.
          Wass also tun um beides zu erreichen ?

          Kann eigentlich nicht sein!
          Die Zeile ist ausdrücklich optional, auch der Validator sollte das wissen.

          Hm jaja der Validator hat auch seine Macken :) Ich habe nun einmal explizit angegeben, welches Doctype und Codierung er testen sollte und dann funktionierts so haaaaaalbwegs, dh es ist "Tentatively Valid", was laut meinem schlauen Übersetzungsbuch soviel wie "unter Vorbedacht gültig" heisst.Ich denke das wird dann schon so in Ordnung sein.

          Achtung: wir sprechen nur von:
          <?xml version="1.0" encoding="iso-8859-1"?>
          der Doctype muss da sein!

          Es wird zwar vom W3C empfohlen die Zeile zu setzen, da der IE damit aber nicht klar kommt ist es besser sie weg zu lassen.

          Das Problem mit dem IE ist, dass er in der ersten Zeile nach dem Doctype sucht, ist er dort nicht zu finden schaltet er den Compliants-mode ab.

          Also das heisst entweder auf den Compliant Mode verzichten, oder _wirklich_ valides XHTML haben? Am liebsten wäre mir zwar auf den IE zu verzichten, aber man kann ja nicht alles haben ;)

          freundliche Grüsse,
          Daniel

          1. Hi,

            Also das heisst entweder auf den Compliant Mode verzichten, oder _wirklich_ valides XHTML haben? Am liebsten wäre mir zwar auf den IE zu verzichten, aber man kann ja nicht alles haben ;)

            Nein. Der Doctype muß vorhanden sein.
            Die Codierungsangabe kann auch im meta-Element (<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />) oder im http-header erfolgen.

            cu,
            Andreas

            --
            MudGuard? Siehe http://www.mud-guard.de/
      2. Hallo,

        Entferne den XML-Prolog, wenn Du willst,
        Ja aber wenn ich diese zeile entferne, dann ist der Code laut W3C Validator nicht mehr XHTML gültig

        Quatsch.
        Die erste Zeile ist ueberfluessig.
        Hier ein Beispiel von einer validen XHTML 1.0 Strict Seite,
        die keinen XML-Prolog hat:
        http://augart.com/Skeletons/SKELETON.strict.xhtml-10.html
        http://validator.w3.org/check?uri=http%3A%2F%2Faugart.com%2FSkeletons%2FSKELETON.strict.xhtml-10.html

        Die DOCTYPE-Angabe ist natuerlich notwendig,
        aber davon war nie die Rede.

        http://www.w3.org/TR/xhtml1/#strict
        "An XML declaration is not required in all XML documents;
        however XHTML document authors are strongly encouraged
        to use XML declarations in all their documents."

        Das W3C will einen also ermutigen, diese fakultative erste Zeile
        <?xml version="1.0" encoding="UTF-8"?>
        einzubauen. Wenn man aber will, dass das kompilierte
        Sicherheitsrisiko in den Standards Compliant Modus
        wechselt, muss man sie eben weglassen und direkt
        mit der DOCTYPE-Angabe beginnen.

        Lies doch mal den Artikel zum Thema Doctype-Switching:
        http://gutfeldt.ch/matthias/articles/doctypeswitch.html

        Gruesse,

        Thomas

        --
        Dank /my/ automatisch ausgeblendet: JavaScript, ASP.
        Manuell "ausgeblendet": Threads mit Frames, Iframes und Scrollbalken im Subject...
        Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
        1. Hallo Thomas!

          Danke für die informativen Links und Erklärungen!
          Jetzt weiss ich was zu tun ist :)

          ...frohes Weihnachten noch,
          Daniel