Validierung des Codes, wenn ich eine Browservorschau öffne?
Rene Grassegger
- xml
HI Leute,
mir ist heute etwas für mich sehr ungewohntes passiert.
Ich versuche gerade eine XHTML konforme Webseite mit der Hand zu schreiben.
Ich benutze Phase 5 von Ulli Meybohm.
Als ich die Dateien auf .php umbenannt habe und weiterarbeiten wollte, habe ich vorher auf F9 für Browseransicht gedrückt.
Anstatt die Seite wie 100x mal davor zu sehen(in der internen Browservorschau), wurde mir jeder Fehler mit Zeilennummer und genauer Position angezeigt.
Und ich kann die Seite nur noch als Quellcode angucken.(aber im Browserfenster)
Warum passiert das?
Ich habe auch schon mit HTML 4 Spezifikationen im Head gearbeitet, aber dass sehe ich das Erste mal.
Ich bin ganz baff.
Kann mir jemand bitte sagen, warum der Internetexplorer sowas macht?
Hier ein Teil des Codes:
<?xml version='1.0' encoding='iso-8859-1'?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Startseite von Rene Grassegger, einem Webseitengestalter in Salzburg - Österreich.</title>
<meta name="author" content="Rene Grassegger" />
<link rel="stylesheet" href="win.css" type="text/css" />
</head>
<body alink="#CCFF33" text="#99FF66">
<table width="100%" height="100%" cellspacing="0" cellpadding="10" border="0">
<tr>
<!--Beginn der Des Inhalts-->
<td class="inhalt" width="75%">
<h3>Startseite</h3>
ganz baff Rene
das klingt ganz nach einem windows-bug.einfach mal neu starten (mindestens den editor).
mfg michi
Hi Michi,
danke für die schnelle Antwort.
das klingt ganz nach einem windows-bug.einfach mal neu starten (mindestens den editor).
Ich weiß nicht *überleg*
Im Browserfenster bekomme ich das
<img src="http://grassegger.at/neu/xhtml.gif" border=0 alt="">
angezeigt und kann dort mit den Minus "-" vor dem Code den Code einklappen!!
Wenn ich die Files als htm abspeichere wird mein code nicht geprüft und nach Fehlern durchsucht.
Es hat auch nichts mit dem Phase 5 zu tun, sonder mit dem IE 5.0 auf W98 SE.
mfg michi
mfg Rene
Hallo, ich glaube du hast noch nicht ganz kapiert, was du überhaupt mit XML machen kannst. Erst bennenst du deine HTML-Seiten in .php und jetzt versuchst du die XML-Seiten im Internet Explorer anzuschauen ;-)
Du musst die Xml-Seiten ja irgendwie parsen, sonst kannst du damit nichts anfangen. Der IE zeigt nur eine Baumansicht der XML-Datei zur Übersicht. Lass dir das gante mal im Opera etc. ausgeben, dann siehst dur nur noch Text. ( "und das ist auch gut so" ;-) ).
Du kannst nicht erwarten, das der Browser errät, was du mit deinen (selbst-definierten) Tags anzeigen willst...
ciao David
Hi David,
hörst du das *KLING*, der Groschen ist gefallen. :-D
Danke schön!
mfg Rene
Hallo, ich glaube du hast noch nicht ganz kapiert, was du überhaupt mit XML machen kannst. Erst bennenst du deine HTML-Seiten in .php und jetzt versuchst du die XML-Seiten im Internet Explorer anzuschauen ;-)
Du musst die Xml-Seiten ja irgendwie parsen, sonst kannst du damit nichts anfangen. Der IE zeigt nur eine Baumansicht der XML-Datei zur Übersicht. Lass dir das gante mal im Opera etc. ausgeben, dann siehst dur nur noch Text. ( "und das ist auch gut so" ;-) ).
Du kannst nicht erwarten, das der Browser errät, was du mit deinen (selbst-definierten) Tags anzeigen willst...
ciao David
hallo,
Du kannst nicht erwarten, das der Browser errät, was du mit deinen (selbst-definierten) Tags anzeigen willst...
darum geht es überhaupt nicht.
denn es handelt sich nicht um selbsfefinierte tags sondern um xhtml.
es leigt alleon daran, dass der IE offenbar intern keine mime typ für php dateien, oder für diese keine anzeigemodus hat. deshalb wird hier die xml deklaration brücksichtigt.
grüße
thomas
Grüssi!
Im Browserfenster bekomme ich das
[...]
angezeigt und kann dort mit den Minus "-" vor dem Code den Code einklappen!!
so wird im IE eine XML-Datei dargestellt ;-)
Wenn ich die Files als htm abspeichere wird mein code nicht geprüft und nach Fehlern durchsucht.
Das könnte darin begründet sein, dass der IE .html Dateien als Content-type text/html interpretiert, also die xml-Processing-Instruction ignoriert, und bei einer anderen Dateieindung, "erstmal nachsehen" muss was denn das für eine Art von File ist. Er sieht in der ersten Zeile <?xml ...> und weiss, aha, da handelt sichs um ein xml-file. Benenne deine Datei um auf "irgendwas.judeldideldu" es wird genauso die datei als xml-Datei dargestellt!
Meine Antwort ist nur eine Arbeitshypothese *fg*, die zugrundeliegenden Ursachen für dieses Problem sind mir schleierhaft! Wie arbeitet ein Browser eine Textdatei ab? Wie erkennt er worum es sich handelt? Liegt es an der ersten Zeile (<!DOCTYPE>, <?xml?>, ...)? Denn falls nur "<b>huhu</b>" in der ersten Zeile drinsteht wirds ja auch richtig ausgegeben!
lg bernhard
Servus Bernhard,
so wird im IE eine XML-Datei dargestellt ;-)
aha - danke.
Das könnte darin begründet sein, dass der IE .html Dateien als Content-type text/html interpretiert, also die xml-Processing-Instruction ignoriert, und bei einer anderen Dateieindung, "erstmal nachsehen" muss was denn das für eine Art von File ist. Er sieht in der ersten Zeile <?xml ...> und weiss, aha, da handelt sichs um ein xml-file. Benenne deine Datei um auf "irgendwas.judeldideldu" es wird genauso die datei als xml-Datei dargestellt!
OK, das erscheint verständlich, danke schön.
Herzlichen Danke Bernhard
Moin,
Meine Antwort ist nur eine Arbeitshypothese *fg*, die zugrundeliegenden Ursachen für dieses Problem sind mir schleierhaft! Wie arbeitet ein Browser eine Textdatei ab?
ganz einfach. Der IE ist kaputt. Ihn interessieren i.a. weder Dateiendungen noch MIME-Types.
http://msdn.microsoft.com/workshop/networking/moniker/overview/appendix_a.asp
vgl. auch beispielsweise http://groups.google.com/groups?hl=de&safe=off&ic=1&th=7f858fbf029b059d,23&seekm=jsspgt0tnvtf3oh7253vg10fq9qa1n6go7%404ax.com#p ff.
Viele Gruesse,
n.d.p.
das klingt ganz nach einem windows-bug.einfach mal neu starten (mindestens den editor).
So ein Quatsch!
Also erstmal: Der !HTML!-Editor hat damit nichts zu tun!
PHP läuft serverseitig. Das heisst du musst eine PHP-Seite über localhost/... abrufen. Oder über 127.0.0.1/. Der HTMl Editor versucht wahrscheinlich C:... aufzurufen. Deswegen wird der PHP-Code nicht interpretiert. Ich verstehe sowiso nicht, warum du das in .php umbenannt hast.
Der Fehler kommt wahrscheinlich wegen dem <?xml... weil der PHP-Interpreter, wenn er doch aufgerufen wird das als PHP versteht.
Oder du rufst es im IE auf- dann kann es sein, dass es ein XML-Fehler ist.
ciao David
Hi David,
Ich verstehe sowiso nicht, warum du das in .php umbenannt hast.
Ich wollte danach die verschiedene Dinge durch das Include er-/einsetzen, aber soweit war ich noch nicht da der Code plötzlich komisch (screenshot unter http://grassegger.at/neu/xhtml.gif )
aussieht.
Der Fehler kommt wahrscheinlich wegen dem <?xml... weil der PHP-Interpreter, wenn er doch aufgerufen wird das als PHP versteht.
Oder du rufst es im IE auf- dann kann es sein, dass es ein XML-Fehler ist.
wenn die Dateiendung +htm ist, passiert nix.
Wenn ich die Seite auf php umbenenne wird der Code irgendwo online geprüft und Fehler ausgegeben.(Und alles im Browserfenster)
mfg Rene
Ich verstehe sowiso nicht, warum du das in .php umbenannt hast.
Ich wollte danach die verschiedene Dinge durch das Include er-/einsetzen, aber soweit war ich noch nicht da der Code plötzlich komisch (screenshot unter http://grassegger.at/neu/xhtml.gif )
aussieht.
Du hast wahrscheinlich nicht mal einen PHP-Interpreter und einen Server schätz' ich mal. Du kannst PHP-Seite nicht einfach so aufrufen. Der Browser erkennt die dann als Textdatei mit php-Endung. Aber weis nicht, was er damiot machen soll ;-)
Der Fehler kommt wahrscheinlich wegen dem <?xml... weil der PHP-Interpreter, wenn er doch aufgerufen wird das als PHP versteht.
Oder du rufst es im IE auf- dann kann es sein, dass es ein XML-Fehler ist.
wenn die Dateiendung +htm ist, passiert nix.
Wenn ich die Seite auf php umbenenne wird der Code irgendwo online geprüft und Fehler ausgegeben.(Und alles im Browserfenster)
*lol*
mfg Rene
hallo Rene,
mir ist heute etwas für mich sehr ungewohntes passiert.
Ich versuche gerade eine XHTML konforme Webseite mit der Hand zu schreiben.
Als ich die Dateien auf .php umbenannt habe und weiterarbeiten wollte,
es liegt allein daran, dass der IE offenbar intern keine mime typ für php dateien, oder für diese keine anzeigemodus hat, das ist so weit nicht weiter verwunderlich, denn wie dir schon gesagt wurde php ist eine serverseiteige scriptsprache und wird auch erst vom php prozessor am server interpretiert.
da der IE diese interpretaiton nicht machen kann wird hier die xml deklaration brücksichtigt. und weil xhtml eben xml konforme html ist bekommst du natürlich alle fehermeldungen.
nimms leicht, so brauchst du nicht den w3c validator bemühen ;-)
grüße
thomas
Hallo Thomas,
es liegt allein daran, dass der IE offenbar intern keine mime typ für php dateien, oder für diese keine anzeigemodus hat, das ist so weit nicht weiter verwunderlich, denn wie dir schon gesagt wurde php ist eine serverseiteige scriptsprache und wird auch erst vom php prozessor am server interpretiert.
Das verwunderliche ist aber, dass es überhaupt nicht am 'php' liegt *fg* verwirrt *g* genausogut könnte seine Datei die Endung 'hph' haben, oder 'ThomasJS' ;-)
Probiers aus: http://www.unet.univie.ac.at/~a9827041/xhtml.thomasJS
Aufgefallen ist mir dabei, dass das Laden im Vergleich zu den anderen Seiten verdammt lange dauert! Der IE muss da irgendwas machen im Hintergrund! Im Opera wird die Datei übrigens wie eine .txt angezeigt, ohne Wartezeiten!
xhtml kann anscheinend nur 'richtig' dargestellt werden, wenn es die Dateiendung .html hat, oder von einem Serverseitigem Script mit dem Content-type header als text/html identifiziert wurde!
lg bernhard
Hallo Thomas und Bernhard,
Aufgefallen ist mir dabei, dass das Laden im Vergleich zu den anderen Seiten verdammt lange dauert! Der IE muss da irgendwas machen im Hintergrund! Im Opera wird die Datei übrigens wie eine .txt angezeigt, ohne Wartezeiten!
xhtml kann anscheinend nur 'richtig' dargestellt werden, wenn es die Dateiendung .html hat, oder von einem Serverseitigem Script mit dem Content-type header als text/html identifiziert wurde!
Bei mir wurden Fehlermeldungen wie das <br> ist in Zeile xx und Position xx fehlerhaft....gebracht. Sozusagen ne Validierung für Faule. Probiert das mal.
Danke für eure Erklärungen.
lg bernhard
Grüssi Rene,
Bei mir wurden Fehlermeldungen wie das <br> ist in Zeile xx und Position xx fehlerhaft....gebracht. Sozusagen ne Validierung für Faule. Probiert das mal.
Tja, der interne Parser des IE überprüft, wie bei jeder xml-Datei ob sie Wohlgeformt und valide ist, verwendest du ein Tag das in der DTD (in deinem Fall die xhtml-dtd) nicht definiert wird, meckert er, und zeigt dir die Stelle an der das fehlerhafte Tag steht! Eine (ausnahmsweise *g*) sehr nützliche Eigenschaft des IE wie ich finde!
Der xhtml-Validator müsste bei <br> allerdings auch anspringen, da diese Schreibweise nicht den Regeln der Wohlgeformtheit folgt. Leere Elemente müssen meines Wissens in xml-Notation geschrieben werden, also mit einem '/' am Ende: <br /> oder <br></br> statt <br> !! Der IE meckert also zurecht ;-)
lg bernhard
Hi bernhard,
Tja, der interne Parser des IE überprüft, wie bei jeder xml-Datei ob sie Wohlgeformt und valide ist, verwendest du ein Tag das in der DTD (in deinem Fall die xhtml-dtd) nicht definiert wird, meckert er, und zeigt dir die Stelle an der das fehlerhafte Tag steht! Eine (ausnahmsweise *g*) sehr nützliche Eigenschaft des IE wie ich finde!
Mich hat nur gewundert, DASS er zu solchen Dingen fähig ist! Ist natürlich schon sehr praktisch.
Der xhtml-Validator müsste bei <br> allerdings auch anspringen, da diese Schreibweise nicht den Regeln der Wohlgeformtheit folgt. Leere Elemente müssen meines Wissens in xml-Notation geschrieben werden, also mit einem '/' am Ende: <br /> oder <br></br> statt <br> !! Der IE meckert also zurecht ;-)
gaaaaaaaaaaaaaanz genau. Ich bin aber sehr überrascht über seine versteckten Qualitäten.
lg bernhard
Hallo Bernhard,
Das verwunderliche ist aber, dass es überhaupt nicht am 'php' liegt *fg* verwirrt *g* genausogut könnte seine Datei die Endung 'hph' haben, oder 'ThomasJS' ;-)
ja ist richtg. denn der IE hat auch für diese dateien keinen interne mime-type.
Aufgefallen ist mir dabei, dass das Laden im Vergleich zu den anderen Seiten verdammt lange dauert! Der IE muss da irgendwas machen im Hintergrund!
ja. er holt die DTD und parst die xml (xhtml) datei. das kann natürlich dauern. ändere die URL in der DOCTYP auf eine nicht existente DTD und du bekommst eine fehlermeldung vom IE.
»»Im Opera wird die Datei übrigens wie eine .txt angezeigt, ohne Wartezeiten!
In Netscape auch.
Grüße
Thomas