Man muss ich das zunächst mal aus der Sicht des
XML-Parsers vorstellen: Dieser kennt nur die Syntax von
XML und das DTD für XHTML. Dass in einem Scipt-Element Javascript-Code steht, weiß der nicht, dass muss er auch nicht wissen. Für ihn steht da einfach nur Text (also Charactr Data) drin, keine weiteren Elemente.
Und Javascript kümmert sich nicht um
XML-Kommentare oder CDATA-Direktiven. Der JS-Interpreter kriegt einfach das innerhalb des Script-Blockes übergeben, die Kommentare und die Direktiven kennt er nicht und betrachtet sie als Syntaxfehler.
Edit:
Äh, ups ja, die beiden waren natürlich in der falschen Reihenfolge. Aber warum das nicht tut, weiß ich jetzt auch nicht. Spiel mal ein bisschen damit rum, lass mal z.B. die Kommentare weg.
Und lass mal
HTMLTidy drüberlaufen und schau dir an, was dort für Änderungen vorgeschlagen werden.