62
1 chapter 02. XML 구구구 구구

chapter 02. XML 구조와 문법

Embed Size (px)

DESCRIPTION

chapter 02. XML 구조와 문법. XML 문서 ( document ). XML 선언. (DTD/ XML-schema 선언 ), (Namespace 선언 ). XML 태그 ( 요소 , 속성 ) & 데이타. 홍 현 30 - PowerPoint PPT Presentation

Citation preview

Page 1: chapter  02. XML  구조와 문법

1

chapter 02.

XML 구조와 문법

Page 2: chapter  02. XML  구조와 문법

2

1. XML 문서 구조

XML 문서 구조

XML 문서 형태

XML 선언

(DTD/ XML-schema 선언 ), (Namespace 선언 )

XML 태그 ( 요소 , 속성 ) & 데이타

XML 문서 (document)

<?xml version="1.0" encoding="euc-kr"?> <!-- XML 문서 구조 -->

<students> <student sid=“100”> <name> 홍 현 </name><age>30</age> <address> 서울 면목동 </address> <student>...</students>

XML 선언부주석

최상위 요소속성

요소

Page 3: chapter  02. XML  구조와 문법

3

1. XML 문서 구조

XML 선언부반드시 입력해야 하며 , 속성으로 버전과 인코딩 지정태그 시작과 끝에 <? ~ ?> 태그를 붙여야만 함

문서 분석 애플리케이션이 해당 문서가 XML 문서임을 판단

XML 선언부 형식

① <?xml 로 시작하고 , 공백이 없어야 함 .② 버전은 필수 속성③ 인코딩과 ④독립형 여부는 선택 속성

<?xml version=" 버전 " encoding=" 문자 코드 " standalone="yes or no"?> ① ② ③ ④

Page 4: chapter  02. XML  구조와 문법

4

1. XML 문서 구조

XML 선언문 규칙XML 선언에서 <? ( 시작 태그 ) 와 xml 문자 사이에 공백을 없앤다 .

XML 선언 속성에서 version 속성은 반드시 표기한다 .

XML 선언을 속성할 때는 xml, version 순으로 표현한다 .

Page 5: chapter  02. XML  구조와 문법

5

1. XML 문서 구조

XML 주석‘<!-- 와 -->’ 형태로 표기XML 선언부 이후라면 어느 위치나 가능DTD, XML 스키마 같은 문서 정의 문서에서도 사용가능

XML 주석 형식

잘못된 주석 형식

<!-- comment -->

<!-- 잘못 사용한 주석 --> XML 선언 이전에 표현됨<?xml version="1.0" encoding="UTF-8" standalone="yes"?><students <!-- 잘못 사용한 주석 -->> 다른 요소의 내부에 표현<!-- 잘못된 사용한 -- 주석 --> 주석 내부에 “—” 문자 사용

Page 6: chapter  02. XML  구조와 문법

6

1. XML 문서 구조

XML 요소 서식

<element_name> element context </element_name>

시작 태그 종료 태그요소 내용

요 소(element)

PCDATA(Parsed Character DATA)

Page 7: chapter  02. XML  구조와 문법

7

1. XML 문서 구조

XML 정의와 사용법

시작 태그 다음에는 반드시 종료 태그가 있어야 한다 .

모든 요소명은 대소문자를 구별한다 .

요소와 텍스트 데이터를 함께 (mixed) 나타낼 수 있다 .

요소 내용이 없으면 빈 요소로 둘 수 있다 .

태그를 겹쳐 (overlap) 서 쓰는 것을 허용하지 않는다 .

최상위 요소 (root element) 는 하나만 가져야 한다 .

요소명이 XML 이름 부여 규칙 (naming convention) 에

적합해야 한다 .

Page 8: chapter  02. XML  구조와 문법

8

1. XML 문서 구조

XML 이름 부여 규칙

문자열을 ‘ xml’ 로 시작할 수 없다 .( 단 , 대문자나

대문자를 포함하면 사용할 수 있다 ).

요소명의 첫 문자는 문자나 ‘ _’ 기호로 시작해야 한다 .

요소명 처음과 중간에는 공백을 사용할 수 없다 ( 단 , 공백

문자로 끝날 수는 있다 ).

예약어를 사용할 수 없다 . ( 예 : xml)

Page 9: chapter  02. XML  구조와 문법

9

1. XML 문서 구조

요소 내용 구성요소 내용 여러 개를 나타낼 수 있음

요소 내용에 같은 구조의 요소를 포함하는 계층 구조

요소 내용에 다른 구조의 요소를 포함하는 계층 구조

students

student

sid name age address

students

student

sid name age address cno cname credit

course

Page 10: chapter  02. XML  구조와 문법

10

1. XML 문서 구조

XML 속성요소 내에 정보나 데이터를 표현하기 위한 방법한 요소에 여러 속성을 표현할 수 있음형식 : 시작 태그 일부로 표현

구성 요소 : 속성명과 속성값으로 표현

<element_name  attribute="attribute_value" attribute="attribute_value"... >

<student sid="100">

요소명 속성명 속성값

Page 11: chapter  02. XML  구조와 문법

11

1. XML 문서 구조

속성을 선언할 때 주의할 사항

속성은 반드시 속성값을 가져야 함

빈 문자열을 포함할 수도 있다 .

속성값은 큰 따옴표 (“) 나 작은 따옴표 (‘) 사용해야 함

속성명 부여 방법은 요소명 부여 방법과 동일

대 . 소문자를 구별

‘xml' 이라는 문자열로 시작할 수 없음 .

숫자로 속성명을 시작할 수 없음

한 요소에 같은 이름의 속성을 두 개 이상 선언할 수 없음

Page 12: chapter  02. XML  구조와 문법

12

2. 개체 참조 , CDATA, 처리 명령어

XML 문서에서 특수문자를 표현하는 방법개체 참조문자 참조

개체 참조 정의미리 정해진 코드나 이름을 사용해서 표현할 때 쓰는 개념개체에 할당된 이름이 개체명& 와 ; 를 사용해서 나타냄

&entity_reference_name;

Page 13: chapter  02. XML  구조와 문법

13

2. 개체 참조 , CDATA, 처리 명령어

개체 참조명

사용 예

표현 문자 10 진 문자 코드 개체 참조명 어 원< &#60 &lt; less then

> &#62 &gt; greater then

‘ &#39 &apos; apostrophe

“ &#34 &quot; quotation marks

& &#38 &amp; ampersand

<students> <student> <sid>100</sid> <name> 홍 현 </name> <study> &lt; 과목 &gt; XML </study> </student> </students>

Page 14: chapter  02. XML  구조와 문법

14

2. 개체 참조 , CDATA, 처리 명령어

문자 참조‘&’ 혹은 ‘ <’, ‘>’ 이외에도 여러 가지 특수기호나 특수문자를 사용해야 할 때 유용 ( 예 . 회사 마크 , 문자표 심볼 등 )사용되는 문자 코드는 ISO/IEC10646 에 명시

사용 예

&#10 진수 문자 코드 ;    - 10 진수로 문자 코드를 지정 &#x16 진수 문자 코드 ;   - 16 진수로 문자 코드를 지정 ( 유니코드 )

<students> <student> <sid>100</sid> <name> 홍 현 </name> <telephone> &#x260F; 02-123-6399</telephone> <age> &#x2661; 30 </age> </student> </students>

Page 15: chapter  02. XML  구조와 문법

15

2. 개체 참조 , CDATA, 처리 명령어

CDATA

CDATA 섹션 내의 문자나 기호는 태그 형식이나 코드로 인식하지 않고 그대로

문자 형식으로 취급

특수기호가 많은 경우 CDATA 섹션을 사용하면 유용

CDATA 를 사용할 때 주의할 사항

‘<![CDATA[’ 사이나 ‘ ]]>’ 사이에 공백을 쓸 수 없다 .

CDATA 섹션 안에 CDATA 섹션을 포함하지 않아야 한다 .

키워드 CDATA 는 반드시 대문자를 사용한다 .

CDATA 구역은 요소 컨텐츠 내의 문자 데이터 어디에나 삽입할 수 있다 . 단 ,

XML 마크업 ( 태그 ) 내에서는 사용할 수 없다 .

<![CDATA[   .....   ]]>

Page 16: chapter  02. XML  구조와 문법

16

2. 개체 참조 , CDATA, 처리 명령어

CDATA 사용 예

<students>

<student>

<sid>100</sid>

<name> 홍 현 </name>

<activity>

<![CDATA[ 1992 년 " 단국대 " 입학 .

1993 년 학생회장 & 과대표 .

1996 년 " 단국대 " 졸업 .

2000 년 << WG 입사 >>

2003 년 << 총동창 회장 & 국회의원 >>

]]>

</activity>

</student>

</students>

Page 17: chapter  02. XML  구조와 문법

17

2. 개체 참조 , CDATA, 처리 명령어

처리 명령어 (PI, Processing Instruction)

정보를 문서 데이터 부분이 아닌 애플리케이션으로 전달

형식

name_processor: 명령문이 지정되는 애플리케이션 이름

‘<?’ 와 ‘ name_processor’ 사이에 공백이나 탭을 포함될 수 없음

instruction: 애플리케이션 명령어 ,

애플리케이션에 전달되는 정보처리 명령어

<?name_processor    instruction ?>

Page 18: chapter  02. XML  구조와 문법

18

2. 개체 참조 , CDATA, 처리 명령어

처리 명령어를 사용할 때 알아야 할 사항

이름은 반드시 문자 또는 밑줄로 시작해야 하고 , 그 뒤에 숫자 , 문

자 , 점 , 밑줄 등을 자유롭게 사용할 수 있다 .

처리 명령문은 XML 문서의 어디든지 삽입할 수 있다 .

단 , 주석과 마찬가지로 마크업 내에는 삽입할 수 없다 .

문서의 서두 , 문서 요소 다음 , 요소 내용의 내에 포함시킬 수 있다 .

가장 많이 사용하는 처리 명령어는 CSS와 XSL 을 적용하기 위한

처리 명령어다 .

스타일시트를 위한 name_processor 부분에는 ‘ xml-stylesheet’ 를

사용하고 , instruction 부분은 사용되어지는 스타일의 MIME 타입과

스타일 파일의 URI를 기술한다 .

Page 19: chapter  02. XML  구조와 문법

19

3. 네임스페이스 개념과 사용

네임스페이스 등장 배경

중복 태그를 막기 위해 등장

요소명과 속성명을 정확하게 인식하는 개념

네임스페이스 선언

XML 에서 미리 정의된 속성을 이용해서 선언

속성 이름은 기본 네임스페이스 선언 방식과 접두사를 사용하는

방식이 있음

네임스페이스 이름은 유일하고 , 지속적인 특징을 가짐

Page 20: chapter  02. XML  구조와 문법

20

3. 네임스페이스 개념과 사용

기본 네임스페이스로 선언요소에 xmlns 속성을 사용해서 네임스페이스를 선언하위 요소에는 자동으로 상위 요소에서 선언한 네임스페이스가 적용XML 문서 중 기본 네임스페이스로 선언되면 네임스페이스 접두어를 붙이지 않음선언 형식

취소 선언 형식

<element_name xmlns="URI_Reference">

<element_name xmlns=" ">

Page 21: chapter  02. XML  구조와 문법

21

3. 네임스페이스 개념과 사용

기본 네임스페이스로 선언한 예

<students xmlns="http://www.dankook.ac.kr/2003/xml"> <student> <sid>100</sid> <name> 홍 현 </name> <age> 30 </age> </student> </students>

Page 22: chapter  02. XML  구조와 문법

22

3. 네임스페이스 개념과 사용

접두사를 사용한 네임스페이스 선언

네임스페이스 접두사는 XML 문서 중에서 사용하는 요소명이나

속성명과 xmlns: 속성값으로 지정하는 URI 참조를 관련시키기 위해

사용

선언 형식

접두사 사용 규칙

접두사 첫 문자는 문자 또는 언더라인 (_) 으로 시작

URI_Reference 는 xmlns: 속성값을 URI로 지정

URI 경로가 다르게 지정되어 있다면 , 서로 다른 URI 참조를 사용

<element_name xmlns:prefix_name = "URI_Reference">

http://www.dankook.ac.kr/ http://www.dankook.ac.kr/2003/ http://www.dankook.ac.kr/2003/students

Page 23: chapter  02. XML  구조와 문법

23

3. 네임스페이스 개념과 사용

접두사를 사용한 네임스페이스 선언한 예

<st:students xmlns:st="http://www.dankook.ac.kr/2003/students"> <st:student> <st:sid>100</st:sid> <st:name> 홍 현 </st:name> <st:age> 30 </st:age>

<st:address> 서울 면목동 </st:address> </st:student> </st:students>

Page 24: chapter  02. XML  구조와 문법

24

3. 네임스페이스 개념과 사용

여러 개의 접두사를 사용해서 네임스페이스를 선언한 예

<st:students xmlns:st="http://www.dankook.ac.kr/2003/students" xmlns:pf="http://www.w3.org/1999/xhtml"> <st:student> <st:sid>100</st:sid> <st:name> 홍 현 </st:name> <st:age> 30 </st:age> <st:profile> <pf:html> <pf:head>

<pf:title> 나의 소개 </pf:title> </pf:head>

<pf:body> 활발한 사회활동 중 </pf:body></pf:html>

</st:profile> </st:student> </st:students>

Page 25: chapter  02. XML  구조와 문법

25

3. 네임스페이스 개념과 사용

한정한 이름

네임스페이스 접두사를 붙인 요소나 속성명

사용 형식

prefix_name: 네임스페이스 접두어 . 네임스페이스 선언에서

정의한 것과 일치해야 함

local_name: 지역 이름 . 지역 이름은 원래 요소명이 됨

적용 예

<prefix_name:local_name>

<bk:name> XML 활용백서 </bk:name>

Page 26: chapter  02. XML  구조와 문법

26

3. 네임스페이스 개념과 사용

요소 네임스페이스 선언 예

<st:students xmlns:st="http://www.dankook.ac.kr/2003/students" xmlns:bk="http://www.hanbit.co.kr/xml/"> <st:student> <st:sid>100</st:sid> <st:name> 홍 현 </st:name> <st:book> <bk:name> XML 활용백서 </bk:name> <bk:price unit="원 "> 23000 </bk:price> <bk:publishing> 한빛출판사 </bk:publishing> </st:book> </st:student> </st:students>

Page 27: chapter  02. XML  구조와 문법

27

3. 네임스페이스 개념과 사용

속성에 네임스페이스 선언형식

선언 예

<students xmlns:bk="http://www.hanbit.co.kr/xml/"> <student id="100"> <name> 홍 현 </name> <book bk:id="b001"> <title> XML 활용백서 </title> <publishing> 한빛출판사 </publishing> </book> </student> </students>

<element_name prefix_name:attribute_name = “attribute_value” >

Page 28: chapter  02. XML  구조와 문법

28

4. 객체지향과 XML 설계

객체지향모든 실세계를 객체로 보고 모델링해서 표현하는 것

객체 개념과 XML실세계 개념을 XML 로 표현한 예

object 요 소(element)속 성(attribute)링 크

(Link)...

현실 세계무형의 객체 유형의 객체

XML

계좌

Page 29: chapter  02. XML  구조와 문법

29

4. 객체지향과 XML 설계

추상화어떤 객체 집합의 특성이나 성질 등을 선택하고 적절하지 않은 다른 특성들을 제거 할 때 사용하는 정신적 과정 .분류 추상화 (classification)

공통 성질로 특성화되어 있는 객체들을 클래스 하나로 정의가장 보편적으로 많이 사용하는 개념IS_MEMBER_OF 관계

자전거

빨간 자전거 홍길동 자전거

천리마자전거

1월

12월

Page 30: chapter  02. XML  구조와 문법

30

4. 객체지향과 XML 설계

집단 추상화 (aggregation)각각의 구성 요소를 표현하는 클래스들의 집합으로부터 새로운 클래스를 정의 . IS_PART_OF 관계

일반 추상화 (generalization)두 개 혹은 둘 이상의 클래스 요소 사이의 부분집합 관계를 정의IS_A 관계

자전거

바퀴 페달 핸들

주방 거실 욕실

탈것

자전거 자동차 기차

학생

대학원생 주간학부생 야간학부생

Page 31: chapter  02. XML  구조와 문법

31

4. 객체지향과 XML 설계

XML 설계 단계1 단계 : 표현하려는 객체를 선택한다 .2 단계 : 객체 분석과 모델링을 통해 요소 (element) 를 추출해서 정의 / 분석한다 . 3 단계 : 분석된 객체 정보로 트리를 만들고 요소에 대한 정형화된 데이터를 작성한다 . 4단계 : 분석된 정보를 나타내는 요소명과 속성명을 구분해서 정의한다 . 5단계 : 앞에서 설계한 트리를 보고 XML 문법에 맞게 작성한다 .

Page 32: chapter  02. XML  구조와 문법

32

4. 객체지향과 XML 설계

1 단계 : 표현할 객체 선택

2 단계 : 객체 분석과 모델링 , 요소 추출과 정의 / 분석자동차 정보 분석

자동차 제조회사 , 자동차 명자동차 가격 , 자동차 색상배기량 , 에어백 설치여부CD 장착여부 ... 등

Page 33: chapter  02. XML  구조와 문법

33

4. 객체지향과 XML 설계

3_1 단계 : 분석된 객체 정보로 트리 제작

3_2: 요소에 대한 정형화된 데이터 작성

기본 모델 옵션

회사 자동차명 가격 색상 배기량 에어백 CD

현대자동차 산타페 23,000,000 은색 2000 cc yes yes

Page 34: chapter  02. XML  구조와 문법

34

4. 객체지향과 XML 설계

4단계 : 요소명과 속성명 정의

분석 정보 구분 분석 정보 구분자동차 car( 요소 ) 모델 model( 요소 )

기본 basic( 요소 ) 색상 color( 요소 )

회사 company( 요소 ) 배기량 displacement( 요소 )

자동차 명 name( 요소 ) 옵션 option( 요소 )

가격 price( 요소 ) 에어백 airbag( 요소 )

unit ( 속성 ) CD cd( 속성 )

Page 35: chapter  02. XML  구조와 문법

35

4. 객체지향과 XML 설계

5 단계 : 코딩

<?xml version="1.0" encoding="euc-kr" ?> <car> <basic> <company> 현대자동차 </company> <name>산타페 </name> <price unit="원 "> 23000000 </price> </basic> <model> <color> 은색 </color> <displacement> 200cc </displacement> </model> <option cd="yes"> <airbag>yes</airbag> </option> </car>

Page 36: chapter  02. XML  구조와 문법

36

참고 )

XML 문서 제작 기본

Page 37: chapter  02. XML  구조와 문법

37

정형식 문서와 유효한 문서

정형식 문서 (Well-formed Documents)XML 문법과 규칙에 맞게 만들어진 오류가 없는 문서

유효한 문서 (Valid Document)XML 문서를 표준화해서 만들 목적으로 문서 형태 정의 (DTD, Documents Type Definition) 를 따르는 XML 문서

정형식 문서와 유효한 문서 포함 관계

정형식 문서

유효한 문서

XML문서문서형태정의

DTDXSD

Page 38: chapter  02. XML  구조와 문법

38

정형식 문서와 유효한 문서

DTD 필요성표준화를 위해 필요용도별 DTD 를 만든 후 , 여기에 맞춰 XML 문서 작성

제품을 위한문서 형태 정의

(DTD)XML 문서

XML 문서

XML 문서

이력서를 위한문서 형태 정의

(DTD)XML 문서

XML 문서

XML 문서

Page 39: chapter  02. XML  구조와 문법

39

정형식 문서와 유효한 문서

한 제품에 대해 서로 다르게 작성한 XML 문서 예< 제품 > < 모델명 >J001</ 모델명 > < 회사 >KTF</ 회사 > < 가격 >200000 원 </ 가격 > < 출시날짜 >20031015</ 출시날짜></ 제품 >

< 제품 > < 회사 > 단국 </ 회사 > < 가격 단위 =“ 만원” >20</ 가격 > < 날짜 > < 년도 >2003</ 년도 > < 월 >10</ 월 > < 일 >15</ 일 > </ 날짜 >< 모델명 >J001-0822-wm</ 모델명 > < 색상 > 회색 </ 색상 ></ 제품 >

< 상품 > < 회사 >KTF</ 회사 > < 크기 >20*30</ 크기 > < 모델명 >J001-0822</ 모델명 > < 색상 > 회색 </ 색상 ></ 상품 >

A사

B사

C사

Page 40: chapter  02. XML  구조와 문법

40

정형식 문서와 유효한 문서

문서 형태 정의 방법기존 XML 문서를 통합한 후 표준화를 정의하는 방법

기존 XML 문서를 종합 정리해서 추가 , 삭제 , 변경해서 만드는 것이전 작성한 XML 문서가 있는 경우 유용

개념적으로 XML 문서 표준화를 정의하는 방법기본적인 배경지식과 전문지식을 사용해서 개념적인 설계를 한 후 , 문서 형태 정의 문서 (DTD 나 XML 스키마 ) 를 미리 작성기존 XML 문서가 없는 경우 적합

Page 41: chapter  02. XML  구조와 문법

41

정형식 문서와 유효한 문서

[실습 ] XML 문서를 통합해서 표준화를 정의하기① 회사별 XML 문서를 수집 / 분석② 공통 , 비공통 태그 분석③ 태그 결합 , 태그 의미확장 , 태그의 태그 확장④비공통 태그 분류 ( 필요 , 제거 , 선택 )⑤추가 태그 필요한지 검토⑥태그 정보가 순서성을 갖췄는지 검토⑦태그 반복 여부 정의⑧표준화된 문서로 표현⑨ 준화된 XML 문서 정의 문서 작성⑩XML 파서 프로그램을 사용해서 유효한 문서인지 검증

Page 42: chapter  02. XML  구조와 문법

42

정형식 문서와 유효한 문서

1 단계 : 회사별 XML 문서를 수집 / 분석

A 회사< 제품 >    < 모델명 > J001 </ 모델명 >    < 회사 > KTF </ 회사 >    < 가격 > 200000 원 </ 가격 >    < 출시날짜 > 2003/10/15</ 출시날짜 > </ 제품 >

B 회사< 상품 >    < 회사 > KTF </ 회사 >    < 크기 >  20x30 </ 크기 >    < 모델명 > J001-0822 </ 모델명 >    < 색상 > 회색 </ 색상 > </ 상품 >

C 회사< 제품 >    < 회사 > 단국 </ 회사 >    < 가격 단위 =" 만원 "> 20 </ 가격 >    < 날짜 >       < 년도 >2003</ 년도 >       < 월 >10</ 월 >       < 일 >15</ 일 >    </ 날짜 >    < 모델명 > J001-0822-wm</ 모델명 > </ 제품 >

Page 43: chapter  02. XML  구조와 문법

43

정형식 문서와 유효한 문서

2 단계 : 공통 , 비공통 태그 분석

3 단계 : 태그 결합 , 태그 의미확장 , 태그의 태그 확장

공통태그< 제품 >, < 상품 > < 모델명 > < 회사 >

비공통태그< 가격 > < 출시날짜 > < 날짜 > < 년도 > < 월 > < 일 > < 크기 > < 색상 >

태그결합 < 제품 >, < 상품 >   ->   < 제품 > < 제품 >, < 상품 >   ->   < 물품 > < 제품 >, < 상품 >   ->   < 제품 _ 상품 >

< 출시날짜 >, < 날짜 >   -> < 날짜 > < 출시날짜 >, < 날짜 >   -> < 생산날짜 > < 출시날짜 >, < 날짜 >   -> < 출시 _ 날짜>

태그의미 확장< 회사 >  ->  < 제조회사 >,  < 판매회사> < 회사 >  ->  < 제조사 >,  < 판매처 > < 회사 >  ->  < 회사 _A>, < 회사 _B>

태그의미 확장< 회사 >  ->  < 회사 >                           < 제조회사 >                           < 판매회사 >                       </ 회사 >   < 가격 >  ->  < 가격 >                           < 원가 >                           < 판매가 >                       </ 가격 >     

Page 44: chapter  02. XML  구조와 문법

44

정형식 문서와 유효한 문서

4단계 : 비공통 태그 분류 ( 필요 , 제거 , 선택 )

5단계 : 추가 태그 필요한지 검토

6 단계 : 태그 정보가 순서성을 갖췄는지 검토

< 가격 >   -> 필요사항 . < 크기 >   -> 제거사항 . < 색상 >   -> 선택사항 .

< 기능 >  < 보증기간 >

순서성이 없는 경우 < 가격 >           < 원가 >                  < 판매가 >        </ 가격 >    

순서성이 있는 경우 < 날짜 >          < 년도 >          < 월 >          < 일 >     </ 날짜 >

Page 45: chapter  02. XML  구조와 문법

45

정형식 문서와 유효한 문서

7 단계 : 태그 반복 여부 정의

8 단계 : 표준화된 문서로 표현

한 번만 표현해야 하는 경우< 모델명 > < 회사 >   

< 제품목록 > < 제품 >    < 모델명 > J001 </ 모델명 >    < 회사 > KTF  </ 회사 >    < 가격 단위 =" 원 ">         < 원가 >  150000 </ 원가 >         < 판매가 > 200000 </ 판매가 >    </ 가격 >    < 날짜 >

        < 년도 > 2003 </ 년도 >         < 월 > 10 </ 월 >         < 일 > 15 </ 일 >    </ 날짜 >    < 색상 > 검정색 </ 색상 >    < 보증기간 >  3 년 </ 보증기간 >    < 기능 > 16 화음 , 256 컬러 지원 </기능 > </ 제품 > </ 제품목록 >

Page 46: chapter  02. XML  구조와 문법

46

정형식 문서와 유효한 문서

9 단계 : 표준화된 XML 문서 정의 문서 작성

10 단계 : XML 파서로 유효한 문서인지 검증

[DTD 작성 ] <!ELEMENT 제품목록 ( 제품 )>   <!ELEMENT 제품 ( 모델명 , 회사 , 가격 , 날짜 , 색상 , 보증기간 , 기능 )>   <!ELEMENT 모델명 (#PCDATA)>   <!ELEMENT 회사 (#PCDATA)>   <!ELEMENT 가격 ( 원가 , 판매가 )>   <!ATTLIST 가격 단위 CDATA #IMPLIED>   <!ELEMENT 원가 (#PCDATA)>   <!ELEMENT 판매가 (#PCDATA)>   <!ELEMENT 날짜 ( 년도 , 월 , 일 )>   <!ELEMENT 년도 (#PCDATA)>   <!ELEMENT 월 (#PCDATA)>   <!ELEMENT 일 (#PCDATA)>   <!ELEMENT 색상 (#PCDATA)>   <!ELEMENT 보증기간 (#PCDATA)>   <!ELEMENT 기능 (#PCDATA)>

Page 47: chapter  02. XML  구조와 문법

47

정형식 문서와 유효한 문서

[실습 ] 개념적인 XML 문서 표준화 정의①설계 : 제품 명세서 또는 해당 컨텐츠 참고② 공통 항목과 비공통 항목 분리

항목을 필요사항 , 선택사항 , 제거사항 구분

③ 요소 / 내용 모델 결정④ 정의 문서 구조를 트리로 작성추가 , 제거사항 검토

⑤ 표준화된 XML 문서의 정의 문서 작성⑥ XML 문서 작성 /XML파서로 유효성 검증

Page 48: chapter  02. XML  구조와 문법

48

정형식 문서와 유효한 문서

1 단계 : 설계 (제품 명세서 또는 해당 컨텐츠 참고 )

개념 설계배경지식 - 상품코드 ,  모델명 , 제조회사 , 가격 , 색상 , 크기 ...등 전문지식 - 구성 , 규격 , 기능 , 부가 기능 , 특징 ... 등

컨 텐 츠 1

컨 텐 츠 2

Page 49: chapter  02. XML  구조와 문법

49

정형식 문서와 유효한 문서

2 단계 : 공통 항목과 비공통 항목 분리항목을 필요사항 , 선택사항 , 제거사항 구분

3 단계 : 요소 / 내용 모델 결정

공통태그상품 코드 - 필요사항 모델명 - 필요사항 제조회사 - 필요사항 가격 - 필요사항

비공통태그구성 - 선택사항 규격 - 선택사항 기능 - 선택사항 부가기능 - 제거사항 특징 - 제거사항 구매 수량 - 제거사항

순서적인 부분< 상품코드 > < 모델명 > < 제조회사 > < 가격 >

포함관계< 추가정보 >              < 구성 >                < 규격 >              < 기능 > </ 추가정보 >

Page 50: chapter  02. XML  구조와 문법

50

정형식 문서와 유효한 문서

4단계 : 정의 문서 구조를 트리로 작성추가 , 제거사항 검토

제품

상품코드 모델명 제조회사 가격 추가정보

회사명 회사회사 전화번호 규격 기능 구성

크기 무게

반복가능

Page 51: chapter  02. XML  구조와 문법

51

정형식 문서와 유효한 문서

5단계 : 표준화된 XML 문서의 정의 문서 작성6 단계 : XML 문서 작성 /XML파서로 유효성 검증

<제품 > < 상품코드 > 20031015 </ 상품코드 > < 모델명 > SM-1234 </ 모델명 > <제조회사 > < 회사명 > 삼성전자 </ 회사명 > < 회사주소 > 서울 용산구 한남동 </ 회사주소 > < 전화번호 > 02-700-3030 </ 전화번호 > </제조회사 > < 가격 > 250000원 </ 가격 > <추가정보 > < 규격 > < 크기 > 89.5(L) × 46(W) × 23.6(H) mm </ 크기 > <무게 > 102g </무게 > </ 규격 > < 기능 >초고속 무선데이터통신 지원 ( 최대 2.4Mbps) 동영상 및 연속촬영 기능 </ 기능 > < 구성 > 휴대폰 본체 , 표준형 배터리 , 탁상용 거치대 , 사용 설명서 , 데이터 통신 케이블 , 배터리 케이스 </ 구성 > </추가정보 > </제품 >

Page 52: chapter  02. XML  구조와 문법

52

XML 파서

XML 파서 역할XML 문서가 문법에 맞게 작성되었는지 검증XML 문서를 다른 응용 프로그램에서 사용될 수 있도록 변환하는 소프트웨어

XML 문서

DTD, XSD

WML

HTML

XMLL

XSLT 프로세서

XML 파서(DOM, SAX API)

변환

변환

변환

검증

Page 53: chapter  02. XML  구조와 문법

53

XML 파서

XML 파서 기능에 따른 형태문법적인 오류만 검사하는 파서유효한 문서인지 검사하는 파서XML 문서를 다른 형태의 문서로 변형해 주는 파서

Page 54: chapter  02. XML  구조와 문법

54

XML 편집기

XML 편집기기존 XML 문서를 읽어 들여 정확하게 작성되는지 검사새로운 문서를 생성할 때 입력이 정확한지 체크CSS, XSL 의 적용 결과를 쉽게 알 수 있음DB 연결기능 , DTD 작성 , XML 스키마 등을 자동 생성해주는 편집기도 있음 .대표적인 XML 편집기 : XML SPY 편집기

Page 55: chapter  02. XML  구조와 문법

55

XML 편집기

[실습 ] XML SPY를 이용한 XML 문서 작성① 문서 종류 선택② DTD 또는 스키마 중에 어떤 것을 적용할지 선택③ 최상위 요소 추가④ 하위 요소 ( 자식 요소 ) 추가⑤ 요소명 직접 입력과 수정⑥ 속성 추가⑦ XML 문서의 구조 보기 ⑧ 작성되어진 XML 문서 확인

Page 56: chapter  02. XML  구조와 문법

56

XML 편집기

① 문서 종류 선택② DTD 또는 스키마 중에 어떤 것을 적용할지 선택

Page 57: chapter  02. XML  구조와 문법

57

XML 편집기

③ 최상위 요소 추가

Page 58: chapter  02. XML  구조와 문법

58

XML 편집기

④ 하위 요소 ( 자식 요소 ) 추가

Page 59: chapter  02. XML  구조와 문법

59

XML 편집기

⑤ 요소명 직접 입력과 수정

Page 60: chapter  02. XML  구조와 문법

60

XML 편집기

⑥ 속성 추가

Page 61: chapter  02. XML  구조와 문법

61

XML 편집기

⑦  XML 문서의 구조 보기

Page 62: chapter  02. XML  구조와 문법

62

XML 편집기

⑧ 작성되어진 XML 문서 확인