Download presentation
Presentation is loading. Please wait.
1
[ 고급소프트웨어공학 ] XML parser: DOM G 김지희
2
구 성 1. XML(eXtensible Markup Lanuage) parser??
2. XML parser : DOM(Document Object Model) 3. DOM parser를 이용한 XML과 JAVA연동(예제)
3
XML Parser?? : 작성된 XML문서가 Well-formed XML문서인지 검사 Valid XML문서인지 검사
응용프로그램이 실행할 수 있는 결과 제공 DOM “Document Object Model” : XML문서를 트리구조 형태로 Access할 수 있게 해주는 API : XML문서 전체를 파싱하여 메모리에 올려놓고, 요청하는 노드 데이터를 메모리에서 가져와서 쓰는 방식
4
XML Parser?? Well-formed XML문서: XML 표준에서 규정한 문법에 맞게 정의된 문서 - 하나 이상의 엘리먼트가 있어야 함 - 단 하나의 root엘리먼트를 허용함 - 6개의 구성요소만 사용할 수 있으며, 표준이 정하는 사용법에 따른다 { Processing Instruction(PI), DTD정의, Element, Entity, Comment, CDATA section } Valid XML문서 - Well-formed XML문서 + DTD나 XML Schema를 가지고 있고 + DTD나 XML Schema가 정한 구조와 요소사용에 대한 규칙을 지킨 문서
5
XML Parser?? Well-formed XML문서에서 6개의 구성요소
❶ Processing Instruction(PI) : 파서 또는 XML응용프로그램에게 XML문서를 어떻게 처리해야 할 지에 대한 정보 전달 ❷ DTD정의 : XML문서의 문법 정의 DTD는 XML문서의 구조와 의미를 동시에 정의할 수 있음 ❸ Element : 문서 구조를 구성하는 최소단위. Tag, attribute, content로 이루어짐 ❹ Entity : 재사용 가능한 개체, 5개의 내장 개체와 사용자 개체로 구분된다 ❺ Comment : <!--주석--> ❻ CDATA section : 파싱되지 않는 문자 데이터 (파서로부터 특수문자를 보호하기 위해)
6
XML Parser?? : 작성된 XML문서가 Well-formed XML문서인지 검사 Valid XML문서인지 검사
응용프로그램이 실행할 수 있는 결과 제공 DOM “Document Object Model” : XML문서를 트리구조 형태로 Access할 수 있게 해주는 API : XML문서 전체를 파싱하여 메모리에 올려놓고, 요청하는 노드 데이터를 메모리에서 가져와서 쓰는 방식
7
XML Parser : DOM 파싱방식 객체 트리 기반 데이터 접근 Random Access가능 데이터 구조 파악 용이
메모리 사용 많이 사용 파싱하는 데이터 양에 따라 다양 데이터 재사용 가능 장점 문서구조 동적 변경가능, 복잡한 처리 연산가능, 문서 생성/편집 가능 단점 메모리 요구량 많음, 처리 속도 느림 적용분야 구조적 접근 시, 빈번한 수정과 저장 시, 적은 량의 문서 변경
8
XML Parser : DOM 메모리 XML 원문 Parsing 결과 구조 book author title price
Quiet Susan Cain 14000 DOM 파싱
9
XML과 자바연동: JAXP JAXP의 interfaces JAXP (Java API for XML Processing)
XML을 처리하는 JAVA API 중 하나 (JAXP자체가 XML파서는 아님) DOM 인터페이스를 제공 기존 XML 파서를 만든 벤더(SUN,Apache..등) 에 독립적인 표준 API를 제공하는 추상화된 계층
10
XML과 자바연동 XML문서 DOM Parser Tree 구조방식 JAXP 자바응용프로그램
JAXP(Java API for XML Processing) : XML을 처리하는 JAVA API중 하나 (JAXP자체가 XML파서는 아님) : DOM인터페이스를 제공 : 기존 XML파서를 만든 벤더(SUN,Apache..등)에 독립적인 표준 API를 제공하는 하나의 추상화된 계층
11
XML과 자바연동 DOM 핵심 package DOM level 설명 DOM Level 1 (1998)
Core, HTML, XML 문서모델에 대한 내용 문서검색 및 조작하는 기능 포함 각 브라우저 벤더들에 따라 각기 개발되던 DOM의 표준화 작업진행 DOM Level 2 (2000) CSS(Cascading Style sheets)를 적용한 모델 지원 문서에 대한 풍부한 질의기능 포함 이벤트 모델에 대한 정의기능 포함 DOM Level 3 (2004) 윈도우 환경의 사용자 인터페이스 기술 정의 사용자의 DTD 조작 가능, 보안 레벨 정의 가능
12
XML과 자바연동 예제 ) “book.xml” 문서를 읽어서 노드를 얻고 값을 출력 book.xml
13
XML과 자바연동: DOM ‘DocumentBuilderFactory’ , ‘DocumentBuilder‘ 객체를 생성하는 Factory 클래스 XML 파일을 파싱하는 클래스 XML 파싱 한 결과를 저장할 객체를 생성하는 클래스
14
XML과 자바연동: DOM
15
THANKS
Similar presentations