xml에서 에트리뷰트 CDATA속성

국내에 웹 사이트들이 웹 표준을 지키고 OS나 브라우저와 관계 없이 접근성을 향상 시키기 위한 사이트 버그 신고 및 문제 해결을 위한 게시판입니다.
Post Reply
박민권
해커
해커
Posts: 724
Joined: 2005 01 31 22:33 55
Location: 대한민국
Contact:

xml에서 에트리뷰트 CDATA속성

Post by 박민권 »

<!ATTLIST item
href CDATA #REQUIRED
>
<item href="&"></item>

위아래 생략하고 href 에트리뷰트의 속성을 CDATA로 했는데
&, <, >등을 넣으면 오류가 납니다. ㅠ_ㅠ
CDATA로 했으니까 문자 그대로 읽어야 하는거 아닌가요?
tenshi
Posts: 40
Joined: 2004 11 30 15:19 45
Contact:

저도 궁금해서 CDATA의 정의를 찾아봤습니다

Post by tenshi »

CDATA is a sequence of characters from the document character set and may include character entities. User agents should interpret attribute values as follows:

* Replace character entities with characters,
* Ignore line feeds,
* Replace each carriage return or tab with a single space.
아래는 대충의 해석입니다.
CDATA는 "document character set" 문자의 집합이고, "character entities"도 포함한다. 사용자측 브라우저는 다음과 같이 인자를 해석한다.

* "character entities" 를 해당하는 문자로 바꾼다,
* 줄바꿈을 무시한다,
* 캐리지 리턴(\r)값이나 탭을 한칸의 공백으로 바꾼다.
기본적으로 "document character set"에서 <, &, >, " 등의 문자를 <, >.. 등으로 표시해야 한다고 되어있네요, 그래서 CDATA에는 <, & 등의 특수문자가 올 수 없나봅니다.

참고로 "character entities" 도 링크겁니다.
Last edited by tenshi on 2005 02 23 15:58 20, edited 1 time in total.
tenshi
Posts: 40
Joined: 2004 11 30 15:19 45
Contact:

html 쪽의 cdata를 올렸네요 -.-;

Post by tenshi »

혼란을 피하기 위해 일단 알립니다..........;;
tenshi
Posts: 40
Joined: 2004 11 30 15:19 45
Contact:

이번엔 xml쪽을 보고..-_-;;

Post by tenshi »

http://www.w3.org/TR/2000/REC-xml-20001006#syntax

차이는 CDATA와 CDATA Section로군요.

CDATA Section이라는것은
"<![CDATA[" 으로 시작하는 것으로 "]]>" 문자가 오기 전까지 어떤 문자든지 markup으로 해석되지 않는다는군요.

민권님 덕분에 저도 이거저거 둘러보고 확실하게 알았네요.. :)
박민권
해커
해커
Posts: 724
Joined: 2005 01 31 22:33 55
Location: 대한민국
Contact:

감사합니다.

Post by 박민권 »

에트리뷰트의 값으로도 CDATA Section처럼 쓰고 싶었는데 불가능한 것이었군요.
님 덕분에 저야말로 새로운 것을 알았습니다.
Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests