Alex: einseitig offene Kommentare und reserviertes Symbol ">"

Das Gros der gängigen Browser ist darauf getrimmt so viel wie möglich Text interpretieren zu können und versucht deshalb im Sinne einer Fehlertoleranz so zügig wie möglich wieder gültige HTML-Statements zu erkennen. Aus diesem Grund wird wenn das Endekennzeichen "-->" nicht mehr im weiteren Text vorkommt das Kommentarende bereits dann erkannt wenn lediglich ein ">" im Quelltext steht. Somit ist das angesprochene Zeichen unter bestimmten Umständen als reserviertes Symbol zu betrachten und kann innerhalb von Kommentaren nicht verwendet werden. Dies ist nur der Fall wenn der Kommentar nicht ordentlich abgeschlossen wurde - einseitig offene Kommentare zur Unterdrückung der Anzeige des gesamten restlichen Textes sind somit nicht möglich.

Beispiel:
<html>
  <head>
  </head>
  <body>
    Zeile 1
    <!-- Zeile 2 > Zeile 3 >
    Zeile 4
  </body>
</html>

Ausgabe des Beispiels:
Zeile 1  Zeile 3 >  Zeile 4

(dieser Absatz darf gerne in die SELFHTML-Doku eingearbeitet, überarbeitet und natürlich im dazu gehörenden Rahmen unter den gängigen Bedingungen dafür weiter verbreitet werden werden - Meine Lizenz dafür: PD, GNU FDL, CC oder was immer dafür nötig ist.)

  1. Was hältst du von &lt; und &gt; ?

    1. Hallo,

      Was hältst du von &lt; und &gt; ?

      Ich denke er/sie hat das nur als Information hier reingeschrieben. Und ich muss zugeben, dass ich mir darüber noch keine Gedanken gemacht habe, es aber jetzt zur kenntniss nehme dass es so ist.

      Jeena

    2. Was hältst du von &lt; und &gt; ?

      Durchaus berechtigter Einwand.

      Was hältst du stattdessen von der Wirkung, die <br> und alle anderen HTML-Tags in einem leicht abgewandelten Beispiel auf die Kommentierung haben würden?

  2. Moin!

    Das Gros der gängigen Browser ist darauf getrimmt so viel wie möglich Text interpretieren zu können und versucht deshalb im Sinne einer Fehlertoleranz so zügig wie möglich wieder gültige HTML-Statements zu erkennen. Aus diesem Grund wird wenn das Endekennzeichen "-->" nicht mehr im weiteren Text vorkommt das Kommentarende bereits dann erkannt wenn lediglich ein ">" im Quelltext steht. Somit ist das angesprochene Zeichen unter bestimmten Umständen als reserviertes Symbol zu betrachten und kann innerhalb von Kommentaren nicht verwendet werden.

    Mit anderen Worten: Wer Müll schreibt, kriegt Müll raus. Das ist ja nun keine Neuigkeit.

    Dies ist nur der Fall wenn der Kommentar nicht ordentlich abgeschlossen wurde - einseitig offene Kommentare zur Unterdrückung der Anzeige des gesamten restlichen Textes sind somit nicht möglich.

    Die Lösung liegt dann doch wohl eher darin, den Kommentar ordentlich abzuschließen, oder? Denn in HTML sind solche einseitigen Kommentare gar nicht erlaubt, weil das ein invalides Dokument ist.

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
    1. Die Lösung liegt dann doch wohl eher darin, den Kommentar ordentlich abzuschließen, oder? Denn in HTML sind solche einseitigen Kommentare gar nicht erlaubt, weil das ein invalides Dokument ist.

      ein unvollständig geladenes Dokument könnte evtl. zu ähnlichem Verhalten führen. wenn valide bedeutet "mit den Specs konform", dann ist der Großteil des Webs nicht valide.

      PS: ich bin über das Verhalten gestolpert als ich mit einem PHP-Modul ein PHP-Skript geparst habe, das "<?" anstelle von "<?php" als Marker verwendet hat. Das "Feature" ist aber nicht durchweg Teil aller Server-Platformen und hat somit Teile des PHP-Codes einfach in die HTML-Ausgaben hinüber kopiert. Das sinnig ab zu fangen und den _ganzen_ Rest der danach unbrauchbaren Webseite zu unterdrücken wurde mit dem HTML-Tag wie im Originalthema versucht an zu gehen. Dass es nicht geht hab ich hiermit als Erkenntnis fest gehalten - wie es doch geht: man nutze stattdessen den Object-Tag.

      1. Moin!

        ein unvollständig geladenes Dokument könnte evtl. zu ähnlichem Verhalten führen. wenn valide bedeutet "mit den Specs konform", dann ist der Großteil des Webs nicht valide.

        Die Spezifikation von HTML 4.01 liefert leider keine Hinweise, wie mit fehlerhaften Dokumenten umzugehen ist. Entsprechend ist das Verhalten eben nicht konsistent, sondern zufällig. Niemand wird erwarten, dass ein unvollständiges Dokument korrekt angezeigt wird.

        PS: ich bin über das Verhalten gestolpert als ich mit einem PHP-Modul ein PHP-Skript geparst habe, das "<?" anstelle von "<?php" als Marker verwendet hat. Das "Feature" ist aber nicht durchweg Teil aller Server-Platformen und hat somit Teile des PHP-Codes einfach in die HTML-Ausgaben hinüber kopiert.

        Selber Schuld, wenn du Skripte mit "short_tags" benutzt auf einem Server, der dieses Feature nicht unterstützt. Das kannst du aber nicht HTML zum Vorwurf machen.

        Das sinnig ab zu fangen und den _ganzen_ Rest der danach unbrauchbaren Webseite zu unterdrücken wurde mit dem HTML-Tag wie im Originalthema versucht an zu gehen.

        Besser wäre gewesen, das Erkennen der short_tags hinzukonfigurieren, oder auf die Langform umzustellen.

        Dass es nicht geht hab ich hiermit als Erkenntnis fest gehalten - wie es doch geht: man nutze stattdessen den Object-Tag.

        Was auch immer du da für Krams produzierst - ich sehe nicht, dass das in irgendeiner Weise dokumentierenswert für SELFHTML wäre.

        - Sven Rautenberg

        --
        "Love your nation - respect the others."
      2. Hi,

        wenn valide bedeutet "mit den Specs konform", dann ist der Großteil des Webs nicht valide.

        Valide zu einer bestimmten Spec zu sein ist für HTML irrelevant. HTML ist explizit darauf ausgelegt, nicht eine bestimmte HTML-Version zu "benötigen".

        Die "Basis-Spec" was überhaupt ein HTML-Dokument ist (absolut unabhängig von der konkreten Version), sollte man aber nicht verletzen. Und die wird auch von einem Großteil des Webs eingehalten (vorsichtig formuliert).

        Das eine hat mit dem anderen nichts zu tun.

        Gruß, Cybaer

        --
        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
  3. Moin!

    Das Gros der gängigen Browser ist darauf getrimmt so viel wie möglich Text interpretieren zu können und versucht deshalb im Sinne einer Fehlertoleranz so zügig wie möglich wieder gültige HTML-Statements zu erkennen. Aus diesem Grund wird wenn das Endekennzeichen "-->" nicht mehr im weiteren Text vorkommt das Kommentarende bereits dann erkannt wenn lediglich ein ">" im Quelltext steht.

    Ein netter Service, sofern das Dokument im Quirks-Mode gerendet wird. Wenn ich dein Beispiel um einen Doctype (HTML 4.01 Strict) erweitere, erscheint im Browser

    Zeile 1 <!-- Zeile 2 > Zeile 3 >  Zeile 4

    Somit ist das angesprochene Zeichen unter bestimmten Umständen als reserviertes Symbol zu betrachten und kann innerhalb von Kommentaren nicht verwendet werden.

    Die spitzen Klammern sind definitiv besondere Symbole, die man allerdings durchaus in Kommentaren benutzen kann, wenn man diese richtig notiert (funktioniert sogar im Quirks-Mode):

    <html>  
      <head>  
      </head>  
      <body>  
        Zeile 1  
        <!-- Zeile 2 > Zeile 3 -->  
        Zeile 4  
      </body>  
    </html>
    

    In SELFHTML steht übrigens nichts Anderes.

    Viele Grüße,
    Robert