XML - Well formed문서, Valid문서, 기본구조

2011. 4. 8. 15:42카테고리 없음





@ Well-formed 문서
 

- XML 문서가 갖추어야 할 조건들을 잘 지키고 있다면 Well-formed라 한다.

 

 

@ Valid 문서
 

- 기본적인 조건에 무언가를 하나 더 지키고 있는 것이다. 그게 바로 DTD(Document Type Definition)이다. ( DTD란 문서의 타입을 정의하는 것을 말한다.)

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">

 

- 에디터로 만든 HTML 문서를 보면 위와 같은 구문이 있는데 이게 바로 DTD이다.

 
 

@ XML 기본구조

<?xml version="1.0" encoding="euc-kr"?> --------- 1
<?xml:stylesheet type="text/xsl" href="메모.xsl"?> ---------2
<!DOCTYPE 메모 SYSTEM "메모.dtd" > --------3
<메모>
        <헤더>
                <송신자>&me;</송신자> --------4
                <수신자>홍길동</수신자>
                <수신자>이순신</수신자>
                <날짜>
                        <년>2000</년>
                        <월>12</월>
                        <일>9</일>
                </날짜>
                <제목>XML의 기본개념 과 활용방안</제목>
                <키워드>XML</키워드>
                <키워드>문서구조</키워드>
                <키워드>DTD</키워드>
        </헤더>
        <텍스트>
                <내용>
                        이글은 XML과 관련된 연재입니다. 다음과 같은 차례로 이루어져 있습니다.
                </내용>
                <목록 타입="도형"> ----------5
                        <항목>XML이란?</항목>
                        <항목>XML 문서의 처리 - 엘리먼트, 속성, 엔터티..</항목>
                        <항목>XML, XSL 그리고 웹브라우저</항목>
                        <항목>XML 응용 분야 및 발전 가능성</항목>
                </목록>
        </텍스트>
</메모>
 

 
 

1. XML 선언 부분이다. 이 문서가 XML이라는 것을 뜻한다.

 

2. XML문서에서 <?...?> 이런 형태로 사용되는 것으 PI (처리 명령)라고 부른다. 스타일 쉬트(style sheet)를 지정하는 것이다. XML은 문서의 구조를 나타내는 부분과 포맷팅, 즉 보여주는 부분이 서로 다른데 바로 그 포맷팅을 담당하는 것을 가리키는 부분이다. 만약 이 부분을 빼고 문서를 IE에서 볼 경우 특정 포맷이 정해지지 않았기에 그냥 문서의 내용이 보여진다.

 

3. DTD를 지정하는 부분이다. 이부분이 Document Type Declaration이다. system 즉, Local PC에 있는 메모.dtd란 파일을 DTD 정의로 사용하고 그 메모 dtd의 루트 엘리먼트가 "메모"라는 것이다.

 

* 루트 엘리먼트 (root element) : 위의 XML문서에서  <메모><헤더><텍스트>와 같은 것을 엘리먼트(element)라 하는데 XML에서는 <헤더>를 시작 태그라 하고 </헤더>를 닫는 태그라 한다. 그리고 <헤더>...</헤더>까지를 엘리먼트라 한다. 그리고 그 중에서 특히 <메모>와 같이 가장 먼저 사용된 엘리먼트를 루트 엘리먼트라 한다. 문서를 트리구조로 만들때 가장 위에 나타나는 것이다.

 

4. <송신자> 엘리먼트의 내용이 &me;라고 되어있다. 이걸 엔티티 참조라한다. HTML에서 &정도를 생각하면 된다.

 

5. 타입="도형" 이란 부분이 있는데 이것을 속성 노드라고 한다. 타입은 속성 이름이고 도형은 속성값이 된다. HTML에서 <a href="www.naver.com"> 이 부분을 생각하면 된다.