1. well-Formed 문서라고 말하는 것은 문서가 XML 규약에 정의 되어 있는 well-formness
제약 조건을 모두 준수한다는 것 이다. 스펙에는 [wfc:..]로 표시 된다.
이런한 조건들은 문법에 관한 것이나 구조에 관한 것일 수 있지만 문서의 컨텐츠와는
상관이 없다.
well-fromed 조건은 XML문서의 가장 기본적인 제약 조건이므로 이 조건을 맞지 않는다면
XML문서가 아니라고 말할 수도 있다
1) 문법 규정
① 문서에는 오직 하나의 최상위 엘리먼트가 있어야 하고 다른 모든 엘리먼트들은
여기에 속해야 한다.
② 모든 태그들은 적절한 방법을 통해 중첩될 수 있다.
③ 모든 태그들은 적절한 방법에 따라 끝나야 하며 비어있는 엘리먼트일 경우
적절한 포멧을 따라야 한다.
④ XML은 대소문자 구별에 민감하다. <name>태그와 <Name>태그는 같지 않다.
⑤ 공백문자는 보존되며 애플리케이션에 전달될때 생략되지 않는다.
⑥ 위의 문법검사는 브라우져나 애플리케이션의 XML프로세서에 의해 일어나며
well-formed 조건을 만족하지 못하면 에러를 발생시킨다.
well-formed문서가 되지 못한 XML문서는 로드되지 않으며 사용할 수 없다.
2) 구조 규정
XML 문서는 프롤로그, 루트 엘리먼트, 기타 부분으로 나누어 진다.
① 프롤로그
프롤로그는 XML 선언과 DTD 부분으로 나누어 지며 둘다 선택적인 사항이다.
선언 부분에서 문자 인코딩을 지정할 수 있으면 기본값은 UTF-8이나 UTF-16 이다.
② 루트 엘리먼트
XML의 시작 엘리먼트로 문서에 단 한번만 나와야 하며 모든 컨탠츠는 여기 포함
되어야 한다.
③ 기타
루트 원소 다음에 나오는 부분으로 주석,프로세싱 명령어, 공백문자들의 조합이 올
수 있다.
3) 엘리먼트
① 엘리먼트 이름
글자, 숫자, 하이픈(-), 언더스코어(_), 피어리어드(.), 콜론(:)
들이 조합될 수 있으며 글자, 언더스코어, 콜론으로 시작해야 한다.
② 엘리먼트의 컨탠츠
문자DATA, 레퍼런스, CDATA 섹션, 프로세싱 명령어(PI), 주석(PI) 등으로 이루어져 있다.
- 문자DATA : 어떠한 마크없도 포함하지 않는 순수 TEXT.
- CDATA 섹션: well-formed 규정을 위반한 것으로 간주될 DATA를 컨탠츠로 포함
할대 사용된다.
<![CDATA[ text ]]>
- 레퍼런스: XML 도큐먼트에서 사용될 수 있는 무언가에 대한 참조나 대체.
문자레퍼런스: 키보드를 통해서 입력하기 까다로운 유니코드 문자들을
10진수(
진수), 16진수(진수)로 표현한다.
ex)     스페이스(공백), £ £ 영국 파운드(₤)
엔터티 레퍼런스: 미리 정의되어있는 엔터티 레퍼런스를 참조한다.
ex) & & , < < , > > , ' ', " "
엔터티 레퍼런스는 위의 5개가 다이며 다른 엔터티 레퍼런스를 사용하려며
DTD를 통해서 정의해야 한다.
③ 주석
주석은 XML문서 어디에도 올 수 있으며 "<!-- -->" 형식으로 이루어 지다.
④ 프로세싱 명령어(PI)
XML 문서 외부에 있는 소프트웨어의 함수를 호출하기 위해 사용한다.
<?target text?>
target : XML을 제외하고 무엇이든 올 수 있다.
text:
③ 어트리뷰트
엘리먼트의 특성을 제공하기 위해 사용된다.
어트리뷰트 값은 쌍따움표로 둘러싸여야하며 "<"나 "&"문자를 제외한 어떠한 문자
도 가능하다. 한 어트리뷰트는 오직 한번만 나올 수 있다.
'XML' 카테고리의 다른 글
[본문스크랩] 3.1 DOM(Document Object Model) (0) | 2010.07.12 |
---|---|
[본문스크랩] 1.5 XML 프로세서 (0) | 2010.07.12 |
[본문스크랩] 1.4 XML 네임스페이스(Namespace) (0) | 2010.07.12 |
[본문스크랩] 1.4 XML Valid (0) | 2010.07.12 |
[본문스크랩] 1.4 XML DTD(Data Type Definition) (0) | 2010.07.12 |