xml에서 &와 같은 문자 에러시
ITXML 문서내의 모든 문장들은 파서에 의해 검사된다
그러나 CDATA 섹션안의 문장들은 예외가 된다.
Parsed Data
XML 파서는 보통 문서내의 모든 문장들을 분석한다.
XML element 를 parse 할때 테그 사이의 문자열도 아래예처럼 parse 하게 되는데
<message>This text is also parsed</message>
왜냐하면 XML element 사이에 다른 element 가 속해 있을수도 있기때문이다.
아래 예에서 <name> element 사이에 다른 element 들이 속해있을수 있다.
<name><first>Bill</first><last>Gates</last></name>
그리고 파서는 이것을 sub-element 로 나뉘다.
<name>
<first>Bill</first>
<last>Gates</last>
</name>
Escape Characters
XML 문자데이터로 사용할수 없는 문자들은 이를 다른 것으로 바꿔줘야 한다.
아래 예처럼 XML element 안에서 '<' 를 사용한다면 파서는 에러를
발생 시킨다.
<message>if salary < 1000 then</message>
위 문장은 아래처럼 '<' 를 < 로 바꿔줘야한다.
<message>if salary < 1000 then</message>
XML 에서 미리 정의된 5개의 entity reference
< < less than
> > greater than
& & ampersand
' ' apostrophe
" " quotation mark
entity reference 는 항상 '&' 로 시작해서 ';' 끝난다.
노트: XML 에서 '<' 과 '&' 의 사용은 정대 허용이 안된다.
나머지 3개 문자는 허용은 되나 이를 사용하는것은 좋은 습관은 아니다.
CDATA
CDATA 섹션안의 모든것은 파서를 거치지 않는다.
프로그램 코드에서 종종 사용하는 '<' 나 '&' 문자 뿐아니라
어떤 문자도 사용할수있다
CDATA 섹션은 "<![CDATA[" 로 시작하고 "]]>" 로 끝난다.
그러나 CDATA 섹션안의 문장들은 예외가 된다.
Parsed Data
XML 파서는 보통 문서내의 모든 문장들을 분석한다.
XML element 를 parse 할때 테그 사이의 문자열도 아래예처럼 parse 하게 되는데
<message>This text is also parsed</message>
왜냐하면 XML element 사이에 다른 element 가 속해 있을수도 있기때문이다.
아래 예에서 <name> element 사이에 다른 element 들이 속해있을수 있다.
<name><first>Bill</first><last>Gates</last></name>
그리고 파서는 이것을 sub-element 로 나뉘다.
<name>
<first>Bill</first>
<last>Gates</last>
</name>
Escape Characters
XML 문자데이터로 사용할수 없는 문자들은 이를 다른 것으로 바꿔줘야 한다.
아래 예처럼 XML element 안에서 '<' 를 사용한다면 파서는 에러를
발생 시킨다.
<message>if salary < 1000 then</message>
위 문장은 아래처럼 '<' 를 < 로 바꿔줘야한다.
<message>if salary < 1000 then</message>
XML 에서 미리 정의된 5개의 entity reference
< < less than
> > greater than
& & ampersand
' ' apostrophe
" " quotation mark
entity reference 는 항상 '&' 로 시작해서 ';' 끝난다.
노트: XML 에서 '<' 과 '&' 의 사용은 정대 허용이 안된다.
나머지 3개 문자는 허용은 되나 이를 사용하는것은 좋은 습관은 아니다.
CDATA
CDATA 섹션안의 모든것은 파서를 거치지 않는다.
프로그램 코드에서 종종 사용하는 '<' 나 '&' 문자 뿐아니라
어떤 문자도 사용할수있다
CDATA 섹션은 "<![CDATA[" 로 시작하고 "]]>" 로 끝난다.