XML 문서 제작 기본 ㅎㅎ 정형식 문서와 유효한 XML 문서 XML 파서 XML 편집기
학습목표 3장. XML 문서 제작 기본 XML 설계 기법 학습 XML 문서 형태 정의 방법과 작성
정형식 문서(Well-formed Documents) Section 01 정형식 문서와 유효한 문서 정형식 문서(Well-formed Documents) XML 문법과 규칙에 맞게 만들어진 오류가 없는 문서 유효한 문서(Valid Document) XML 문서를 표준화해서 만들 목적으로 문서 형태 정의(DTD, Documents Type Definition)를 따르는 XML 문서 정형식 문서와 유효한 문서 포함 관계 정형식 문서 유효한 문서 문서 형태 정의 XML문서 XSD DTD [그림 3-1] 정형식 문서와 유효한 문서 포함 관계
DTD 필요성 Section 01 정형식 문서와 유효한 문서 표준화를 위해 필요 용도별 DTD를 만든 후, 여기에 맞춰 XML 문서 작성 제품을 위한 문서 형태 정의 (DTD) XML 문서 이력서를 위한 [그림 3-2] 문서 형태 정의 필요성
한 제품에 대해 서로 다르게 작성한 XML 문서 예 Section 01 정형식 문서와 유효한 문서 한 제품에 대해 서로 다르게 작성한 XML 문서 예 <제품> <모델명>J001</모델명> <회사>KTF</회사> <가격>200000원</가격> <출시날짜>20031015</출시날짜> </제품> <회사>단국</회사> <가격 단위=“만원”>20</가격> <날짜> <년도>2003</년도> <월>10</월> <일>15</일> </날짜> <모델명>J001-0822-wm</모델명> <색상>회색</색상> <상품> <크기>20*30</크기> <모델명>J001-0822</모델명> </상품> A사 B사 C사
문서 형태 정의 방법 Section 01 정형식 문서와 유효한 문서 기존 XML 문서를 통합한 후 표준화를 정의하는 방법 기본적인 배경지식과 전문지식을 사용해서 개념적인 설계를 한 후, 문서 형태 정의 문서(DTD나 XML 스키마)를 미리 작성 기존 XML 문서가 없는 경우 적합
[실습] XML 문서를 통합해서 표준화를 정의하기 (1/6) ② 공통, 비공통 태그 분석 ③ 태그 결합, 태그 의미확장, 태그의 태그 확장 ④ 비공통 태그 분류(필요, 제거, 선택) ⑤ 추가 태그 필요한지 검토 ⑥ 태그 정보가 순서성을 갖췄는지 검토 ⑦ 태그 반복 여부 정의 ⑧ 표준화된 문서로 표현 ⑨ 준화된 XML 문서 정의 문서 작성 ⑩ XML 파서 프로그램을 사용해서 유효한 문서인지 검증
[실습] XML 문서를 통합해서 표준화를 정의하기 (2/6) <제품> <모델명> J001 </모델명> <회사> KTF </회사> <가격> 200000 원</가격> <출시날짜> 2003/10/15</출시날짜> </제품> A회사 <상품> <회사> KTF </회사> <크기> 20x30 </크기> <모델명> J001-0822 </모델명> <색상> 회색 </색상> </상품> B회사 <제품> <회사> 단국 </회사> <가격 단위="만원"> 20 </가격> <날짜> <년도>2003</년도> <월>10</월> <일>15</일> </날짜> <모델명> J001-0822-wm</모델명> </제품> C회사
[실습] XML 문서를 통합해서 표준화를 정의하기 [3/6] 2단계: 공통, 비공통 태그 분석 3단계: 태그 결합, 태그 의미확장, 태그의 태그 확장 <제품>, <상품> <모델명> <회사> 공통태그 <가격> <출시날짜> <날짜> <년도> <월> <일> <크기> <색상> 비공통태그 <제품>, <상품> -> <제품> <제품>, <상품> -> <물품> <제품>, <상품> -> <제품_상품> <출시날짜>, <날짜> -> <날짜> <출시날짜>, <날짜> -> <생산날짜> <출시날짜>, <날짜> -> <출시_날짜> 태그결합 <회사> -> <회사> <제조회사> <판매회사> </회사> <가격> -> <가격> <원가> <판매가> </가격> 태그의미 확장 <회사> -> <제조회사>,<판매회사> <회사> -> <제조사>, <판매처> <회사> -> <회사_A>, <회사_B> 태그의미 확장
[실습] XML 문서를 통합해서 표준화를 정의하기 [4/6] 4단계: 비공통 태그 분류(필요, 제거, 선택) 5단계: 추가 태그 필요한지 검토 6단계: 태그 정보가 순서성을 갖췄는지 검토 <가격> -> 필요사항. <크기> -> 제거사항. <색상> -> 선택사항. <기능> <보증기간> <가격> <원가> <판매가> </가격> <날짜> <년도> <월> <일> </날짜> 순서성이 없는 경우 순서성이 있는 경우
[실습] XML 문서를 통합해서 표준화를 정의하기 [5/6] 7단계: 태그 반복 여부 정의 8단계: 표준화된 문서로 표현 <모델명> <회사> 한 번만 표현해야 하는 경우 <날짜> <년도> 2003 </년도> <월> 10 </월> <일> 15 </일> </날짜> <색상> 검정색 </색상> <보증기간> 3년 </보증기간> <기능> 16화음, 256컬러 지원 </기능> </제품> </제품목록> <제품목록> <제품> <모델명> J001 </모델명> <회사> KTF </회사> <가격 단위="원"> <원가> 150000 </원가> <판매가> 200000 </판매가> </가격>
[실습] XML 문서를 통합해서 표준화를 정의하기 [6/6] [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)>
[실습] 개념적인 XML 문서 표준화 정의 [1/5] ①설계: 제품 명세서 또는 해당 컨텐츠 참고 ②공통 항목과 비공통 항목 분리 항목을 필요사항, 선택사항, 제거사항 구분 ③ 요소/내용 모델 결정 ④ 정의 문서 구조를 트리로 작성 추가, 제거사항 검토 ⑤ 표준화된 XML 문서의 정의 문서 작성 ⑥ XML 문서 작성/XML파서로 유효성 검증
[실습] 개념적인 XML 문서 표준화 정의 [2/5] 1단계: 설계(제품 명세서 또는 해당 컨텐츠 참고) 컨텐츠 1 컨텐츠 2 개념 설계 배경지식 - 상품코드, 모델명, 제조회사, 가격, 색상, 크기...등 전문지식 - 구성, 규격, 기능, 부가 기능, 특징...등 [그림 3-4] 상품에 대한 서로 상이한 컨텐츠
[실습] 개념적인 XML 문서 표준화 정의 [3/5] 2단계: 공통 항목과 비공통 항목 분리 항목을 필요사항, 선택사항, 제거사항 구분 3단계: 요소/내용 모델 결정 <상품코드> <모델명> <제조회사> <가격> 상품 코드 - 필요사항 모델명 - 필요사항 제조회사 - 필요사항 가격 - 필요사항 구성 - 선택사항 규격- 선택사항 기능 -선택사항 부가기능 - 제거사항 특징 - 제거사항 구매 수량-제거사항 <추가정보> <구성> <규격> <기능> </추가정보> 공통태그 비공통태그 순서적인 부분 포함관계
[실습] 개념적인 XML 문서 표준화 정의 [4/5] 4단계: 정의 문서 구조를 트리로 작성 추가, 제거사항 검토 제품 상품코드 모델명 제조회사 가격 추가정보 회사명 회사회사 전화번호 규격 기능 구성 크기 무게 반복가능 [그림 3-5] 트리 구조 작성
[실습] 개념적인 XML 문서 표준화 정의 [5/5] 6단계: XML 문서 작성/XML파서로 유효성 검증 <제품> <상품코드> 20031015 </상품코드> <모델명> SM-1234 </모델명> <제조회사> <회사명> 삼성전자 </회사명> <회사주소> 서울 용산구 한남동 </회사주소> <전화번호> 02-700-3030 </전화번호> </제조회사> <가격> 250000원 </가격> <추가정보> <규격> <크기> 89.5(L) × 46(W) × 23.6(H) mm </크기> <무게> 102g </무게> </규격> <기능>초고속 무선데이터통신 지원(최대 2.4Mbps) 동영상 및 연속촬영 기능 </기능> <구성> 휴대폰 본체, 표준형 배터리, 탁상용 거치대, 사용 설명서, 데이터 통신 케이블, 배터리 케이스 </구성> </추가정보> </제품>
XML 파서 역할 Section 02 XML 파서 XML문서가 문법에 맞게 작성되었는지 검증 DTD, XSD WML HTML XMLL XSLT 프로세서 XML 파서 (DOM, SAX API) 변환 검증 [그림 3-6] XML 파서의 역할
XML 파서 기능에 따른 형태 Section 02 XML 파서 문법적인 오류만 검사하는 파서 유효한 문서인지 검사하는 파서
XML 편집기 Section 03 XML 편집기 기존 XML 문서를 읽어 들여 정확하게 작성되는지 검사 새로운 문서를 생성할 때 입력이 정확한지 체크 CSS, XSL의 적용 결과를 쉽게 알 수 있음 DB 연결기능, DTD 작성, XML스키마 등을 자동 생성해주는 편집기도 있음. 대표적인 XML 편집기: XML SPY 편집기
[실습] XML SPY를 이용한 XML 문서 작성 [1/8] ① 문서 종류 선택 ② DTD 또는 스키마 중에 어떤 것을 적용할지 선택 ③ 최상위 요소 추가 ④ 하위 요소(자식 요소) 추가 ⑤ 요소명 직접 입력과 수정 ⑥ 속성 추가 ⑦ XML 문서의 구조 보기 ⑧ 작성되어진 XML 문서 확인
[실습] XML SPY를 이용한 XML 문서 작성 [2/8] ① 문서 종류 선택 ② DTD 또는 스키마 중에 어떤 것을 적용할지 선택 [그림 3-29] XML 문서 종류 선택 [그림 3-30] DTD와 스키마 중 선택
[실습] XML SPY를 이용한 XML 문서 작성 [3/8] ③ 최상위 요소 추가 [그림 3-31] 최상위 요소 추가
[실습] XML SPY를 이용한 XML 문서 작성 [4/8] ④ 하위 요소(자식 요소) 추가 [그림 3-32] 하위 요소 추가
[실습] XML SPY를 이용한 XML 문서 작성 [5/8] ⑤ 요소명 직접 입력과 수정 [그림 3-33] 요소 수정
[실습] XML SPY를 이용한 XML 문서 작성 [6/8] ⑥ 속성 추가 [그림 3-34] 속성 추가
[실습] XML SPY를 이용한 XML 문서 작성 [7/8] [그림 3-35] 파일 저장
[실습] XML SPY를 이용한 XML 문서 작성 [8/8] [그림 3-36] 파일 확인