Browser erkennt XHTML 1.1 nicht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Browser erkennt XHTML 1.1 nicht

    Hallo,

    ich habe hier ein kleines Problem (Oder ist es vielleicht gar keines?).

    Ich arbeite im Moment eine Webseite auf XHTML 1.1 um. Der W3C-Validator erkennt das Dokument auch als gültiges XHTML 1.1 an. Allerdings meint mein Browser (Mozilla Firefox 1.0.2 auf Win xp SP2), das Dokument sei vom Typ txt/html, obwohl ich eindeutig application/xhtml+xml deklariere. Zumindest gibt er txt/html in den Seiteinformationen an. Dazu wäre zu noch sagen, dass es sich um eine PHP-Datei handelt, und dass folglich die Dateierweiterung nicht .xhmtl ist und leider auch nicht sein kann. Hier mal die betreffenden (geparsten) Zeilen aus dem Dokument:

    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Meine Seite</title>
    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" />



    Ich habe in SelfHTML gelesen, dass Server und Browser sich über Dokumententypen austauschen. Gibt es eine Möglichkeit, auch Dateien mit der Endung .php als XHTML zu versenden? Oder ist das ganze vielleicht gar nicht so schlimm?

    Desweiteren würde ich die Formulare in den Dateien gerne auf XFORMS umstellen. Wie hoch ist die Wahrscheinlichkeit, dass ein Browser damit umgehen kann? Ich kann leider nur mit wenigen Browsern (insbesondere nicht mit älteren Browserversionen) testen.

    War jetzt vielleicht ein bisschen viel, trotzdem Danke im Voraus,

    Hendrik

  • #2
    was du im meta angibst, interessiert niemanden
    der header ist schon raus, bevor der text ausgegeben wird.

    schau mal im xhtmlforum.de, dort findest du viele infos zu dem thema, ein codeschnipsel von toscho, der das wunderbar handelt.

    hier meine version
    PHP-Code:
        function ua_accepts_xhtml() {
          if(isset(
    $_SERVER['HTTP_USER_AGENT']) 
    && 
    preg_match("|rv:0\.9|"$_SERVER['HTTP_USER_AGENT']))
            return 
    FALSE;
          if (
    $_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1' 
    && isset($_SERVER['HTTP_ACCEPT']) 
    &&  
    preg_match('|application/xhtml\+xml(?!\s*;\s*q=0)|'$_SERVER['HTTP_ACCEPT']))
            return 
    TRUE;
          return 
    FALSE;
        }
      
    //
      // Wir senden XHTML, wenn möglich
      //
      
    header('Content-Type: '.(no_php_extension::ua_accepts_xhtml()  
    'application/xhtml+xml' 
    'text/html').'; charset=utf-8');
      
    header('Vary: Accept'); 
    ach, jetzt hab ich dir doch noch die links rausgesucht
    http://www.xhtmlforum.de/viewtopic.php?p=11472#11472
    http://www.hixie.ch/advocacy/xhtml
    http://schneegans.de/tips/apache-xhtml/

    EDIT:
    hoppla
    Zuletzt geändert von derHund; 15.04.2005, 13:11.
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar

    Lädt...
    X