daniel84: Validator meckert - wieso?

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...

  1. 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

    --
    MudGuard? Siehe http://www.Mud-Guard.de/
    1. 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

    2. 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

      1. 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

        --
        MudGuard? Siehe http://www.Mud-Guard.de/
        1. 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