Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   XML (XHTML) Ansicht im Internet Explorer (https://www.delphipraxis.net/40985-xml-xhtml-ansicht-im-internet-explorer.html)

Sprint 24. Feb 2005 06:07


XML (XHTML) Ansicht im Internet Explorer
 
Hallo,

kann mir bitte einer sagen, wie ich folgenden Quelltext erweitern muss, damit die XHTML Seite richtig im Internet Explorer 6 angezeigt wird. Firefox 1.0 und Opera 7.54 zeigen dieses Seite an und der W3C Validator sagt das alles in Ordnung ist.

Code:
<?php

function Main() {

header("Content-Type: text/xml; charset=iso-8859-1");

$HTML = '<?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" xml:lang="en">
<head>
<title>Test</title>
</head>
<body>


Test</p>
</body>
</html>';

echo $HTML;
   
}

Main();

?>
Wenn ich Content-Type auf text/html stelle, dann geht's. Aber das kann nicht Ziel von XHTML sein. Ich denke, dass irgendeine Angabe fehlt.

Zitat:

Zitat von Fehlermeldung im IE
Die XML-Seite kann nicht angezeigt werden
Die XML-Eingabe kann nicht angezeigt werden, wenn Stylesheet verwendet wird. Beheben Sie den Fehler und klicken Sie dann auf Aktualisieren, oder wiederholen Sie den Vorgang später.


--------------------------------------------------------------------------------

Die Parameterentität muss definiert werden, bevor sie verwendet wird. Fehler beim Bearbeiten der Ressource 'http://www.w3.o...

%xhtml-prefw-redecl.mod;
-^


jim_raynor 24. Feb 2005 06:13

Re: XML (XHTML) Ansicht im Internet Explorer
 
Ich glaube schon, dass text/html die richtige Wahl ist. denn text/xml sagt dem Browser, dass es sich um eine normale XML-Datei handelt, die auch nur so angezeigt wird. Wenn du zum Beispiel text/plain sagst, dann wird auch eine XML-Datei als normale Textdatei angezeigt. Also bissle Beachtung findet der Content-Type schon. Alternativ kannst du es ja mal mit text/xhtml versuchen.

Sprint 24. Feb 2005 06:20

Re: XML (XHTML) Ansicht im Internet Explorer
 
Wenn ich text/html nehme, dann benutzen Opera und Firefox ihren HTML Parser. Und das möchte ich vermeiden.

Edit: \\ Damit es zu keinen missverständnissen kommt. Die Seite soll natürlich als HTML Seite dargestellt werden. Aber man sieht den unterschied, ob Firefox oder Opera ihren HTML Parser benutzen oder halt nicht.

Phoenix 24. Feb 2005 07:09

Re: XML (XHTML) Ansicht im Internet Explorer
 
Du muss den Teil hier: <?xml version="1.0" encoding="iso-8859-1"?> für den IE weglassen.
Mache also per PHP eine User-Agent überprüfung rein und gebe den XML-Header nur aus, wenn Du keinen IE vor Dir hast.

Funktioniert auf meiner Seite wunderprächtig.

Sprint 24. Feb 2005 07:24

Re: XML (XHTML) Ansicht im Internet Explorer
 
@Phoenix: Danke für die Info. Nachdem ich diese Info gelesen habe und es ausprobiert habe, funktioniert es so wie du es gesagt hast.

Sprint 1. Mär 2005 20:13

Re: XML (XHTML) Ansicht im Internet Explorer
 
Ich habe mich jetzt für einen anderen Weg entschlossen. Und zwar prüfe ich vorher, ob application/xhtml+xml vom Browser unterstützt wird. Wenn nicht, dann sende ich das Dokument als text/html. Ich denke, so wird es auch keine Probleme mit Suchmaschinen geben. Firefox und Opera akzeptieren application/xhtml+xml und der IE halt nicht.

Code:
<?php

function Main() {

    if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1' &&
    isset($_SERVER['HTTP_ACCEPT']) &&
    preg_match('|application/xhtml\+xml(?!\s*;\s*q=0)|', $_SERVER['HTTP_ACCEPT'])) {
        header('Content-Type: application/xhtml+xml; charset=iso-8859-1');
        header('Vary: Negotiate,Accept');
    } else {
        header('Content-Type: text/html; charset=iso-8859-1');
        header('Vary: Negotiate,Accept');
    }

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

}

Main();

?>

<!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" xml:lang="de" dir="ltr">
    <head>
        <title>Test</title>
    </head>
    <body>
    </body>
</html>


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz