XML 예제입니다.
이호동
서울 강남구 서초동 000번지
김낙랑
대전 유성구 만년동 111번지
이 부분이 본문의 내용이 들어가는 부분입니다.
그냥 패러그래프별로 내용을 적으면 됩니다.
지정된 DTD에 따라 작성하는 아주 간단한 XML 문서 작성 예제입니다.
이호동 보냄
}}}
=== XML 문서구성 ===
{{{
1. Processing Instructions(Optional) : XML문서를 어떻게 처리해야 할지를 기술해 주는 부분
2. DTD(Optional) : DTD를 사용하는 경우에는 어떤 DTD를 사용할지를 선언한 내용또는 DTD가 포함
3. Comments(Optional)
4. Element...
}}}
=== Processing Instructions(PI) ===
*XML문서가 어떤 방식으로 처리되어야 할지를 기술해주는 부분
{{{
}}}
*생략하면 XML의 디폴트 셋팅으로 처리
*version : XML문서가 준수하는 XML 스펙의 버전 번호
*standalone : 외부 마크업 선언의 사용 여부를 표시 외부 마크업 선언으 한개이상 선언했을떄 no
*encoding : 문서 작성시에 사용된 인코딩 방식을 기술
*type : 사용할 스타일 시트의 타입을 기술 XSL(text/xsl)과 CSS(text/css)가 있음
*href : 사용할 스타일 시트 파일의 위치를 기술
=== 엘리먼트 ===
*XML문서를 구성하는 기본 요소 시작태그와 닫는 태그가 있고 태그안의 내용이 엘리먼트의 값이된다.
{{{
<엘리먼트 이름 어트리뷰트1="어트리뷰트1의값"...>내용엘리먼트 이름>
}}}
*empty element : 내용에 아무 것도 위치하지 않는 엘리먼트
{{{
<엘리먼트 이름 어트리뷰트1=="어트리뷰트1의 값".../>
}}}
*엘리먼트 타입선언 : 엘리먼트의 타입을 DTD에 선언함
{{{
}}}
*컨텐츠 스펙에 올수 있는 것은 EMPTY와 ANY이다. 다른 엘리먼트의 이름을 구성하는 EBNF가 올수 있다. 문자테이터를 포함하면 #PCDATA로 표시
*EMPTY : 컨텐츠 스펙이 EMPTY인 경우라면 이 엘리먼트는 내용으로 아무 것도 갖을 수 없다는 것을 의미하고 empty element로 사용
*ANY : 내용 부분에 어떠한 엘리먼트가 몇 개 든지 순서에 관계없이 횟수에 관계없이 위치해도 괜찮다는 의미이다.
*엘리먼트 타입 선언 예
{{{
1. MAIL 엘리먼트에는 SUBJECT,SENDER,RECEIVER,BODY,SIGNATUER 엘리먼트가 순서대로 위치하는데 ,다른 엘리먼트들은 단 한번 위치하지만 RECEIVER 엘리먼트는 1개 이상 올수 있으며, SIGNATURE 엘리먼트는 한 번 나오거나 또는 사용하지 않아도 되는 예
2. BODY 엘리먼트에 P엘리먼트가 한번도 오지 않거나 여러번 반복해서 위치할 수 있는 예
3. P 엘리먼트에 어떤 엘리먼트든지 또는 PCDATA가 위치하는 예
4. SIGNATURE 엘리먼트에 PCDATA가 위치하는 예
5. PHONENUMBER 엘리먼트에 OFFICE 또는 HOME 또는 MOBILE 엘리먼트 중에서 하나가 위치하거나 또는 오지 않는 예
6. Empty Element의 예
}}}
=== #PCDATA와 CDATA ===
*PCDATA(Parsed Character Data) : XML프로세서에 의해 파싱되는 부분 예를 들어 태그 기호인 "<" 기호를 쓰면 에러가남
*CDATA(Character Data) : XML프로세서에 의해 파싱되지않음 어떠한 문자형도 위치할수 있음
=== 엔티티(Entity) ===
* 엔티티는 일종의 가상 저장 단위이다. 매크로랑 유사
* XML 문서에서 엔티티를 사용하는 방식(Entity Reference)
{{{
1. 외부 엔티티와 내부 엔티티의 사용 방법
&엔티티 명칭;
2. 파라미터 엔티티의 사용 방법
%엔티티 명칭;
}}}
*DTD 또는 문서 선언부에서 선언하는 방식(Entity Declaration)
{{{
1. 외부 엔티티 선언 방법
2. 내부 엔티티 선언 방법
3. 파라미터 엔티티의 선언 방법
4. 엔티티를 선언해서 사용한 예를 들어서 아래와같이
}}}
*외부 엔티티 : XML문서의 분량이 상당히 커서 하나의 파일로 처리하기가 곤란하거나 할떄 적용하거나 모듈화하여야 할떄 사용
{{{
book.xml
]>