23
XML 문문 문문 문문 2008.9.2 문문문

XML 문서 작성 방법

  • Upload
    nelly

  • View
    77

  • Download
    0

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: XML  문서 작성 방법

XML 문서 작성 방법

2008.9.2

최진명

Page 2: XML  문서 작성 방법

XML 문서의 종류• 잘 짜인 문서 (Well-Formed XML

Document)– XML 1.0 권고안에 언급되어 있는 문법 (Spec) 을 잘

지켜서 작성된 문서– 시작태그와 끝 태그가 있어야 함– 반드시 하나의 루트 element 가 있어야 함– 영역 중복이 없어야 함– 속성값은 반드시 따옴표로 지정

Page 3: XML  문서 작성 방법

XML 문서의 종류• 유효한 문서 (Valid Document)

– Well-formed 문서이면서– XML 로 개발된 특정 마크업 언어에 맞게

작성된 문서• 구조를 정의한 문서 (DTD, Schema) 와 일치

Page 4: XML  문서 작성 방법

EBNF

참고 사이트 : http://www.jelks.nu/XML/xmlebnf.html

EBNF 문법 :

기호 ::= 표현식 (symbol ::= Expression)

패턴 결합 :

A? A 표현이 올 수도 안 올 수도 있음 ( 옵션 )

A B A 표현이 먼저 오고 B 표현이 나중에 옴 ( 순차 )

A|B A 와 B 표현 중 하나만 와야 함 ( 선택 )

A-B A 표현이 와야 되지만 B 표현과는 일치되지 않아야 함

A+ A 표현이 최소한 한 개 이상이 와야 함

A* A 표현이 안 올 수도 있고 , 한 개 이상이 와도 됨

Page 5: XML  문서 작성 방법

XML 문서 구조Document( 문서 ) ::= prolog( 서두 ) element( 엘리먼트 ) Misc( 기타 )*

• 서두– XML 선언 , 프로세싱 지시자 , 문서 유형 선언으로 구성

• 엘리먼트– 한 개의 엘리먼트 ( 루트 엘리먼트 ) 가 와야 함– 다른 엘리먼트는 루트 엘리먼트의 자식 ( 하위 )

엘리먼트로 작성

• 기타– 주석 , 프로세싱 지시자 , 공백으로 구성

Page 6: XML  문서 작성 방법

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>

Page 7: XML  문서 작성 방법

XML 선언• “<?xml” 로 시작해서 “ ?>” 로 끝남• version 속성 필수• encoding 과 standalone 속성 선택• version, encoding, standalone 순서

준수• 현재 xml 버전 : 1.0• XML 선언은 반드시 파일의 맨 처음에 위치

– 앞에 공백 및 빈 라인이 있으면 안됨

Page 8: XML  문서 작성 방법

XML 선언<?xml version=“ 버전번호” encoding=“ 인코딩 방식” standalone=“yes|no”?>

• Version– XML 권고안의 버전 번호를 기술 ( 기술 필수 )

• Encoding– XML 문서를 저장할 인코딩 방식을 지정– 생략가능 (default 는 UTF-8)

• Standalone– XML 문서 해석 시 XML 파서 (Parser) 에게 외부 문서

참고 여부를 알려줌• Yes: 외부 DTD 문서를 참고할 필요 없음• No: XML 문서 해석 시 외부 문서를 참고해서 해석 (default)

Page 9: XML  문서 작성 방법

XML 문서 예<?xml version=“1.0” encoding=“euc-kr” standalone=‘yes’?>

< 영화 >

< 제목 > 와이키키브라더스 </ 제목 >

< 감독 > 임순례 </ 감독 >

< 출연 > 류승범 , 이얼 , 박원상 </ 출연 >

</ 영화 >

Page 10: XML  문서 작성 방법

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

Page 11: XML  문서 작성 방법

Element( 엘리먼트 )< 시작 태그명 > 내용 ( 콘텐트 )</ 끝 태그명 >

• 내용– 문자 데이터 및 자식 엘리먼트 기술 가능

• 엘리먼트의 종류– 내용을 가지는 엘리먼트– 내용이 없는 엘리먼트 ( 빈 엘리먼트 )

• 형태 1: < 시작 태그 /> (p.92 참고 )• 형태 2: < 시작 태그 ></ 끝 태그 > (p.92 참고 ) * 형태 2 에서 시작 태그와 끝 태그 사이에 공백이

오면 안됨

< 참고 : p.91 그림 3-3 엘리먼트 구성 요소 >

Page 12: XML  문서 작성 방법

Element 작성 시 주의점• 시작 태그와 끝 태그는 반드시 짝을 이룸

– 빈 엘리먼트는 시작 태그 끝 ‘ /’ 를 붙임• ‘<’ 문자는 엘리먼트 내용인 문자 데이터 및

속성값으로 사용 불가 ( 단 , ‘>’ 는 사용 가능 )

• ‘<’ 와 ‘ >’ 사이에 오는 시작 태그 이름 중에 공백 문자가 없수 없음– 종료태그 ‘ </’ 다음에 공백문자 올 수 없고 ,

반드시 시작 태그와 같은 이름이 와야 함• 엘리먼트는 중첩되어 작성할 수 없음

Page 13: XML  문서 작성 방법

태그 이름 작성 규칙• 첫번째 글자는 한글 및 문자 (‘_’ 포함 ) 로 시작

– 숫자 또는 ‘ .’ 시작 불가• 두번째 문자는 숫자 및 ‘ _’, ‘-’, ‘.’ 등의 일부

특수문자 가능– ‘:’ 사용 가능하나 네임스페이스와 관련된 기호이므로

가급적 사용 자제– 공백 (blank) 문자 불가

• 태그명이 영문자인 경우 대소문자를 구분• ‘<’ 에 공백 문자 불가 및 종료태그인 ‘ </’ 에 공백

문자가 올 수 없고 , 시작 태그명과 같은 이름이 와야 함

• 태그명은 xml 로 시작할 수 없음

Page 14: XML  문서 작성 방법

태그 이름 작성 규칙올바른 태그명 사용 예 :

<book>, <_book>, < 책 >, <book1>, <book-1>, <Book>

잘못된 태그명 사용 예 :

<7Book> 첫 글자가 숫자로 시작

<c++> ‘_’, ‘-’, ‘.’, ‘:’ 이외의 특수 문자를 포함

<book list> 태그명에 공백 문자 포함

< book> ‘<‘ 다음에 공백 문자 포함

<xml-book> 태그명이 xml 로 시작

Page 15: XML  문서 작성 방법

Element 내용< 시작 태그 속성명 =“ 속성값” >

</ 끝 태그명 >

내용 ( 문자 데이터 또는 자식 엘리먼트 )

<book kind=“computer”>

</book>

문자 데이터 (Character Data)

자식 엘리먼트 (Child Element)

엔티티 또는 문자 참조 (Reference)

CDATA섹션 (Character Data Section)

프로세싱 지시자 (Processing Instruction)

주석 (Comment)

공백문자열 (White Space)

Page 16: XML  문서 작성 방법

Attribute( 속성 )

• 속성은 하나의 요소와 결합된 이름 / 값의 쌍이다 .• 시작 태그에 추가• 속성은 반드시 값을 가짐• “ “ 또는 ‘ ‘를 사용• 하나의 요소 안에 들어있는 속성의 이름은

유일무이• Ex)

– < 영화 장르 =“ 액션” > 미션임파서블 </ 영화 >

Page 17: XML  문서 작성 방법

Attribute 예

<?xml version=“1.0” encoding=“euc-kr”

standalone=‘yes’?>

< 영화 장르 =“액션” > < 제목 > 와이키키브라더스 </ 제목 >

< 감독 > 임순례 </ 감독 >

< 출연 > 류승범 , 이얼 , 박원상 </ 출연 >

</ 영화 >

Page 18: XML  문서 작성 방법

Comment( 주석 )

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

Page 19: XML  문서 작성 방법

Comment( 주석 ) 예

<?xml version=“1.0” encoding=“euc-kr”

standalone=‘yes’?>

< 영화 장르 =“액션” ><!-- 여기는 주석입니다 . -->

< 제목 > 와이키키브라더스 </ 제목 >

< 감독 > 임순례 </ 감독 >

< 출연 > 류승범 , 이얼 , 박원상 </ 출연 >

</ 영화 >

Page 20: XML  문서 작성 방법

빈 요소 (Blank Element)

• Element 의 내용이 없는 경우 끝 태그를 생략하고 빈 요소를 사용 할 수 있음

• 빈 요소는 어떠한 내용도 포함 할 수 없으며 오직 속성만을 포함

• 빈 요소<middle/> (O)

<middle /> (O)

<middle/ > (X)

<middle / > (X)

< 브라우저 주석보이기 =“예” DTD체크 =“예” />

Page 21: XML  문서 작성 방법

PCDATA

• Element 에 포함된 문자열• 유효하지 않은 PCDATA 문자들

– “<”, “&” 등– 해결 방법

• Escape 문자• CDATA 섹션

Page 22: XML  문서 작성 방법

PCDATA : Escape 문자• Entity Reference

– & 문자 - &amp;– < 문자 - &lt;– > 문자 - &gt;– ’ 문자 - &apos;– ” 문자 - &quot;

Page 23: XML  문서 작성 방법

PCDATA : CDATA 섹션• 파서나 브라우저에서 유효성 검사를 하지

는 문자열 (error check 하지 않고 skip)• CDATA(Character DATA) 섹션

– “<![CDATA[” 로 시작 , “]]>” 로 끝<comparison>

<less><![CDATA[2<3]]></less>

<greater><![CDATA[4>3]]></greater>

</comparison>