Parser 의 이해와 Parsing 200252003 손계선 200252083 강미정 200252219 서정은 5 월 25 일 발표자 : 손계선.

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

CI(Continuous Integration) 이학성. C ontinuous I ntegration? 2 지속적으로 품질관리 를 적용하는 과정 개발자가 기존 코드의 수정 작업 을 시작할 때, 코드 베이스의복사본을 받아서 작업을 시작하면서 코드의 변경.
Python Essential 세미나 1 CGI 프로그램 작성법 발표자 : 박승기 ( 수 )
프로그래밍언어론 TA 윤들녁. 소개 윤들녁 연락처 : 공대 7 호관 4 층 401 호 데이터베이스 연구실 실습 후 날짜 _ 학번.zip 으로.
UX, RIA, 그리고 … Silverlight 공도소프트
Big Data & Hadoop. 1. Data Type by Sectors Expected Value using Big Data.
2008 년 11 월 20 일 실습.  실험제목 ◦ 데이터베이스 커넥션 풀  목표 ◦ 데이터베이스 커넥션 풀의 사용.
.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
2016 유성환 Hybrid MOBILE.
엑셀리포트를 이용한 날짜별 리포트 자동 저장 방법
컴퓨터와 인터넷.
Security Solutions (S/W) - Fortify
CHAP 22. 블루투스.
Dongseo univ. Computer engineering
Ⅰ. 클라이언트 스크립트 Ⅱ. 서버 스크립트 그렇다면 프로그래밍 언어를 수행하는 컴퓨터의 개념적인 구조를 살펴 본다면, 프로그래밍 언어가 무엇인지 이해하는데 도움이 될 것입니다. 현재 컴퓨터 구조의 모태가 되고 있는 폰 노이만 구조는 그림에서 보는 것과 같이, 명령어와.
Power Java 제3장 이클립스 사용하기.
XML Parser 순천향대학교 정보기술공학부 이상정.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
Ch.07-5 xml-rpc 사용하기 김상엽.
PHP입문 Izayoi 김조흔.
웹 서버 동작 HTTP 클라이언트가 서버와 대화하는 방법과 데이터를 서버에서 클라이언트로 전송 하는 방법을 정의한 프로토콜
웹 애플리케이션 아키텍쳐 웹 클라이언트 서버 요청 응답 전송 애플리케이션 데이터베이스 커넥터 N-계층.
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
JSP Programming with a Workbook
Java 기초 (Java JDK 설치 및 환경설정)
Visual Basic .NET 처음 사용하기.
1. C++ 시작하기.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
[ 고급소프트웨어공학 ] XML parser: DOM G 김지희.
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
제 01 장 인터넷 프로그래밍 개요 학기 인터넷비즈니스과 강 환수 교수.
Visual C++ Programming
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
CHAP 12. 리소스와 보안.
Wireless Java Programming
자바 5.0 프로그래밍.
인터넷응용프로그래밍 JavaScript(Intro).
강의 개요. 2014년 가을학기 손시운 지도 교수: 문양세 교수님.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
MVC 모델을 이용한 웹 애플리케이션 작성 웹 애플리케이션 개발 순서를 알아본다 웹 애플리케이션의 실행 순서를 이해한다.
Lesson 2. 기본 데이터형.
Lab 1 Guide: 교재 2장 DrawX ( 쪽)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
Ajax 활용 – Ajax 개요 2008 고급 XML 프로그래밍 임순범.
웹디자인
04. DBMS 개요 명지대학교 ICT 융합대학 김정호.
자바 5.0 프로그래밍.
XML Parser 순천향대학교 정보기술공학부 이상정.
텍스트 분석 기초.
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
( Windows Service Application Debugging )
데이터 동적 할당 Collection class.
암호학 응용 Applied cryptography
Introduction to JSP & Servlet
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
학습내용 프로토콜 계층화 OSI 모델의 용어 및 기능 개체 서비스 접근점 (N) 프로토콜과 (N) 서비스 서비스 프리미티브
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
발표자 : 이지연 Programming Systems Lab.
9 브라우저 객체 모델.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
CHAP 15. 데이터 스토리지.
DOM (Document Object Model)
20 XMLHttpRequest.
Presentation transcript:

Parser 의 이해와 Parsing 손계선 강미정 서정은 5 월 25 일 발표자 : 손계선

파서 (Parser) 란 ? Compiler 의 일부 즉, Compiler 나 Interpreter 에서 원시 프로그램을 읽어 들여, 그 문장의 구조를 알아내는 구문 분석 (parsing) 을 행하는 프로그램 파서파서 원시 프로그램의 명령문, 온라인 명령문, HTML 문서 등에서의 Markup Tag 구문을 해석 할 수 있는 단위로 여러 부분으로 분할

파싱 (Parsing) 형태 - DOM & SAX DOM 과 SAX 란 ? - 하나의 API 로서, XML 문서를 구조화 → DOM 이나 SAX 는 XML 문서에 있는 Data 를 효과적으로 다 루기 위해서 필요함. XML 파서의 분류 - DOM : 트리 (Tree) 기반의 파서 - SAX : 이벤트 (Event) 기반의 파서 → DOM 과 SAX 의 차이점은 문서 접근 방식의 차이 : 임의 접근 (DOM) 과 순차 접근 (SAX)

1)DOM (Document Object Model) - 객체 지향 모델 DOM 은 문서 객체 모델의 약어로 HTML 과 XML 문 서를 위한 API(Application Programming Interface) 로서 문서의 물리적 구조와 문서가 접근되고 다루어 지는 방법을 정의 XML 문서를 하나의 Tree 구조로 봄. 파서가 모든 이벤트들을 잡아서 그 결과를 메모리상 에 트리 형태로 만들고 APPLICATION 이 이 결과를 이용하도록 함.

DOM 의 특징 - XML 문서를 메모리상에 올려놓은 다음 DATA 를 찾아 들어가는 방식을 사용한다. - 큰 문서일 경우 무조건 다 읽기 때문에 Load 시간이 걸리거나 메 모리를 낭비하게 된다. - 문서 편집을 할 수 있다. - Data 를 저장되어 있는 순서대로 받는다. DOM 의 목적 ①다양한 환경과 애플리케이션에서 사용할 수 있는 표준적인 프 로그래밍 인터페이스 제공 ②프로그램 또는 스크립트를 통해 HTML 이나 XML 같은 웹 문서 의 내용과 구조 그리고 스타일 정보의 검색 또는 수정이 가능하 도록 해주는 플랫폼 또는 언어에 중립적인 인터페이스

DOM 구조와 원리 - DOM 은 XML 문서에 노드 들의 트리로 표현되는데, 특정 노드의 하위클래스는 요소, 텍스트, 주석이 될 수 있다. → 따라서 DOM 은 트리 구조로서 XML 문서를 다루 게 되는 것이다. 1) DOM 을 이용한 XML 문서변환 - XML 문서를 응용프로그램이 파싱 요청을 하면 XML 파서에 의해 해석한 후 DOM 인터페이스를 이용하여 응용프로그램과 정보 를 서로 전달하여 XML 문서를 조작하도록 함.

2)XML 문서와 DOM 트리구조 ① XML 문서 XML 정복 2004 년 발행 ② DOM 노드 트리 모델링 [ Document ] (NodeList) [Element " 책 "] (NodeList) [Element " 제목 "] (NodeList) [Element " 발행년도 "] (NodeList) [Text "XML 정복 "] (NodeList) [Text "2004 년 발행 "]

DOM 기반 Parser ▪ JAXP : 썬 마이크로시스템의 파서 (Java API for XML Parsing) ▪ XML4J : IBM 의 파서 (XML Parser for Java) ▪ Xerces : 아파치의 파서 (Xerces Java Parser) ▪ msxml : 마이크로소프트 파서

2) SAX (Simple API for XML) - 이벤트 지향 모델 XML 문서를 하나의 긴 문자열 본다. 문자열을 앞에서부터 차례로 읽어가면서 정보를 받아들인다.

SAX 의 특징 - 큰 문서를 효율적으로 분석하기 위해서 사용한다. - 이벤트가 발생하면 그에 해당하는 Data 를 추출하므로 속도가 DOM 에 비해서 빠르다. - 읽기 전용이다. 문서를 편집할 수 없다. - Data 를 SAX 가 주는 순서대로 받는다. 파서가 문서를 탐색하는 순서에 대해서 어떠한 작업도 할 수 없다. - 원하는 요소만 골라서 읽을 수 있다. SAX 의 구조와 원리 - 순차적으로 하나의 엘리먼트를 파싱해서 처리 - 사건중심 프로토콜 이라고 불림

① SAX 를 이용한 문서 변환 - 프로그래머가 일어날 수 있는 이벤트를 설정해 놓고 해당 이벤트가 발생할 때 SAX 가 제어권을 가지고 상황을 처리함 ② XML 문서와 SAX 처리 구조 - SAX Parser 에 의해 각각 이벤트가 발생되는 시점을 SAX interface 가 처리함 - XML 문서에 대해 응용프로그램이 파싱을 요청하면 XML 파서는 SAX 이벤트 핸들러에게 정보를 전달하고 응용프로그램이 이벤트 핸들러 에 맞게 XML 문서를 조작하도록 함

③ SAX 이벤트 발생 시점 예 ) ① ② ③ ④ XML ⑤ ⑥ ⑦홍길동 ⑧ ⑨ ⑩ ⑪ ⑫ ① startDocument Event 호출 ②③④⑦ startElement() Event 호출 ⑥⑨⑩⑪ endElement() Event 호출 ⑤⑧ character Event 호출 ⑫ EndDocument Event 호출

비교 )

DOM API 형태로 파싱하는 모습의 예

- 아파치에서 만든 Crimson 파서를 사용한 예 < 아파치에서 만든 Crimson 파서를 사용하여 DOM 형태로 파싱하기 위한 프로그래밍 소스 >

<결 과><결 과>

- javax.xml.parsers 패키지를 이용한 파싱을 한 예 <javax.xml.parsers 패키지를 이용하여 DOM 형태로 파싱하기 위한 소스와 결과 화면 >

- javax.xml.parsers 패키지를 이용한 파싱을 한 예 <javax.xml.parsers 패키지를 이용하여 DOM 형태로 파싱하기 위한 소스와 결과 화면 >