Avatar billede ahrensberg Nybegynder
16. juli 2007 - 10:08 Der er 8 kommentarer og
1 løsning

Hvad er CDATA?

Hej alle

Jeg sidder og leger med lidt scripts fundet på nettet. Er stødt på følgende i en af disse scripts:

          /*<![CDATA[*/

... som afsluttes:

          /*]]>*/

Hvad betyder disse tags?

Mange hilsner
Ahrensberg
Avatar billede jokkejensen Novice
16. juli 2007 - 10:12 #1
Det xml vejen for at escape tekst, bruges også til xhtml.

Fortæller fortolkeren at den ikke skal behandle indholdet.

/JJ
Avatar billede ahrensberg Nybegynder
16. juli 2007 - 10:12 #2
Hov... de betyder vel i virkeligheden ingenting, når de er udkommenteret?
Avatar billede ahrensberg Nybegynder
16. juli 2007 - 10:13 #3
Ok... takker :)
Avatar billede jokkejensen Novice
16. juli 2007 - 12:59 #4
De er udkommenteret fordi at javascript fortolkeren ikke skal læse dem..

Kun når DOM indlæses, så de ikke fortolkes som xhtml/xml..

/JJ
Avatar billede jokkejensen Novice
16. juli 2007 - 12:59 #5
svar
Avatar billede ahrensberg Nybegynder
16. juli 2007 - 13:33 #6
Ok... takker
Avatar billede olebole Juniormester
16. juli 2007 - 14:09 #7
<ole>

Nu kommer det lidt anpå, om vi skal svare på overskriften eller resten af spørgsmålet  =)

CDATA er en afgrænset samling af tegn:
    http://www.w3.org/TR/html401/types.html#type-cdata

At folk skriver:

          /*<![CDATA[*/

... som afsluttes:

          /*]]>*/

- skyldes, at de ikke ved, hvad XML (herunder XHTML) og CDATA er. Der burde stå:

          <![CDATA[

... som afsluttes:

          ]]>

Sådan bør bl.a. JavaScript og Styles escapes ... ikke af hensyn til JavaScript-fortolkeren, men af hensyn til XML-fortolkeren, som ikke 'tåler' mange af de tegn, som bruges i JS og CSS.
I XHTML 2.0 bliver det helt forbudt at skrive JavaScript og CSS i dokumentet, så denne escaping er udelukkende en plage for tiden, hvor XHTML i forvejen er stortset ubrugelig.

Da det XHTML, folk skriver, somregel intet har med XHTML at gøre og derfor aldrig bliver tolket af en XML-fortolker (som meningen ellers er med XHTML), er de nødt til at escape deres CDATA-escaping ... og så er der efterhånden _intet_, der hænger sammen længere.
Det svarer lidt til at få gips om en brækket arm med åbent brud - og så sætte plaster udenpå gipsen for at stoppe blødningen!

Man ser ganske rigtig meget ofte den kode, du gengiver i spørgsmålet, men undgå den selv. Det er udelukkende folk uden kendskab til webkode, der skriver sådan

/mvh
</bole>
Avatar billede ahrensberg Nybegynder
16. juli 2007 - 14:18 #8
Takker for den uddybende kommentar!

... og er det så godt eller dårligt at det omtalte script er fundet hos DK-Hostmaster ;o)
Avatar billede olebole Juniormester
16. juli 2007 - 15:21 #9
Selvtak. DK-Hostmaster er blot administratorer af danske domænenavne ... der ingen, der siger, de kan kode (og det kan de tydeligvis ikke)  ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester