XML-II (eXtensible Markup Language) DTD/DOM

Slides:



Advertisements
Similar presentations
XML with JAVA. chapter 07 : chapter 07 : XML 스키마 Ⅰ XML 스키마 Ⅰ.
Advertisements

전자상거래 원론: 제18장 전자상거래 수행전략 및 구현.
웹 멀티미디어 컨텐츠 검색 방법 신은정.
Chapter 2 정보시스템 아키텍처 (IS Architecture)
소프트웨어시스템 실험 Software Systems Lab. (2012년 2학기) 강의 소개
OSGi 번들 서비스 의존성 해결을 위한 Residential Gateway 소프트웨어 구조 설계
박용수 XML 박용수
웹 페이지.
HTML5 웹 프로그래밍 입문 (개정판) 1장. 인터넷과 웹환경의 발전.
2011년 봄학기 정보컴퓨터공학부 컴퓨터 소프트웨어 설계 및 실험
XSD (XML Schema Definition)
XML 응용 프로그래밍 3장 XML 문서 제작 기본
웹 2.0 및 Ajax 개요.
HTML & CSS 겉핥기 2012 SUMMER SPARCS.
데이터베이스 시스템.
Internet Computing KUT Youn-Hee Han
Multimedia Lab. Introduction
10장. 웹 서비스 공격 (Attacking Web Service)
컴퓨터 소프트웨어.
팀 명: Con Spirito 팀 원: 경주리 김다정 김소담 최은미
Overview : XML과 Database
Introduction to Web Service Computing
Information Technology
Information Retrieval (Chapter 4: 질의언어)
국내 IT인재 일본진출 현황 및 성과 한 국 정 보 통 신 산 업 협 회 부설 한국정보통신인력개발센터.
1장. JSP 및 Servlet을 활용한 동적 웹 프로그래밍 소개 제1장.
12. 데이터베이스 설계.
통합 DB & CMS 적용방안
10장 객체-지향 프로그래밍 II ©창병모.
DB표준화 작업의 현황과 과제 Presentation
HTML5 입문 인공지능 연구실.
1. 시멘틱웹(Semantic Web) Preview 항목 상세내역 개요 기출여부 관련KeyWord 추천사이트
프로그램 개발과 언어 Chapter 05 컴퓨터의 이해
ER-Win 사용 방법.
Embeded 기초 다지기 2015년 10월 26일 intern Sally
XML DOM (Document Object Model)
XML XSLT.
X M L 컴퓨터공학과 윤 홍 국.
XML-I (eXtensible Markup Language) Instruction of XML
XML.NET XML 검색, 수정 프로그램 작성 2010 컴퓨터공학실험(Ⅰ)
임베디드 하드웨어 Report.
스케줄링 (Scheduling) 시스템 내부시간(time in the system): 스케줄링 문제
정보처리기사 8조 신원철 양진원 유민호 이기목 김다연 윤현경 임수빈 조현진.
Endless Creation - 안 승례 -
A Web-Based Little Man Computer Simulator
4. 관계 데이터베이스 (Relational Database)- 7, 8장
제 8 장 객체지향 데이타베이스와 데이타베이스의 새로운 응용 분야
ER-Win 4.0 Database Modeling Ⅰ. Logical Design
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall
JSP Programming with a Workbook
인터넷응용프로그래밍 JavaScript(array).
인터넷주소의 한글화와 Name Lookup Service
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
The Practice of KM operations
Cyber Shopping Mall 구축 - CD New - 안소연,박지윤,박종봉,정영은.
Introduction to Semantic Web 시맨틱 웹의 개요
Operating System Multiple Access Chatting Program using Multithread
제목을 입력해 주세요 ┗ SUB TITLE을 입력해 주세요 홍길동.
이번 시간에는... 지난 시간까지 제 1장을 통해 모바일의 정의와 개념, 시작과 발전, 기술과 서비스 및 그 전략을 살펴봄으로써 모바일 산업에 대한 전반적인 이해를 쌓았습니다. 이번시간 부터는 제 2장 모바일 기술을 통해, 무선 인터넷을 위한 컨텐츠 제작 기술, 네트워크.
기업지원 단일창구 서비스 (G4B)구축 3차년도 사업
1. 관계 데이터 모델 (1) 관계 데이터 모델 정의 ① 논리적인 데이터 모델에서 데이터간의 관계를 기본키(primary key) 와 이를 참조하는 외래키(foreign key)로 표현하는 데이터 모델 ② 개체 집합에 대한 속성 관계를 표현하기 위해 개체를 테이블(table)
1장. 서 론 데이터베이스의 개요 모델의 종류 관계형 모델과 객체 지향형 데이터베이스 SQL이란 무엇인가?
1. 데이터베이스 환경.
Introduction to Computer System Spring, 2019
Introduction to Electrical and Computer Engineering
ㅎㅎ DTD DTD 개념 DTD 문법 [실습] DTD 활용.
Compiler: Overview Seong Jong Choi Multimedia Lab.
Web & Internet [10] 입문 – input 태그
3장. 데이터베이스 시스템 데이터베이스 시스템의 정의 데이터베이스의 구조 데이터베이스 사용자 데이터 언어
DOM (Document Object Model)
Presentation transcript:

XML-II (eXtensible Markup Language) DTD/DOM Jung, Jin A Jina76@sidae.uos.ac.kr An append contents to PPT by bluejfet 2002/05/04 Multimedia Lab. Dept. of Electrical and Computer Eng. University of Seoul Seoul, Korea

1. Main Objectives of the presentation. 2. Overview or Introduction 0. Contents 1. Main Objectives of the presentation. 2. Overview or Introduction 3. DTD 4. XML Processor & DOM 5. Summary 단기 4352년 4월 24일 Jung, Jin A

DOM (Document Object Model)의 개념 1. Main Objectives DTD의 활용 XML PROCESSOR의 사용 DOM (Document Object Model)의 개념 단기 4352년 4월 24일 Jung, Jin A

2. Overview or Introduction DTD (Document Type Definition) Define the rules of the document, such as which elements are present and the structural relationship between elements DOM (Document Object Model) A platform- and language-neutral interface that permits script to access and update the content, structure , and style of a document. Ref. MSDN 단기 4352년 4월 24일 Jung, Jin A

3.DTD (Document Type Definition) What is DTD? DTD의 사용 – 외부 참조 DTD의 사용 – 내부 참조 DTD Grammar 및 작성 예제 단기 4352년 4월 24일 Jung, Jin A

Object Oriented Programming 3.1 What id DTD? Class Object1 Object2 Object3 Object Oriented Programming 실체화 DTD XML Document Type XML Document XML Document2 XML Document3 실체화 유사 단기 4352년 4월 24일 Jung, Jin A

3.2 DTD 사용 – 외부 참조(1/2) <?xml version = “1.0” encoding=“euc-kr”?> <! - - an example of XML document. mail1.xml - -> <MAIL> <HEADER> <RECEIVED>길동@nownuri.net</RECEIVED> <SENDED>춘향@nuwnuri.net</SENDED> </HEADER> <BODY> 길동 도련님! 안녕하십니까?…. </BODY> </MAIL> <!DOCTYPE MAIL SYSTEM “mail.dtd”> This DTD file is separate from the XML document it describe. Merit – easily referenced from multiple XML documents. 단기 4352년 4월 24일 Jung, Jin A

3.2 DTD 사용 – 외부 참조 (2/2) (mail.dtd) <!ELEMENT MAIL (HEADER , BODY)> <!ELEMENT HEADER (RECEIVED, SENDED)> <!ELEMENT RECEIVED (#PCDATA)> <!ELEMENT SENDED (#PCDATA)> <!ELEMENT BODY (#PCDATA)> Element Declarations <!ELEMENT element_name (content_model)> MAIL element는 HEADER element와 BODY element를 child element로 반드시 1개씩 가진다. 반드시 HEADER element 다음에 BODY element가 온다. HEADER element는 RECEIVED 와 SENDED element를 child element 로 가진다. RECEIVED 다음에 SEVDED가 온다. RECEIVED,SENDED and BODY element는 text Data를 가지고 있다. 단기 4352년 4월 24일 Jung, Jin A

3.3 DTD 사용 – 내부 참조 This DTD file is included inside the XML document. <?xml version = “1.0” encoding=“euc-kr”?> <! - - an example of XML document. mail.xml - -> <MAIL> <HEADER> <RECEIVED>길동@nownuri.net</RECEIVED> <SENDED>춘향@nuwnuri.net</SENDED> </HEADER> <BODY> 길동 도련님! 안녕하십니까?…. </BODY> </MAIL> <!DOCTYPE MAIL [ <!ELEMENT MAIL (HEADER , BODY)> <!ELEMENT HEADER (RECEIVED , SENDED , TITLE)>……] > This DTD file is included inside the XML document. 단기 4352년 4월 24일 Jung, Jin A

3.4 DTD Grammar & 작성 예제 (1/9) (mail 문서) From: “홍길동” 길동@nownuri.net To: “성춘향” 춘향@nownur.net Cc: “향단이” 향단@nownur.net Subject : 새해인사 Date: Thu, 6 May 1999 01:13:56 Organization : 길동 클럽 Content : “ 새해 복 많이 받으시오…” (mail 문서) Header Body 단기 4352년 4월 24일 Jung, Jin A

3.4 DTD Grammar & 작성 예제 (2/9) Element Define (mail2.dtd) <!ELEMENT MAIL (HEADER , BODY)> <!ELEMENT FROM (#PCDATA)> <!ELEMENT TO (#PCDATA)> <!ELEMENT CC (#PCDATA)> <!ELEMENT SUBJECT (#PCDATA)> <!ELEMENT DATE (#PCDATA)> <!ELEMENT ORGANIZATION (#PCDATA)> <!ELEMENT CONTENT (#PCDATA)> (mail2.dtd) <!ELEMENT HEADER ( FROM? , TO ,CC? , SUBJECT , DATE? , ORGANIZATION? )> <!ELEMENT BODY (CONTENT*) > 단기 4352년 4월 24일 Jung, Jin A

Content_Type of Element 3.4 DTD Grammar & 작성 예제 (6/9) Content_Type of Element Content Type 설명 및 예제 (ELEMENT의 내용) ANY Child ELEMENT or TEXT 예: <ELEMENT MAIL ANY> EMPTY 어떤 것도 올 수 없다. 속성만 허용 예: <ELEMENT MAIL EMPTY> ELEMENT Child ELEMENT만 허용 예: <ELEMENT MAIL (HAEDER,BODY)> MIXED ELEMENTMEN와 TEXT가 모두 포함된 경우 예: <ELEMENT MAIL(#PCDATA,HEADER)> PCDATA Text만 허용 예: <ELEMENT MAIL(#PCDATA)> 단기 4352년 4월 24일 Jung, Jin A

Content Model of Element 3.4 DTD Grammar & 작성 예제 (3/9) Content Model of Element 문서의 구조를 설계할 때 어떤 element들이 어떤 순서로(order), 얼마 만큼 (cardinality) 존재해야 하는지에 대한 규칙을 정의하는 부분. Order Operator Cardinality Operator 단기 4352년 4월 24일 Jung, Jin A

Order Operator 3.4 DTD Grammar & 작성 예제 (4/9) Order Operator Example Comma( , ) : Sequence ( A , B ) A 다음에 B가 순서대로 Vertical bar( | ) : Choice (A | B ) A 또는 B 중에 하나만 자식으로 단기 4352년 4월 24일 Jung, Jin A

3.4 DTD Grammar & 작성 예제 (5/9) Cardinality Operator Example 없음 : Only One (필수) ( A , B , C) A , B ,C 가 모두 한번 와야 한다. ? : 0 or 1 (옵션) ( A , B? , C) B 는 생략하거나 한번 올 수 있다. * : 0 or more(옵션) (A , B* , C) B는 생략하거나 여러 번 올 수 있다. + : 1 or more (옵션) (A ,B+ , C) B는 한번 이상 올 수 있다. 단기 4352년 4월 24일 Jung, Jin A

3.4 DTD Grammar & 작성 예제 (7/9) Attribute Define <!ELEMENT MAIL (HEADER , BODY)> <!ELEMENT HEADER ( FROM? , TO ,CC? , SUBJECT , DATE? , ORGANIZATION? )> <!ELEMENT BODY (CONTENT*) > <!ELEMENT FROM (#PCDATA)> <!ELEMENT TO (#PCDATA)> <!ELEMENT CC (#PCDATA)> <!ELEMENT SUBJECT (#PCDATA)> <!ELEMENT DATE (#PCDATA)> <!ELEMENT ORGANIZATION (#PCDATA)> <!ELEMENT CONTENT (#PCDATA)> (mail2.dtd) <! ATTLIST MAIL 요망사항 (긴급 | 검토 요망 | 답신 요망) #REQUIRED> Attribute Declarations <!ATTLIST element_name attribute value Type> 단기 4352년 4월 24일 Jung, Jin A

Default Attribute Keyword 3.4 DTD Grammar & 작성 예제 (8/9) Default Attribute Keyword Type 설명 #REQUIRED 해당 ELEMENT마다 반드시 ,속성 값이 지정되어야 한다 #IMPLED 속성 값의 부여가 옵션이다. #FILXED Default value 반드시 default value를 적용. 부여 되지 않은 경우 default value적용. 다른 값 적용도 가능 단기 4352년 4월 24일 Jung, Jin A

3.4 DTD Grammar & 작성 예제 (9/9) (mail2.xml) <?xml version=“1.0” encoding=“euc-kr”?> <!DOCTYPE mail SYSTEM “mail2.dtd”> <MAIL 요망사항 = “답신 요망”> <HEADER> <FROM> “홍길동” 길동@nownuri.net </FROM> <TO> “성춘향” 춘향@nownur.net </TO> <CC> “향단이” 향단@nownur.net </CC> <SUBJECT> 새해인사 <SUBJECT> <DATE> Thu, 6 May 1999 01:13:56 +0900 <DATE> <ORGANIZATION> 길동 클럽 <ORGANIZATION> </HEADER> <BODY><CONTENT> 새해 복 많이 받으시오…</CONTENT></BODY> </MAIL> (mail2.xml) 단기 4352년 4월 24일 Jung, Jin A

4. XML Processor 4. XML Processor What is XML Processor? XML API의 종류 What is DOM? DOM의 개념 단기 4352년 4월 24일 Jung, Jin A

4.1 What is XML Processor? (1/2) Application 문서 검증 문서 로딩 문서 저장 문서 추가 문서 삭제 문서 수정 DOM API For XML/HTML XML Parser1 XML Parser2 XML Parser n XML프로세서 Web / DB / XML File 단기 4352년 4월 24일 Jung, Jin A

4.1 What is XML processor? (2/2) XML문서를 읽어서 문서 내용과 문서 구조에 대한 접근 을 제공하는 software 문서와 DTD를 읽어 문서의 정확성을 검증 문서 내의 element와 content tree, catalog등을 생성해내며, 이를 이용하여 XML application은 해당 element에 대한 특정 동작을 기술함으로써 XML문서의 처리를 수행 단기 4352년 4월 24일 Jung, Jin A

XML Processor를 이용하는 방법 4.2 XML Processor의 이용 (1/2) XML browser를 이용 XML processor가 제공하는 자체 API를 이용 표준화된 API를 사용 단기 4352년 4월 24일 Jung, Jin A

프로세서에 대한 접근에 API를 이용. 4.2 XML Processor의 이용 (2/2) Processor자체에서 제공하는 API 표준화된 API : SAX , DOM Standard Interface Each Processor’s Interface DOM SAX 범용 XML Processor XML 문서 단기 4352년 4월 24일 Jung, Jin A

XML Processor 및 API들의 접근 방법 4.3 XML API (1/3) XML Processor 및 API들의 접근 방법 Event-Driven Approach SAX Object Model Approach DOM 단기 4352년 4월 24일 Jung, Jin A

Event-Driven Approach 4.3 XML API (2/3) Event-Driven Approach XML 문서를 parsing할 때 문서의 전체 구조 정보를 가지지 안으며, 단순히 특정 element를 만났을 때, event를 발생시켜 programmer가 요구한 작업을 수행할 수 있도록 한다. 문서의 전체 정보보다는 특정 element의 추출 연산이 중요한 서비스에 적합. SAX(Simple API for XML) 단기 4352년 4월 24일 Jung, Jin A

Object Model Approach 4.3 XML API (3/3) XML문서를 parsing하여 문서의 구조 정보와 contents 모두를 object로서 메모리상에 올려놓고 이용. 문서 전체에 대한 구조 정보를 tree에 기반한 object로서 이용 가능하므로 XML 문서를 구조적으로 변경하는 작업에 적합. 여러 application이 XML 문서를 메모리상에서 공유가 가능 큰 XML문서의 경우 메모리 사용량 증가. DOM(Document Object Model) 단기 4352년 4월 24일 Jung, Jin A

DOM이란? 4.4 What is DOM? Document Object Model html과 xml문서를 다루기 위한 API 웹 페이지에 포함되어 있는 조작 가능한 객체(element, link,image …)를 위한 interface Interface를 통해 객체를 조회 , 삭제, 추가, 변경을 가능하도록 하는 것이 목적 Platform , programming language에 독립적인 standard interface ----->사용자는 DOM을 통해서 문서를 생성하고, 그 문서의 구조에 따라 navigation하고, element와 문서내용을 추가/수정/삭제 할 수 있다. 단기 4352년 4월 24일 Jung, Jin A

DOM and MSXML(Microsoft XML Parser-COM based) (ref. MSDN) 단기 4352년 4월 24일 Jung, Jin A

Example Document Structure <sample bogus=“value”> <text_node>Test data.</text_node> </sample> Parsing& tree building Document nodeType = DOCUMENT_NODE nodeName = #document nodeValue = (null) Attr nodeType = ATTRIBUTE_NODE nodeName = bogus nodeValue = value Element nodeType = ELEMENT_NODE nodeName = sample nodeValue = (null) firstchild attributes Element nodeType = ELEMENT_NODE nodeName = text_node nodeValue = (null) firstchild Element nodeType = ELEMENT_NODE nodeName = #text nodeValue = text data. ref. XML IN A NUTSHELL 단기 4352년 4월 24일 Jung, Jin A

4.5 DOM의 개념 <LAB> <PROFESSOR> <NAME>CHOIS</NAME> </PROFESSOR> <STUDENT> <NAME>ARROW</NAME> <NAME>WOLF</NAME> <NAME>JINA</NAME> </STUDENT> </LAB> Web Document 구조화 단기 4352년 4월 24일 Jung, Jin A

DOM의 개념 - Web Document의 구조화 Tree 형태로 구조화 : programming으로 쉽게 조작 가능 <LAB> <PROFESSOR> <NAME> Chois <STUDNET> Arrow Wolf Jina 단기 4352년 4월 24일 Jung, Jin A

DOM (core) Level1 class/interface 계층도 Node Document DocumentFragment CharacterData Comment Text CDATASection Attr Element DocumentType Notation Entity EntityReference ProcessingInsruction DOMException NodeList NameNodeMap DomImplementaion 단기 4352년 4월 24일 Jung, Jin A

XML은 SGML과 HTML의 한계를 극복하여, Web에서 구조화된 문서를 처리할 수 있게 하는데 목적이 있다. 5. Summary XML은 SGML과 HTML의 한계를 극복하여, Web에서 구조화된 문서를 처리할 수 있게 하는데 목적이 있다. 문서의 구조를 정의하는 DTD를 사용하여, 임으로 문서의 구조를 구성할 수 있다. Application이 HTML , XML 문서를 접근하기 위한 표준 interface로 DOM ,SAX가 정의 되어 있다. 단기 4352년 4월 24일 Jung, Jin A