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