Validator meckert - wieso?
daniel84
- html
0 MudGuard0 daniel840 Stefan Bach0 MudGuard
Hallo,
sorry für die blöde Frage, aber wieso bemängelt der Validator das Schliessen eines P-Tags, das angeblich nicht geöffent wurde, obwohl dies IMHO nicht der Fall ist? --> http://validator.w3.org/check?uri=http://6fonline.phidji.com/wginsg/test.asp
Wäre froh, wenn sich das mal jemand anschauen und mir einen Tipp geben könnte!
Merci,
Daniel
PS: Sorry, aber der Link zum Validator gefällt der Forensoftware offensichtlich nicht so...
Hi,
sorry für die blöde Frage, aber wieso bemängelt der Validator das Schliessen eines P-Tags, das angeblich nicht geöffent wurde, obwohl dies IMHO nicht der Fall ist? --> http://validator.w3.org/check?uri=http://6fonline.phidji.com/wginsg/test.asp
195: <script type="text/javascript">
196: <!--
197: document.writeln("<p class="textBordered" id="pDetails">");
198: document.writeln("Bewege die Maus über einen Namen, um hier Details zu lesen.");
199: document.writeln("</p>");
Die Zeichenfolge </ beendet den Script-Bereich, das </p> steht also außerhalb.
Da als letztes Element script geöffnet wurde, kann kein p geschlossen werden.
Schreibe
document.writeln("</p>");
und der Code ist korrekt.
cu,
Andreas
Besten Dank, Andreas - das wars! :-)
Auf Zeile 197 maskiere ich die Sonderzeichen noch schön, zwei Zeilen spätern kommts mir einfach nicht in den Sinn... ts, ts...
Gruss & nochmals danke!
Daniel
Hallo,
195: <script type="text/javascript">
196: <!--
197: document.writeln("<p class="textBordered" id="pDetails">");
198: document.writeln("Bewege die Maus über einen Namen, um hier Details zu lesen.");
199: document.writeln("</p>");Die Zeichenfolge </ beendet den Script-Bereich, das </p> steht also außerhalb.
Mal ne Frage noch am Rande. Müsste nicht eigentlich der Inhalt des Script Bereichs auch
für den Validator auskommentiert sein? Da steht ja immerhin ein <!-- davor und ein vor dem
</p> kommt ja kein -- in der Datei. Weshalb guckt der dann trotzdem da rein?
Viele Grüße,
Stefan
Hi,
Mal ne Frage noch am Rande. Müsste nicht eigentlich der Inhalt des Script Bereichs auch
für den Validator auskommentiert sein? Da steht ja immerhin ein <!-- davor und ein vor dem
</p> kommt ja kein -- in der Datei. Weshalb guckt der dann trotzdem da rein?
Weil der Inhalt des Script-Elements vom Typ CDATA ist - also keine Elemente enthält, auch keine Kommentar-Elemente.
Was für (alte) Clients aussieht wie ein Kommentaranfang, ist für den Validator schlichtweg eine Zeichenfolge ohne Bedeutung.
Wäre das anders, hättest Du auch mit dem pre- oder post-increment operator ein Problem - denn genaugenommen sind nicht die Zeichenfolgen <!-- und --> die kommentarbegrenzenden Zeichen, sondern jeweils die beiden --. Darum ist es auch nicht zulässig, diese Zeichenfolge in einem Kommentar zu verwenden (bzw. nur entsprechenden Anzahlen...). Schau Dir mal im Standard die Definitionen von Attributlisten an - da wird jeweils am Zeilenende ein Kommentar angegeben, und die ganze Attributliste ist EIN Element.
Kommentardefinition: Siehe http://www.w3.org/TR/html401/intro/sgmltut.html#h-3.2.4
Beispiel Attributliste: Siehe http://www.w3.org/TR/html401/struct/links.html#edef-A
Per Definition ist festgelegt, daß die Zeichenfolge </ (der end-tag-open-delimiter) einen CDATA-Bereich beendet.
siehe auch http://www.w3.org/TR/html401/types.html#type-cdata
cu,
Andreas
Hallo,
Weil der Inhalt des Script-Elements vom Typ CDATA ist - also keine Elemente enthält, auch keine Kommentar-Elemente.
Okay, jetzt hab ichs kapiert. Danke für die Links, die Information mit dem CDATA war mir neu.
Viele Grüße,
Stefan