2011년 봄학기 정보컴퓨터공학부 컴퓨터 소프트웨어 설계 및 실험

Slides:



Advertisements
Similar presentations
Web Based Data Warehouse Query Tool 이화여자대학교 2002 년 컴퓨터학과 졸업프로젝트 14 조.
Advertisements

전공 : 컴퓨터 공학 전공 과목 : 인터넷 정보 검색 학번 : , 이름 : 조 항 두, 오 철 원 발표일 :
8 장 웹 프로그래밍 언어의 종류. 8.1 문서의 표준화  컴퓨터와 웹을 이용하기 위해서는 컴퓨터가 이 해할 수 있는 언어를 사용.  웹 프로그래밍 언어 (Web Programming Languages) 란 인터넷에 웹 서비스를 제공하거 나 제공받기 위하여 사용하는.
ChartSNS Final BlackHole 한규학 이경찬 최규연 김보경 전승현. 왜이런 거죠 ? 리비아 사 태로 차질 이 생겼어 요. 그러므로 이러한 압축 된 차트를 가지고 토론 을 하기 위 해선 / 명확한 의견 을 표현하는 것이 필요합 니다. 그러므로 이러한 압축.
제 4 장 인터넷 창병모 네트워크 구성 2 LAN(Local Area Network) LAN  근거리 통신망으로 집, 사무실, 학교 등의 건물과 같이  가까운 지역을 한데 묶는 컴퓨터 네트워크 이더넷 (Ethernet)  제록스 PARC.
경상대학교 TOEIC 접수 매뉴얼 경상대학교 접수페이지 페이지 설명
전자상거래 원론: 제18장 전자상거래 수행전략 및 구현.
제 09 장 인터넷과 월드와이드웹 한국대학교 홍길동 교수.
박용수 XML 박용수
웹 페이지.
HTML5 웹 프로그래밍 입문 (개정판) 1장. 인터넷과 웹환경의 발전.
PHP programming 2000년 11월 13일 데이터베이스 연구실 김호숙.
DataWindow .NET 프로넷 소프트㈜.
XML 응용 프로그래밍 3장 XML 문서 제작 기본
교육매체 컴퓨터 멀티미디어 인터넷활용교육 물리교육전공 홍승찬.
2018-1학기 대전·충남권역 이러닝 학점교류 학사일정
실전 웹 표준 가이드 요약 XHTML & CSS.
웹 해킹 기초와 실습.
10장. 웹 서비스 공격 (Attacking Web Service)
컴퓨터 소프트웨어.
1. JSP(Java Server Pages) 소개
Overview : XML과 Database
Web Programming Part2. & XML
Information Technology
Toad for SQL Server 제품 소개서 – 프로넷소프트㈜.
1 PROJECT TITLE 기획 PAGE NO. 웹 페이지 구성 화 면 번호 화 면 설 명 연 결 화 면 L1 L4 L7
1장. JSP 및 Servlet을 활용한 동적 웹 프로그래밍 소개 제1장.
안드로이드 기반에서 MapServer를 이용한 지도 서비스
DB표준화 작업의 현황과 과제 Presentation
1. 시멘틱웹(Semantic Web) Preview 항목 상세내역 개요 기출여부 관련KeyWord 추천사이트
ㅎㅎ MS-SQL서버 2000과 XML MS-SQL 서버 2000과 XML 활용 HTTP를 이용한 XML 데이터 접근
XML DOM (Document Object Model)
제 7 장 원격교육의 개발 기술 7주 2강.
웹서버와 설치에 필요한 것 WWW ( world wide web ) TCP/IP 프로토콜을 이용하는 클라이언트/서버 환경
XML XSLT.
X M L 컴퓨터공학과 윤 홍 국.
웹 애플리케이션 개발 프레임워크와 스트러츠 웹 애플리케이션 기술 변천사를 이해한다
Booksinprint.com (BIP 2.0) 한글 매뉴얼
XML.NET XML 검색, 수정 프로그램 작성 2010 컴퓨터공학실험(Ⅰ)
B2B 전자도서관 B2B 전자도서관 웹서비스 사용자 매뉴얼.
1강_web과 html Web이란? HTML이란? CSS란? Lecturer Kim Myoung-Ho Nickname 블스
학생 매뉴얼 5) 학생회원 매뉴얼 Communication with world wide web~ DAON 학생 로그인
Cafe24 쇼핑몰 구축방법 전략연구소 교육팀 권계영 대리.
The Semantic Web 학 번 발 표 자 이 한 국.
KRISTAL 2006 워크숍 KRISTAL 개발 업체 발표
II. XML과 Database 연동 [Beginning XML, 제13장]
인터넷응용프로그래밍 JavaScript(array).
‘그린나래호텔’은 대한민국 공군에서 해운대 해수욕장변에 건축한 군의 복지향상을 위해 지은 군휴양소 건물입니다.
2002년 3월 한국후지쯔 주식회사 (소네트) 임철순 과장
Web RSS 서비스 구축 조이름 : A 도상훈 김진범 정도영 공정호.
(사)한국경영기술지도사회 교육지원팀 (Tel ,2599)
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
Booksinprint.com (BIP 2.0) 한글 매뉴얼
- RSS Reader 페이지 작성 컴퓨터공학실험( I )
LINQ to XML 정보통신 공학부 어현승.
XML-II (eXtensible Markup Language) DTD/DOM
Internet Computing KUT Youn-Hee Han
12장 하이퍼텍스트와 하이퍼미디어 12.1 간략한 역사 12.2 하이퍼텍스트의 특징 12.3 브라우징과 탐색
B2B 전자도서관 B2B 전자도서관 웹서비스 사용자 매뉴얼.
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
매입 세금계산서(역발행) 관한 설명 및 주의사항
JSP와의 첫 만남 간간한 JSP 프로그램을 작성하면서 앞으로 학습에 필요한 과정을 익힌다.
(사)한국경영기술지도사회 교육기획팀 (Tel , 2599)
Web & Internet [02] HTML5 기본구조와 작성법
05 ASP.NET 2.0 페이지 및 응용 프로그램 구조 웹 폼(Web Form) 웹 폼 이벤트
5주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
Subscription and Channels
웹 스크래핑.
학부모 매뉴얼 4) 학부모매뉴얼 Communication with world wide web~ DAON 학부모 로그인
DOM (Document Object Model)
Presentation transcript:

2011년 봄학기 정보컴퓨터공학부 컴퓨터 소프트웨어 설계 및 실험 XML 및 XML Reader 2011년 봄학기 정보컴퓨터공학부 컴퓨터 소프트웨어 설계 및 실험

목차 용어 정리 XML DOM 실습

용어정리

용어 정리 브라우저 World Wide Web(www)에서 모든 정보를 볼 수 있도록 해 주는 응용 프로그램. Internet explorer와 chrome, firefox등.

용어 정리 Markup Language Markup 정보를 표현하는 언어 . 주어진 형식에 따라 작성한 후, 이를 인식할 수 있는 reader 프로그램을 이용 하여 이를 표현. 종류는 SGML, HTML, XML, XHTML 등이 있음. Markup 정보 : 문서의 논리적 구성이나 체제와 같은 문서의 포맷을 지정. 문서 내용의 찾아보기 또는 찾아보기 작업(indexing) 방법을 지정. 문서 내용 중의 요소와 같은 문서 또는 다른 문서 중의 다른 요소와의 연결을 지정. HTML은 SGML에서 태그 집합을 정의해서 새로운 언어를 만드는 원리 이용. XML은 SGML에서 새로운 태그를 정의하는 장점을 이용하고 덧붙여 상대적으로 간단한 문법을 이용하여 언어를 개발. SGML Markup Language XML HTML

XML

XML 이란? EXtensible Markup Language. 구조화된 데이터 형식을 제공하는 메타 표시 언어

XML 개발 배경 HTML은 데이터를 브라우저에 표현하는 방법을 지정하는 태그의 집합.

XML 개발 배경 태그를 자유롭게 정의할 수 있게 되면, 태그와 속성 이름을 데 이터를 설명하는 의미 있는 이름으로 지을 수 있음. 순수한 데이터를 표현 정보로부터 분리해 내는 것이 XML 개 발된 핵심 이유.

XML 설계 목표 XML은 인터넷 상에서 바로 사용될 수 있도록 한다. XML은 다양한 응용들을 지원할 수 있도록 한다. XML은 SGML과 호환성이 있어야 한다. XML 문서들을 처리하는 프로그램의 작성이 쉽도록 한다. XML에서의 선택적 특성을 최소화 한다. XML 문서들은 사람이 이해하기 쉽고 명확해야 한다. XML 설계는 신속히 준비되어야 한다. XML의 설계는 간결하고 형식을 갖추도록 한다. XML 문서는 생성하기 쉽도록 한다. XML Markup의 간결함은 중요하게 다루지 않는다. XML 작업그룹이 제시. XML1.0 규격은 XML 문서를 작성하는 기본 문법이라고 할 수 있음.

XML 문서의 구조

XML 특징 내용을 구체적으로 선언할 수 있음. 여러 플랫폼 간에 더 의미 있는 검색 결과를 가져올 수 있 음. 웹 기반의 데이터 보기 및 처리 응용 프로그램에 적용 가 능.

XML 장점 -> 따라서 웹 서버의 부하를 줄일 수 있고, 네트워크 트래픽을 감소시키고, HTML : 디자인을 위해 추가된 이미지나 클라이언트 측 코드 등은 변하지 않는다 해도 웹 서버에서는 이 모두를 데이터와 혼합하여 다 시 만들어 보내야 함. XML : 클라이언트는 변경된 데이터만 전달받고, 앞서 다운로드 받은 스타일 시트를 계속 사용할 수 있음. -> 따라서 웹 서버의 부하를 줄일 수 있고, 네트워크 트래픽을 감소시키고, 전체적인 웹 애플리케이션의 성능이 향상됨.

XML 사용 이유 Web server와 Web page 내용을 양방향으로 전달하고 사용할 수 있음. DataBase와의 연동이 가능. Web page의 특정 내용에 대한 search가 가능. -> 지능형 검색, 데이터 교환 등 인터넷에서 사용자가 요 구하는 사항을 수행할 수 있음.

XSL XML 문서의 스타일시트를 만드는 기술. XML 문서는 데이터만 가지고 있음. -> 시각적으로 표시 하거나 다른 종류의 문서로 변화하기 위해 포맷팅 처리 가 필요. -> 이를 위해 XSL을 개발하여 사용. XSL에서는 XML 문서 내부에서 데이터의 위치를 지정하 는데 XPath라는 기술을 사용한다.

XPath XPath는 XML 문서의 part를 정의하기 위한 syntax. XPath는 XML 문서 내부를 검색하기 위한 path expression을 사용. XPath Expression Path Expression0 Description / Root node로부터 선택 @ Attribute 선택 /order/date Order의 자식 중 date 선택 /order[@num =‘312597’] num 속성 값이 312597 인 order 선택 …

DOM 이란? Document Object Model. XML을 기반으로 만들어진 표준. DOM을 이용해서 XML 문서의 내용을 읽고, 변경하며, 새 XML문서를 만드는 애플리케이션을 작성할 수 있음. XML문서를 처리하는 많은 방법들이 존재하지만 거의 이 (DOM parsing)방법을 이용하여 parsing. 인터페이스 : 서로 다른 두 시스템, 장치, 소프트웨어 등을 서로 이어주는 부분. 또는 그런 접속 장치.

DOM 동작 구조 애플리케이션은 DOM 파서를 통해 XML문서에 접근. DOM 파서는 애플리케이션의 요청을 받아 XML 문서의 전체 내용을 읽음 -> 메모리 상에 트리 구조를 만듦 -> 애플리케 이션은 메모리 상에 만들어진 XML 문서 트리를 통해 XML 문 서의 내용에 접근. XML 파서 XML 문서 애플리케이션 DOM 파서가 실제 사용되는 방식

DOM 동작 구조 Document Node NodeList Element Node (MEMBER) NamedNodemap Attr Node Text Node (“홍길동”)

DOM을 이용한 XML Parsing

DOM과 Xpath 비교 (1) DOM XPath 공통점 XML문서를 다룸 정의 Object Model Language for addressing parts of an XML document 내용 XML문서의 구조를 tree형태로 메모리에 상주시킴 XML문서의 어떠한 부분에 접근하기 위한 경로를 지정해주는 것 기능 XML 수정 탐색 사용 -문서의 구조를 모를 때 -문서의 크기가 작을 때 -문서의 구조를 잘 알고 있을 때 -문서의 크기 상관없음 탐색방법 캐쉬되지 않은 정방향 (XmlReader) 임의 access가 필요한 경우 (정해진 표현 식 : (@, /, // etc..) 인터페이스 : 서로 다른 두 시스템, 장치, 소프트웨어 등을 서로 이어주는 부분. 또는 그런 접속 장치.

DOM과 Xpath 비교(2) 예)item.xml에서 DOM 탐색 vs. XPath탐색 <root>  <title attr1="test1">   <item attr="test">item1</item>   <item>item2</item>   <item>item3</item>  </title>  <title2>test</title2> </root> 인터페이스 : 서로 다른 두 시스템, 장치, 소프트웨어 등을 서로 이어주는 부분. 또는 그런 접속 장치.

title 하위태그로 있는 item 태그들을 배열로 받기 DOM과 Xpath 비교(3) DOM XPath Title의 test1의 데이터 가져오기 Obj.getElementsByTagName("title")[0].getAttribute(“test1“) xmlObj.selectSingleNode("root/title“) xmlObj.selectSingleNode("//title") xmlObj.selectNodes("/root/title/item[@attr1=‘test1']") title 하위태그로 있는 item 태그들을 배열로 받기 mlObj.getElementsByTagName("title")[0].childNodes xmlObj.selectNodes("/root/title/item[='item2']“) 인터페이스 : 서로 다른 두 시스템, 장치, 소프트웨어 등을 서로 이어주는 부분. 또는 그런 접속 장치.

실습

PHP - DOM 관련 Class DOM에 관련된 API를 제공하는 PHP의 클래스 Reference : http://www.php.net/manual/en/book.dom.php $domObj = new DOMDocument(); $domObj->load("yeje.xml");

DOM 관련 주요 Class DOMDocument DOMNode DOMNodeList DOMText XML(또는 HTML)문서 전체를 표현하고 제어한다. 주요 기능으로는 문서 로드 및 저장이 있다. 주요 메소드 및 속성 documentElement : root 노드 load( filename ) : 파일로 부터 XML문서를 가져온다. DOMNode DOM트리의 노드 하나를 의미한다. 노드에 관련된 여러가지 속성과 메소드를 가지고 있다. firstChild : 첫 번째 자식 노드 nextSibling : 다음 형제 노드 nodeName : 현재 노드의 이름 nodeValue : 현재 노드의 값 attributes : 현재 노드의 모든 속성의 집합 DOMNodeList DOMNode의 모음이다. Item( index ) : 해당 index의 노드를 가져온다. DOMText 텍스트만으로 이루어진 노드 하나를 의미한다. 주의할 점은 DOMText는 nodeValue 대신 data를 사용한다.

예제-간단한 XML문서 파싱하기. 제시한 XML문서를 DOM을 이용하여 파싱한다. PHP를 사용한다. 출력 창에는 attribute 값과 text값을 출력한다.

예제 –Source Code < text.xml > < 실행 결과 > <? $domObj = new DOMDocument(); // 객체를 생성한다. $domObj->load("text.xml"); //XML 문서 리딩 $root = $domObj->documentElement; // Root Element를 가져온다 echo "<".$root->nodeName."><br>"; //< = "<" 를 표현 > = ">" 를 표현 $book = $root->firstChild->nextSibling; echo '<'.$book->nodeName; // 노드명 출력 echo ' '.$book->attributes->item(0)->nodeName.'="'; // 속성명('code') 출력 echo $book->attributes->item(0)->nodeValue.'"'; // 속성값 출력 echo '><br>'; $author = $book->firstChild->nextSibling; echo '<'.$author->nodeName.'>'; echo ": ".$author->firstChild->nodeValue."<br>"; // 노드값 출력 $title = $author->nextSibling->nextSibling; echo '<'.$title->nodeName.'>'; echo ": ".$title->firstChild->nodeValue."<br>"; $publisher = $title->nextSibling->nextSibling; echo '<'.$publisher->nodeName.'>'; echo ": ".$publisher->firstChild->nodeValue."<br>"; ?> < text.xml > < 실행 결과 >

실습-좀더 복잡한 XML문서 파싱하기. 주어진 XML문서를 DOM을 이용하여 파싱한다. PHP를 사용한다. http://borame.cs.pusan.ac.kr/ai_home/lecture/java2011/books.xml PHP를 사용한다. 출력 창에는 attribute 값과 text값을 출력한다. 예제와는 달리 depth가 내려가면 들여쓰기를 한다. “&nbsp &nbsp “를 사용 보고싶은 Tree의 최대 depth를 설정할 수 있고 그에 따 라 출력도 바뀌어야 한다.

실습 – XMLTraversal 함수 구현 XMLTraversal 함수를 완성 하여 이 php파일이 잘 작동 하게 하는 것이 최종목표

실습 – 결과 화면