fastix: validator.w3.org findet scheinbar auch nicht alles

Hi all...

Ich habe gerade eine Webseite wegen "mysteriöser" Darstellungsprobleme durch den validator.w3c.org gejagt.

Resultat ergab: Klasse! Kleb Dir das Gütesiegel drunter...
Nur die Probleme waren sichtbar da...

Eine "manuelle" Nachprüfung ergab folgendes:
</head><body> fehlte!

Also seid nicht so leichtgläubig wie ich... dann findet sich mancher Fehler schneller.

Eines noch im Nachsatz: Wenn der Validator Fehler findet, dann ist an der Seite auch was falsch! - Findet er keine... kann sie trotzem welche haben.

Ich werd mich in den nächsten Tagen mal hinhocken und versuchen den tiddy unter Windows so in ein Script einzubinden, daß er es via Weboberfläche tutet :)

  1. Hallo,

    Eine "manuelle" Nachprüfung ergab folgendes:
    </head><body> fehlte!

    Solange Du dich innerhalb von HTML bewegst, ist das kein Fehler, da für html und body sowohl das Start- als auch der End-Tag optional ist.

    Viele Grüße
    Carsten

    1. Hallo,

      da für html und body sowohl das Start- als auch das End-Tag optional

      ...und für head auch...

      Nochmals viele Grüße
      Carsten

  2. Moin!

    Ich habe gerade eine Webseite wegen "mysteriöser" Darstellungsprobleme durch den validator.w3c.org gejagt.

    Resultat ergab: Klasse! Kleb Dir das Gütesiegel drunter...
    Nur die Probleme waren sichtbar da...

    Eine "manuelle" Nachprüfung ergab folgendes:
    </head><body> fehlte!

    Kann ich kaum glauben. Sowas muß als Verschachtelungsfehler gemeldet werden. Hast du die fehlerhafte Seite noch irgendwo und kannst sie online stellen - oder sie rekonstruieren? Das würde ich nämlich gerne mal sehen.

    Ich behaupte nicht, dass der Validator 100% fehlerfrei ist, aber deinen offensichtlichen Fehler hätte er eigentlich finden müssen.

    Eines noch im Nachsatz: Wenn der Validator Fehler findet, dann ist an der Seite auch was falsch! - Findet er keine... kann sie trotzem welche haben.

    Das stimmt. Man kann zum Beispiel mit Tabellen viele Probleme verursachen, wenn die Anzahl der Spalten pro Zeile nicht stimmt. Was glaubst du wohl, warum es den Tabellenzerleger[1] gibt. ;)

    [1] http://www.rtbg.de/plugin/

    - Sven Rautenberg

    --
    "Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)
    1. Hi,

      Eine "manuelle" Nachprüfung ergab folgendes:
      </head><body> fehlte!
      Kann ich kaum glauben. Sowas muß als Verschachtelungsfehler gemeldet werden.

      Nein, weil es kein Verschachtelungsfehler ist.
      In HTML 4.01 steht drin:
      <!ELEMENT BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- document body -->
      <!ELEMENT HEAD O O (%head.content;) +(%head.misc;) -- document head -->
                     ^ ^
                     | |

      Das erste O steht für O ptionales Start-Tag, das zweite für O ptionales End-Tag.

      cu,
      Andreas

      --
      Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
      1. In HTML 4.01 steht drin:
        <!ELEMENT BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- document body -->
        <!ELEMENT HEAD O O (%head.content;) +(%head.misc;) -- document head -->
                       ^ ^
                       | |

        Das erste O steht für O ptionales Start-Tag, das zweite für O ptionales End-Tag.

        Hi!

        verwirrende Definition. Die Macher des Mozila wollten wohl auch nicht glauben, dass jemand:

        <doctypdef>
        <html>
          <head>
            ..
          </body>
        </html>

        hinschreibt, also die Optionalität ziemlich verquer ausnutzt...

        fastix

        1. Ich danke Euch für die Auskunft!

          Ihr habt das gut und erschöpfend erklärt.

          fastix
          (Schon mal, weil auch ich immer auf einen Hinweis warte, ob das gepostete "gewirkt" hat...)

      2. Mal ganz anders gefragt- oder anders gelesen:

        (1) Each element type declaration generally describes three parts: a start tag, content, and an end tag.

        (2) The element's name appears in the start tag (written <element-name>) and the end tag (written </element-name>); note the slash before the element name in the end tag. For example, the start and end tags of the UL element type delimit the items in a list:

        <UL>
        <LI><P>...list item 1...
        <LI><P>...list item 2...
        </UL>

        (3) Some HTML element types allow authors to omit end tags (e.g., the P and LI element types). A few element types also allow the start tags to be omitted; for example, HEAD and BODY. The HTML DTD indicates for each element type whether the start tag and end tag are required.

        Hm. Da steht zum einen, alle müssen Start- und End- Tag haben.
        li, pl - der End- Tag darf weggelassen werden.

        Einige Elemente (head, body) erlauben _auch_ den Start- Tag wegzulassen.

        Das bedeutet aber: aus (1) und (3) folgt: verwende ich einen der Start- Tags, dann muss ich auch den End- Tag verwenden. Verwende ich den End- Tag, dann muss ich auch den Start- Tag haben.
        Ich kann _beide_ weglassen, aber nicht einen. - Wegen (1), dass doch wohl eine Grundregel des SGML ist.

        Genau das war auf meiner Seite mismatched... denke ich mal. Und ich würde mich mit meiner Lesart den Machern des Mozilla 1.2 anschließen... Verschachtelungsfehler.

        Wie seht Ihr das?

        fastix

        1. Hi,

          (3) Some HTML element types allow authors to omit end tags (e.g., the P and LI element types). A few element types also allow the start tags to be omitted;

          Frei übersetzt:
          Es gibt Elemente, bei denen das Ende-Tag weggelassen werden darf.
          Und es gibt auch Elemente, bei denen das Start-Tag weggelassen werden darf.

          Was Du meinst:
          Bei einigen Elementen darf auch das Start-Tag weggelassen werden.
          würde m.E. im Englischen so aussehen:

          A few element types allow the start tags to also be omitted;

          Entscheidend ist m.E. die Position des "also" ("auch"). So wie es im Originaltext steht, bezieht sich das m.E. nicht auf die Elemente, deren End-Tag weggelassen werden darf.

          cu,
          Andreas

          --
          Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
        2. Moin!

          (1) Each element type declaration generally describes three parts: a start tag, content, and an end tag.

          (3) Some HTML element types allow authors to omit end tags (e.g., the P and LI element types). A few element types also allow the start tags to be omitted; for example, HEAD and BODY. The HTML DTD indicates for each element type whether the start tag and end tag are required.

          Hm. Da steht zum einen, alle müssen Start- und End- Tag haben.

          Nein, steht da nicht.

          Absatz (1) schreibt: Eine Element-Deklaration beschreibt drei Teile: Ein Start-Tag, den Inhalt und ein End-Tag.

          li, pl - der End- Tag darf weggelassen werden.

          Das steht in Absatz (3).

          Einige Elemente (head, body) erlauben _auch_ den Start- Tag wegzulassen.

          Steht auch da.

          Das bedeutet aber: aus (1) und (3) folgt: verwende ich einen der Start- Tags, dann muss ich auch den End- Tag verwenden. Verwende ich den End- Tag, dann muss ich auch den Start- Tag haben.

          Das ist eben die falsche Schlussfolgerung (die ich auch hätte ziehen wollen, als ich das erste Mal antwortete). Ein Start-Tag ist dann nötig, wenn es verpflichtend ist. Sonst nicht. Genauso wie das End-Tag manchmal optional ist.

          Ich kann _beide_ weglassen, aber nicht einen. - Wegen (1), dass doch wohl eine Grundregel des SGML ist.

          Wenn in (1) stehen würde, dass ein Tag immer aus Start-Tag, Inhalt und End-Tag bestehen muss, würde Absatz (3) dennoch mitteilen, dass Start-Tags und End-Tags manchmal optional sein können, je nach DTD-Definition.

          Genau das war auf meiner Seite mismatched... denke ich mal. Und ich würde mich mit meiner Lesart den Machern des Mozilla 1.2 anschließen... Verschachtelungsfehler.

          Die DTD hat immer recht. Das Problem ist, dass der Browser die DTD irgendwie sinnvoll umsetzen muss. Es dürfte sich hierbei schlicht um einen Parsing-Fehler des Mozilla handeln.

          Genauso, wie manche Elemente, deren End-Tag optional ist, durch andere Tags implizit geschlossen werden (validier mal <p>Text<table>...</table>Text</p>), werden gewisse Tags dann halt implizit geöffnet. Ich würde meinen, dass <body> dort implizit anfängt, wo das erste Tag auftritt, welches nur in <body> vorkommen kann - traditionell ist das ja <h1> ;)

          Gut, dass du diesen Fehler gemacht hast - wir gewinnen eine völlig neue Sicht auf vermeintlich Altbekanntes. :)

          - Sven Rautenberg

          --
          "Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)
  3. Hallo!

    validator.w3.org findet scheinbar auch nicht alles

    Du hast gedacht, dass der Validator *anscheinend* nicht alles findet,
    dabei findet er *scheinbar* nicht alles. Die Frage ist daher schon im
    ersten Posting beantwortet.

    emu
    [um fabian transchel recht zu geben]

    --
    http://emmanuel.dammerer.at/selfregulars.html#erwintheswitch
    1. Hi emu,

      validator.w3.org findet scheinbar auch nicht alles
      Du hast gedacht, dass der Validator *anscheinend* nicht alles findet,
      dabei findet er *scheinbar* nicht alles. Die Frage ist daher schon im
      ersten Posting beantwortet.

      schön, daß _das_ endlich mal einer richtig stellt ... :-)

      Viele Grüße
            Michael

      --
      T'Pol: I apologize if I acted inappropriately.
      V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.