Page 1 of 1
xml에서 에트리뷰트 CDATA속성
Posted: 2005 02 23 11:03 41
by 박민권
<!ATTLIST item
href CDATA #REQUIRED
>
<item href="&"></item>
위아래 생략하고 href 에트리뷰트의 속성을 CDATA로 했는데
&, <, >등을 넣으면 오류가 납니다. ㅠ_ㅠ
CDATA로 했으니까 문자 그대로 읽어야 하는거 아닌가요?
저도 궁금해서 CDATA의 정의를 찾아봤습니다
Posted: 2005 02 23 15:49 45
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" 도 링크겁니다.
html 쪽의 cdata를 올렸네요 -.-;
Posted: 2005 02 23 15:54 24
by tenshi
혼란을 피하기 위해 일단 알립니다..........;;
이번엔 xml쪽을 보고..-_-;;
Posted: 2005 02 23 16:03 37
by tenshi
http://www.w3.org/TR/2000/REC-xml-20001006#syntax
차이는 CDATA와 CDATA Section로군요.
CDATA Section이라는것은
"<![CDATA[" 으로 시작하는 것으로 "]]>" 문자가 오기 전까지 어떤 문자든지 markup으로 해석되지 않는다는군요.
민권님 덕분에 저도 이거저거 둘러보고 확실하게 알았네요..
감사합니다.
Posted: 2005 02 23 20:10 46
by 박민권
에트리뷰트의 값으로도 CDATA Section처럼 쓰고 싶었는데 불가능한 것이었군요.
님 덕분에 저야말로 새로운 것을 알았습니다.