1 / 23

XML 문서 작성 방법

XML 문서 작성 방법. 2008.9.2 최진명. XML 문서의 종류. 잘 짜인 문서 (Well-Formed XML Document) XML 1.0 권고안에 언급되어 있는 문법 (Spec) 을 잘 지켜서 작성된 문서 시작태그와 끝 태그가 있어야 함 반드시 하나의 루트 element 가 있어야 함 영역 중복이 없어야 함 속성값은 반드시 따옴표로 지정. XML 문서의 종류. 유효한 문서 (Valid Document) Well-formed 문서이면서

nelly
Télécharger la présentation

XML 문서 작성 방법

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML 문서 작성 방법 2008.9.2 최진명

  2. XML 문서의 종류 • 잘 짜인 문서(Well-Formed XML Document) • XML 1.0 권고안에 언급되어 있는 문법(Spec)을 잘 지켜서 작성된 문서 • 시작태그와 끝 태그가 있어야 함 • 반드시 하나의 루트 element가 있어야 함 • 영역 중복이 없어야 함 • 속성값은 반드시 따옴표로 지정

  3. XML 문서의 종류 • 유효한 문서(Valid Document) • Well-formed 문서이면서 • XML로 개발된 특정 마크업 언어에 맞게 작성된 문서 • 구조를 정의한 문서(DTD, Schema)와 일치

  4. EBNF EBNF 문법: 기호 ::= 표현식 (symbol ::= Expression) 패턴 결합: A? A표현이 올 수도 안 올 수도 있음(옵션) A B A표현이 먼저 오고 B표현이 나중에 옴(순차) A|B A와 B 표현 중 하나만 와야 함(선택) A-B A표현이 와야 되지만 B표현과는 일치되지 않아야 함 A+ A표현이 최소한 한 개 이상이 와야 함 A* A표현이 안 올 수도 있고, 한 개 이상이 와도 됨 참고 사이트: http://www.jelks.nu/XML/xmlebnf.html

  5. XML 문서 구조 Document(문서) ::= prolog(서두) element(엘리먼트) Misc(기타)* • 서두 • XML 선언, 프로세싱 지시자, 문서 유형 선언으로 구성 • 엘리먼트 • 한 개의 엘리먼트(루트 엘리먼트)가 와야 함 • 다른 엘리먼트는 루트 엘리먼트의 자식(하위) 엘리먼트로 작성 • 기타 • 주석, 프로세싱 지시자, 공백으로 구성

  6. XML 문서 구조 <?xml version="1.0" encoding="euc-kr"?> <!-- 문서 유형 선언 --> <!DOCTYPE booklist SYSTEM "bml.dtd"> <!-- 문서의 구조를 xhtml 문서로 변경 --> <?xml-stylesheet type="text/xsl" href="bml.xsl"?> <booklist> <!-- 책 정보 --> <book id="b1" kind="k2"> <title>XML 기초서</title> <author>신민철</author> <publisher>프리렉</publisher> </book> <book id="b2" kind="k1"> <title>가을엔 사랑을 느끼세요</title> <author>이사랑</author> <publisher>가을문화사</publisher> </book> </booklist>

  7. XML 선언 • “<?xml”로 시작해서 “?>”로 끝남 • version 속성 필수 • encoding과 standalone 속성 선택 • version, encoding, standalone 순서 준수 • 현재 xml 버전 : 1.0 • XML 선언은 반드시 파일의 맨 처음에 위치 • 앞에 공백 및 빈 라인이 있으면 안됨

  8. XML 선언 • Version • XML 권고안의 버전 번호를 기술(기술 필수) • Encoding • XML 문서를 저장할 인코딩 방식을 지정 • 생략가능(default는 UTF-8) • Standalone • XML 문서 해석 시 XML 파서(Parser)에게 외부 문서 참고 여부를 알려줌 • Yes: 외부 DTD 문서를 참고할 필요 없음 • No: XML 문서 해석 시 외부 문서를 참고해서 해석(default) <?xml version=“버전번호” encoding=“인코딩 방식” standalone=“yes|no”?>

  9. XML 문서 예 <?xml version=“1.0” encoding=“euc-kr” standalone=‘yes’?> <영화> <제목>와이키키브라더스</제목> <감독>임순례</감독> <출연>류승범,이얼,박원상</출연> </영화>

  10. XML 문서의 구조 • XML 문서의 선언 • Element • Attribute • Comment • CDATA • DTD 선언 • Processing Instruction

  11. Element(엘리먼트) <시작 태그명> 내용(콘텐트) </끝 태그명> • 내용 • 문자 데이터 및 자식 엘리먼트 기술 가능 • 엘리먼트의 종류 • 내용을 가지는 엘리먼트 • 내용이 없는 엘리먼트(빈 엘리먼트) • 형태1: <시작 태그/> (p.92 참고) • 형태2: <시작 태그></끝 태그> (p.92 참고) * 형태2에서 시작 태그와 끝 태그 사이에 공백이 오면 안됨 <참고: p.91 그림 3-3 엘리먼트 구성 요소>

  12. Element 작성 시 주의점 • 시작 태그와 끝 태그는 반드시 짝을 이룸 • 빈 엘리먼트는 시작 태그 끝 ‘/’를 붙임 • ‘<’문자는 엘리먼트 내용인 문자 데이터 및 속성값으로 사용 불가(단, ‘>’는 사용 가능) • ‘<’와 ‘>’사이에 오는 시작 태그 이름 중에 공백 문자가 없수 없음 • 종료태그 ‘</’다음에 공백문자 올 수 없고, 반드시 시작 태그와 같은 이름이 와야 함 • 엘리먼트는 중첩되어 작성할 수 없음

  13. 태그 이름 작성 규칙 • 첫번째 글자는 한글 및 문자(‘_’포함)로 시작 • 숫자 또는 ‘.’시작 불가 • 두번째 문자는 숫자 및 ‘_’, ‘-’, ‘.’등의 일부 특수문자 가능 • ‘:’사용 가능하나 네임스페이스와 관련된 기호이므로 가급적 사용 자제 • 공백(blank) 문자 불가 • 태그명이 영문자인 경우 대소문자를 구분 • ‘<’에 공백 문자 불가 및 종료태그인 ‘</’에 공백 문자가 올 수 없고, 시작 태그명과 같은 이름이 와야 함 • 태그명은 xml로 시작할 수 없음

  14. 태그 이름 작성 규칙 올바른 태그명 사용 예: <book>, <_book>, <책>, <book1>, <book-1>, <Book> 잘못된 태그명 사용 예: <7Book> 첫 글자가 숫자로 시작 <c++> ‘_’, ‘-’, ‘.’, ‘:’ 이외의 특수 문자를 포함 <book list> 태그명에 공백 문자 포함 < book> ‘<‘ 다음에 공백 문자 포함 <xml-book> 태그명이 xml로 시작

  15. Element 내용 <시작 태그 속성명=“속성값”> <book kind=“computer”> </book> 내용(문자 데이터 또는 자식 엘리먼트) </끝 태그명> 문자 데이터(Character Data) 자식 엘리먼트(Child Element) 엔티티 또는 문자 참조(Reference) CDATA섹션(Character Data Section) 프로세싱 지시자(Processing Instruction) 주석(Comment) 공백문자열(White Space)

  16. Attribute(속성) • 속성은 하나의 요소와 결합된 이름/값의 쌍이다. • 시작 태그에 추가 • 속성은 반드시 값을 가짐 • ““ 또는 ‘‘를 사용 • 하나의 요소 안에 들어있는 속성의 이름은 유일무이 • Ex) • <영화 장르=“액션”>미션임파서블</영화>

  17. Attribute 예 <?xml version=“1.0” encoding=“euc-kr” standalone=‘yes’?> <영화 장르=“액션”> <제목>와이키키브라더스</제목> <감독>임순례</감독> <출연>류승범,이얼,박원상</출연> </영화>

  18. Comment(주석) • “<!--”로 시작 “-->”로 끝 • 태그 내에 주석을 쓸 수 없다 • 주석 내에 “--”를 쓸 수 없다.

  19. Comment(주석) 예 <?xml version=“1.0” encoding=“euc-kr” standalone=‘yes’?> <영화 장르=“액션”> <!-- 여기는 주석입니다. --> <제목>와이키키브라더스</제목> <감독>임순례</감독> <출연>류승범,이얼,박원상</출연> </영화>

  20. 빈 요소 (Blank Element) • Element 의 내용이 없는 경우 끝 태그를 생략하고 빈 요소를 사용 할 수 있음 • 빈 요소는 어떠한 내용도 포함 할 수 없으며 오직 속성만을 포함 • 빈 요소 <middle/> (O) <middle /> (O) <middle/ > (X) <middle / > (X) <브라우저 주석보이기=“예” DTD체크=“예”/>

  21. PCDATA • Element 에 포함된 문자열 • 유효하지 않은 PCDATA 문자들 • “<”, “&”등 • 해결 방법 • Escape 문자 • CDATA 섹션

  22. PCDATA : Escape 문자 • Entity Reference • & 문자 - &amp; • < 문자 - &lt; • > 문자 - &gt; • ’ 문자 - &apos; • ” 문자 - &quot;

  23. PCDATA : CDATA 섹션 • 파서나 브라우저에서 유효성 검사를 하지 는 문자열(error check 하지 않고 skip) • CDATA(Character DATA) 섹션 • “<![CDATA[”로 시작, “]]>”로 끝 <comparison> <less><![CDATA[2<3]]></less> <greater><![CDATA[4>3]]></greater> </comparison>

More Related