Well-Formed XML 이 되려면 XML1.0스펙에 서술된 모든 정합성(Well-Formedness)규약을 만족해야 한다.
규약
- 시작 태그와 끝 태그가 일치해야 한다.
- 최상위(루트) 요소(Elemnet)는 오로지 한 개만 존재해야 한다.
- 태그를 지정할 때 대소문자를 구별한다.
- 하부 요소(Elements)는 중첩하여 사용할 수 없다.
- 속성(Attribute)에 설정되는 값은 반드시 인용부호를 사용해야 한다.
- 하나의 요소(Element)에서 속성(Attribute)를 반복하여 사용하지 않는다.
Element(요소) 의 의미
<name> NoteBook</name> =>이게 하나의 요소
↑시작태그 ↑내용 ↑끝태그
태그 이름 작성 규칙
1. 이름은 문자(한글도 포함)로 할 수 있다. 그리고 특수문자 중에서는 언더바("_")로 시작 할 수 있다. 하지만 숫자나 구두점(.)으로 시작할 수는 없다.
2. 두 번째 문자부터는 "_"는 물론 특수문자 중에서 "-"나 "."도 가능하다. 숫자도 두번째 문자부터는 사용할 수 있다.
3. 태그 이름에 공백을 포함시킬 수 없다.
4. 특수문자 중에 ":"문자도 태그 이름에 포함할 수는 있지만 네임스페이스에 관련된 기호이므로 되도록 사용하지 않는것이 바람직하다.
5. 태그 이름은 대소문자를 구별하므로 철자(스펠링)만 같다고 같은 이름으로 혼동해서는 안 된다.
6. 태그의 시작을 알리는 "<" 기호 다음에 공백을 두어서는 안 된다. 반드시 "<" 기호 다음에 여백 없이 붙여서 써야 한다. 하지만 닫는 기호인 ">"는 공백이 있어도 상관없다.
7. 태그 이름은 xml로 시작할 수 없다.
속성(Attribute) 작성 규칙
1. 속성은 시작 태그에서 지정해 준다.
2. 속성은 속성 이름과 속성값이 한 쌍으로 이루어져야 한다.
3. 속성값은 반드시 단일 따옴표나 이중 따옴표로 둘러싸야 한다.
4. 시작 태그 내부에 여러 개의 속성들을 지정할 수 있는데 각각 서로 다른 속성이어야 한다.
xml에서의 주석
<!-- 여기에 주석 사용 --!>
빈 요소(Empty Element) 사용시
<img src = "btn.jpg"></img>
를 다음과 같이 사용할 수 있다.
<img src = "btn.jpg" />
XML문서의 선언 규칙
1. xml 선언은 "<?xml" 문자로 시작하여 "?>"로 끝나야 한다.
2. xml 선언할 때 "<?"와 "xml"은 띄어쓰지 못한다.
3. xml 선언은 최소한 xml과 version이 삽입되어 있어야 한다.
4. encoding과 standalone은 선택적이다.
5. 속성은 반드시 다음 순서대로 기술되어야 한다.
version -> encoding -> standalone
6. XML 선언은 반드시 문서의 맨 처음에 와야한다. 어떠한 공란도 허용되지 않고, XML 문서의 맨처음 문자는 반드시 xml선언의 시작을 알리는 "<"이어야 한다.
처리 지시문
PI란 Processing Instruction의 약자이다. 우리말로는 [처리 지시문]
PI는 현재 XML 문서들이 어떠한 형식으로 처리해야할 것인가에 대한 사항을 애플리케이션(웹 브라우저)에 알려주는 역할을 한다. 처리 지시문의 형식은 '<?'로 시작하여 '?>'로 끝나고 이 사이에 적을 내용은 PITarget(애플리케이션 이름)과 지시사항들이다
<?xml:stylesheet type="text/xsl" href ="xs04.xsl"?>
여기서 xml:stylesheet가 지시를 처리할 애플리케이션 이름(PITarget)이고. type="text/xsl" href="xs04.xsl"은 PITarget이 처리할 지시사항이다.
PCDATA 와 CDATA
PCDATA란 Parsed Character DATA의 약자이고 CDATA는 Character DATA의 약자이다. 즉...
PCDATA와 CDATA를 구분하는 기준은 XML파서에 의해 파싱되느냐 안되느냐 하는것이다. PCDATA는 XML 파서에 의해 파싱되고 CDATA는 파싱되지 않는다.
<Name> NoteBook </Name>
↑시작 태그 ↑PCDATA(내용) ↑끝 태그
다음과 같은 특수문자는 PCDATA안에 있으면 구문오류가 난다.
<,>,&,",'
사용하기 위해서는 직접 쓰지말구 & < > " ' 로 사용 하는 방법과 CDATA를 사용하는 방법이 있다
CDATA는 XML파서가 파싱하지 않는 데이터로 이안에 들어간 문자는 XML파서가 파싱하지 않는다.
<tag> <! [CDATA [파싱하지 말아야할 데이터]]></tag>
'프로그래밍' 카테고리의 다른 글
DTD 규칙 (0) | 2009.01.09 |
---|---|
Vaild XML 문서란 - DTD에 대한 필요성 (0) | 2009.01.09 |
XML의 네임스페이스 (0) | 2008.12.31 |
xml 예제 (0) | 2008.12.31 |
XML 소개 (0) | 2008.12.31 |
댓글