xml에서 에트리뷰트 CDATA속성

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

xml에서 에트리뷰트 CDATA속성

게시물 작성자 박민권 » 2005 02 23 11:03 41

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

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

tenshi
게시물: 40
참여됨: 2004 11 30 15:19 45
연락:

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

게시물 작성자 tenshi » 2005 02 23 15:49 45

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" 도 링크겁니다.
2005 02 23 15:58 20 에서 tenshi 에 의해 마지막으로 편집되었으며 총 편집 시간은 1 시간입니다.

tenshi
게시물: 40
참여됨: 2004 11 30 15:19 45
연락:

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

게시물 작성자 tenshi » 2005 02 23 15:54 24

혼란을 피하기 위해 일단 알립니다..........;;

tenshi
게시물: 40
참여됨: 2004 11 30 15:19 45
연락:

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

게시물 작성자 tenshi » 2005 02 23 16:03 37

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

차이는 CDATA와 CDATA Section로군요.

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

민권님 덕분에 저도 이거저거 둘러보고 확실하게 알았네요.. :)

박민권
해커
해커
게시물: 724
참여됨: 2005 01 31 22:33 55
위치: 대한민국
연락:

감사합니다.

게시물 작성자 박민권 » 2005 02 23 20:10 46

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

댓글 게시

누군가 접속

유저들이 이 포럼을 탐색중: 가입된 유저 없음 그리고 2 손님들