CDATA und Conditional Comments in Xhtml-Dokumenten
Seller
- https
Hallo,
ich habe eine Frage, die sich aus einem Posting von gestern zum Thema XHTML- bzw. XML-Konformität ergeben hat:
wie kann ich Conditional Comments XHTML- bzw. XML-konform als CDATA-Bereich kennzeichnen ?
<![CDATA[ und die abschliessende Klammer ]]> würden das einleitende <!-- des Conditional Comments ja nicht mit einschliessen ?
Wie muss ich die CDATA-Klammern setzen - oder kann/darf ich CC in XHTML bzw. XML gar nicht verwenden ?
Mfg Seller
---------------------------------------------------------------------
---------------------------------------------------------------------
<!--[if lte IE 6]>
<style type="text/css">
/* Hier eine Stylesheet-Anweisung */
</style>
<![endif]-->
---------------------------------------------------------------------
---------------------------------------------------------------------
hi,
wie kann ich Conditional Comments XHTML- bzw. XML-konform als CDATA-Bereich kennzeichnen ?
Wozu?
<![CDATA[ und die abschliessende Klammer ]]> würden das einleitende <!-- des Conditional Comments ja nicht mit einschliessen ?
Wie muss ich die CDATA-Klammern setzen - oder kann/darf ich CC in XHTML bzw. XML gar nicht verwenden ?
Ein Kommentar ist ein Kommentar, auch wenn er sich conditional schimpft.
Du darfst also lediglich im CC nicht vorzeitig den Kommentar beenden.
gruß,
wahsaga
hi,
wie kann ich Conditional Comments XHTML- bzw. XML-konform als CDATA-Bereich kennzeichnen ?
Wozu?
<![CDATA[ und die abschliessende Klammer ]]> würden das einleitende <!-- des Conditional Comments ja nicht mit einschliessen ?
Ich denke, dass ich das einleitende < des CC maskieren bzw. als CDATA umklammern muß, damit es vom XML-Parser nicht als Code interpretiert wird ...
Ein Kommentar ist ein Kommentar, auch wenn er sich conditional schimpft.
Du darfst also lediglich im CC nicht vorzeitig den Kommentar beenden.
Das habe ich leider nicht verstanden ...
mfg seller
Hello out there!
Ich denke, dass ich das einleitende < des CC maskieren bzw. als CDATA umklammern muß, damit es vom XML-Parser nicht als Code interpretiert wird ...
Es muss vom Parser interpretiert werden, damit dieser '<!--' als Beginn des Kommentars erkennt.
Ein Kommentar ist ein Kommentar, auch wenn er sich conditional schimpft.
Ein XML-Parser interessiert sich für nichts, was zwischen '<!--' und '--' steht. Lediglich der IE schaut, ob direkt hinter '<!--' '[' folgt ...
Du darfst also lediglich im CC nicht vorzeitig den Kommentar beenden.
Kommentare dürfen in XHTML nicht '--' enthalten. [XML §2.5]
See ya up the road,
Gunnar
Kommentare dürfen in XHTML nicht '--' enthalten.
AHA - dass ist der entscheidende Hinweis, auf dem das ganze Missverständnis eigentlich beruht; ich dachte, XML-Parser mögen Kommentare insgesamt nicht bzw. nur innerhalb eines CDATA-Bereiches
Herzlichen Dank noch allen, die mich "aufgeklärt" haben :)
Hallo Seller.
Ich denke, dass ich das einleitende < des CC maskieren bzw. als CDATA umklammern muß, damit es vom XML-Parser nicht als Code interpretiert wird ...
Wie kommst du auf die Idee? Wie wahsaga schon sagte, ein Kommentar ist ein Komentar, er beginnt mit „<!--“ und endet mit „-->“ (genau genommen mit „--“). Das erste „<“ ist also zwingend erforderlich, um dem Client bekannt zu geben, dass jetzt „etwas“ kommt, sei es ein Element, eine Verarbeitungsanweisung, ein Kommentar oder was auch immer.
Du darfst also lediglich im CC nicht vorzeitig den Kommentar beenden.
Das habe ich leider nicht verstanden ...
Soll heißen: in dem per CC abgesteckten Bereich darf kein „--“ vorkommen.
Einen schönen Dienstag noch.
Gruß, Mathias