molily: "<!-- ... //-->" gängige Praxis - immer noch?

Beitrag lesen

Da aber ältere Browser diesen Tag ( <![CDATA[ ... ) möglicherweise nicht verstehen, kann man das <![CDATA[ selbst nochmal auskommentieren, nämlich mit besagtem /* <![CDATA[ */ ... /* ]]> */

Siehe mein anderes Posting.

Meiner bescheidenen Meinung nach ist das dem OT nicht klar genug rübergebracht worden. Vermutlich meint er jetzt, dass sowas wie dieses:

<script type="text/javascript">
  $("myText").setHTML("<p>Hallo</p>");
</script>


> gültig ist. Diese Schreibweise wird einen Error im XHTML-Validator verursachen!  
  
Richtig. Aber frage dich doch einmal, warum sie nicht auch im Browser einen Fehler auslöst. Und warum <![CDATA[[ ... einen auslöst. Die Erklärung ist, dass das Dokument vom Browser - im Gegensatz zum Validation - gar nicht als XML verarbeitet wird, wenn es .html heißt bzw. mit dem MIME-Typ text/html ausgeliefert wird. Und in diesem Tag-Soup-Modus wird weder die Parsing-Regel bezüglich script-Elementen aus HTML 4 (also SGML), noch die aus XHTML (also XML) angewendet.  
  
Denn obiges ist strenggenommen auch falsch in HTML 4. Der Clou ist nun, dass  
<script type="text/javascript">  
  $("myText").setHTML("<p>Hallo<\/p>");  
</script>  
valides HTML 4 wäre, aber kein valides XHTML 1.  
  
Mathias

-- 
[JavaScript-Erweiterung für das SELFHTML-Forum](http://forum.de.selfhtml.org/js/doku/)