PowerPoint 프레젠테이션

Download Report

Transcript PowerPoint 프레젠테이션

XML
프로그래밍
Introducing XML
Index
 Extensible의 의미
 HTML vs. XML
 Markup Language
 SGML에서 XML까지
 XML의 장점
2
What is XML?
XML 개요
XML(eXtensible Markup Language)
웹상에서 구조화된 문서를 전송하도록 설계된 마크업 언어
HTML 한계와 SGML의 복잡함을 해결하기 위한 방안으로 제시
1996년 W3C(World Wide Wed Consortium)에서 제안
1998년 2월 W3C에 의해 XML1.0에 대한 표준규약 제정
“XML은 SGML의 80%의 장점과 20%의 복잡성을 가지고 있다”
3
Extensible의 의미
XML 개요
XML(eXtensible Markup Language)
확장이 가능한 마크업 언어
Extensible ???
4
Markup Language
XML 개요
마크업(Markup)이란 본문, 즉 원래의 내용에 뭔가 특별한, 또는 추가적
인 정보를 표시하는 모든 것을 말한다.
마크업을 다른 사람에게 전달하려면 구성요소와 의미정보를 규정해야 한
다.
마크업 언어란 위와 같은 것들을 규정하는 규칙들의 집합이다
1) 양식적 마크업 (또는 유형적 마크업, Stylistic Markup)
문서가 시각적으로(또는 외형적으로) 나타나는 방법에 관련된 것이다.
2) 구조적 마크업 (Structual Markup)
문서의 구성방식을 표현한 것이다. 예) <P>, <DIV>
3) 의미적 마크업 (Semantic Markup)
데이터의 내용 자체에 관한 마크업이다. 예) <TITLE>
5
HTML vs. XML
XML 개요
HTML Example
<HTML>
<HEAD>
<meta http-equiv=“content-type”
content=“text/html;characterset=euc-kr”
<TITLE>catalog</TITLE>
<LINK href=“catalog.css” rel=“stylesheet”
type=“text/css”>
</HEAD>
<BODY>
<TABLE>
<TR>
<TD>product:</TD>
<TD>냉장고</TD>
</TR>
<TR>
<TD>price:</TD>
<TD>1,000,000</TD>
</TR>
</TABLE>
</BODY>
</HTML>
XML Example
<?xml version=“1.0” encoding=“EUC-KT”?>
<?xml:stylesheet type=“text/xsl” href=“cltalog.xsl”?>
<!DOCTYPE catalog SYSTEM “catalog.dtd”>
<catalog>
<product_info>
<product>냉장고</product>
<price>1,000,000</price>
</product_info>
</catalog>
“HTML: 보여주는 것에 초점, XML: 정보 자체에 중점”
6
기존문서
XML 개요
특징
종이에 기반
저자의 기본 스타일에 따라 생성
정보가 단일 표현을 위해 구성
기존 문서 처리
문서생성
Vender C
비구조화된
문서화일
Vender B
Vender A
구조편집기
DOC
7
사용
Vender C
데이터베이스
Vender B
종이
Vender A
CD-ROM
Markup Language
XML 개요
8
SGML 에서 XML 까지
XML 개요
SGML
HTML
XML
9
SGML 에서 XML 까지
XML 개요
10
XML의 장점
XML 개요
HTML로는 표현할 수 없었던 문서의 구조를 임의의 DTD를 선언하고
Tag를 정의하므로써 문서을 표현할 수 있다.
인터넷에서 곧바로 사용 가능하다.
SGML보다 구현이 쉽다.
내용과 Presentation이 분리되어 있다.
기계뿐만 아니라 사람도 이해할 수 있는 언어이다.
문서의 내용에 접근이 가능하다.
XML 태그들은 검색을 효율적으로 할 수 있게 해준다.
재활용이 가능하다.
회사간 전자 문서의 교환이 쉬워진다.
“이질적인 시스템이 존재하고 표준화가 요구되는 분야”
11
XML Structure
XML 개요
XML 문서
문서 구조
<?XML version=”1.0” encoding=”UTF-8”?>
선언부
<!DOCTYPE mydoc [
<!ELEMENT mydoc (header, body)>
<!ELEMENT header (#PCDATA)>
<!ELEMENT body (chapter*)>
<!ELEMENT chapter (#PCDATA)>
]>
<!DOCTYPE mydoc SYSTEM “doctype.dtd”>
<mydoc>
<header>
XML 의 소개 및 활용분야
</header>
<body>
<chapter>
1.
XML 의 개요
...
</chapter>
<chpater>
2.
XML 의 구성
...
</chapter>
</body>
</mydoc>
DTD
(내부참조)
(외부참조)
문서 내용
12
XML Structure Hierarchy
XML 개요
An XML document is hierarchical
It can be (and usually is) parsed into a tree of nodes
mydoc
root element
header
XML의 소개 및
활용분야
body
chapter
chapter
1. XML의 개요
…
2. XML의 구성
…
13
W3C
XML 개요
W3C(World Wide Web Consortium)
W3C는 1994년 WWW의 발전을 위해 구성된 전세계적 산업 컨소시움으로 HTML,
CSS, XML 등의 WWW에 관련된 표준화 작업과 WWW 개발자/사용자를 위한 정
보공유 및 신기술에 대한 다양한 프로토타입을 개발
W3C의 표준화 단계
Notes
- W3C에서 표준으로 검토되기 위해 여러 업체에서 제안하는 단계
Working Drafts
- W3C에서 표준을 검토중인 단계로 스펙자체가 계속 추가되거나 변경이 발
생
Proposed Recommendations
- W3C에서 표준으로 승인이 나기 전 검토중인 단계로 거의 표준화 되었다고
할 수 있다.
4. Recommendations
- W3C에서 표준으로 승인이 된 단계
14
XML 적용 방안
적용방안(1)
- 적용방안
문서교환 측면
분산된 이기종간의 데이터 교환
시스템과 벤더에 무관한 일관성 유지
정보의 호환성을 보장
B2B HUB,e-marketPlace간의 Integration지원(XSLT)
공통된 Schema 정의, 데이터 검증
기업간 전자상거래
16
적용방안(2)
- 적용방안
데이터 통합 / 어플리케이션 통합
이제까지 생성된 많은 정보가 H/W 수명보다 오래 지속되고 있는가?
: 조직의 플랫폼, 응용프로그램의 변경에 따라 재사용이 어려웠다.
새로운 시스템과 Legacy 시스템간의 연계가 자유로운가?
: 통합을 위하여 많은 시간과 값비싼 비용을 소비한다.
특정 벤더(H/W,S/W)에 종속적이지 않는 구조적 데이터
플랫폼이나 응용프로그램의 변동에 관계없이 재사용 가능
전자상거래, EDMS,KM,Legacy 시스템과의 연계가 필요한 시스템
17
적용방안(3)
- 적용방안
가독성(Readability)
컴퓨터와 사람이 이해하는 언어
세계화(Globalization) 추세를 배경으로 한 기업 경쟁력 향상
메타데이타에 의한 구조화된 데이터
표준화된 XML Schema 공유
실질적인 검색/비교 기능 지원
전자상거래(e-Catalog, 검색엔진)
<?XML Version=“1.0”?>
<!doctype 제품 system “goods.dtd”>
<상품>
<분류코드>HS13579</분류코드>
<품명>칩</품명>
<용도>컴퓨터메모리</용도>
<크기 단위=“mm”>0.3</크기>
<무게 단위=“g”>0.007</단위>
<제조>인텔</제조>
<가격 유통단계=“도매가”>55,000</가격>
</상품>
18
적용방안(4)
- 적용방안
데이터 공유 / 보존
정형,비정형 문서의 통합관리(구조적 Data관리)
시스템과 벤더에 독립적(W3C 표준안)
커뮤니케이션의 표준화가 용이(XML Schema)
Meta Tag에 의한 검색(Data of Data)
실질적인 검색/비교 기능 지원
문서의 위치를 지정해서 Viewing
EDMS, KM, 시스템 통합
많은 사람들이 XML에 열광하는 이유는 그것이 단지 새롭기 때문이 아니라
지난 것들을 새롭게 해 미래에 대비할 수 있게 해주기 때문이다.
19
적용방안(5)
- 적용방안
Data와 UI의 분리
데이터의 통합과 Presentation의 분리
XML / XSL / XSLT
e-Business, EDMS
XSL
XML
Schema
(DTD)
XQL,DOM
영업
XSLT
XSL
관리
XSL
생산
20
well-formed XML
Index
well-formed xml
 Document Definition
 Element
 Attribute
 CDATA (Character DATA)
 PI (Processing Instruction)
 Comment
22
Document Definition
well-formed xml
document ::= prolog element Misc*
XML 선언부(Declaration)
<?xml version="1.0" encoding="euc-kr" ?>
DTD 선언부
<!DOCTYPE text SYSTEM "text.dtd">
본문(Body)
Prolog
XML
Declaration
DocType
Declaration
<root>
한개 이상의 엘리먼트로 구성됨.
트리구조를 갖는다.
<root>내용</root>
BODY
</root>
Misc
PI(Processing Instruction), 여백, 주석문
XML 문서 = XML 선언부 + 문서 타입 선언부 + 본문
23
Element
well-formed xml
요소
각각의 XML 문서는 하나 또는 그 이상의 요소들을 담고 있다.
시작태그, 마침태그, 그사이의 내용(content) 으로 구성되어 진다.
시작태그 문법 : <태그이름 속성이름="값" 속성이름="값">
<A href="http://www.w3.org">
마침 태그 문법 : </태그 이름>
</A>
비어있는 요소 태그(empty elements)
<img src="a.jpg"/>
24
Element
well-formed xml
태그 naming 규칙
'문자', '_', ':' , '.' , '-'
XML 또는 xml 로 시작하는 이름은 사용할 수 없다.
'/'는 사용할 수 없다.
'문자', '_', ':' 로 시작할 수 있다.
숫자는 처음에 올 수 없다.
대소문자를 구분한다.
element는 적합하게 중첩될 수 있다.
25
Attribute
well-formed xml
엘리먼트가 특성을 포함할 때 속성이라 한다.
속성은 엘리먼트의 특성을 표현하기 위해서 쓰여지는 정보를 의미한다
Case-sensitive
Quote attribute values
DTD 안에 엘리먼트를 생성할 때, 속성과 속성값에 대해서도 정의해 주어
야 한다.
속성의 순서는 상관이 없다.
<table width="50" border="1" align="center">
26
Element vs. Attribute
well-formed xml
데이터 자체는 엘리먼트에 저장되어야 한다.
데이터에 관한 정보(메타데이터)는 속성에 저장되어야 한다.
확실한 판단이 서지 않을 때는, 엘리먼트에 정보를 저장하도록 한다.
엘리먼트는 나중의 변화를 생각할 때 더 확장성이 있다.
27
CDATA 섹션
well-formed xml
CDATA : Character Data
모든 텍스트는 문자 데이타가 된다.
CDATA 섹션은 모든 텍스트가 마크업이 아니라 문자 데이터로 해석되기 원
할 때 사용된다.
엘리먼트의 내용에만 나타날 수 있다.
CDATA섹션은 "<![CDATA[" 로 시작해서 "]]>" 로 끝난다.
CDATA 섹션 안에서는 ']]>' 문자만이 마크업으로 인식되며 왼쪽 꺾쇠
('<')나 앰퍼샌드('&')도 문서의 내용에 포함될 수 있다.
CDATA 섹션은 중첩할 수 없다.
<![CDATA[<greeting>Hello, world!</greeting>]]>
“CDATA 는 파싱되지 않는 문자 데이타이다.”
28
PI (Processing Instructions)
well-formed xml
처리 명령어
외부 어플리케이션을 사용하기 위한 명령어
즉, 특정 어플리케이션에 처리 지시를 내리기 위해 사용한다.
PI는 명령어가 전달되어야 할 어플리케이션을 인식하기 위해 사용되는
타겟(PITarget)으로 시작한다.
<?processor specific_instruction = "value of instruction"?>
29
Comment
well-formed xml
문법 : <!-- 문자열 -->
마크업 표식이외의 어느 곳에서도 나타날 수 있다.
주석을 사용할 때 따라야만 하는 규칙들
1.
2.
3.
4.
주석은 XML 선언 이전에는 올 수 없다. XML 선언은 문서의 최초에 있어야만
하기 때문이다.
주석은 태그 사이에 있을 수 없다.
주석은 태그를 둘러싸거나 숨길 수 있다.
두 개의 하이픈 문자열 (--)은 시작 태그나 마침 태그의 일부일 때를 제외하
고서는 주석 안에서 사용될 수 없다.
<!-- declarations for <head> & <body> -->
30
DTD
(Document Type Definition)
Well-Formed vs. Valid Document
Well-formed Document
하나 이상의 element가 존재
Unique한 root element가 존재
모든 시작 Tag는 반드시 하나의 끝 Tag를 가져야 한다
Tag들은 중첩되지 않아야 한다
Valid Document
반드시 DTD 또는 schema를 포함해야 한다
DTD에 정의된 구조를 따라 문서가 작성되어야 한다
32
XML Documents
프로그램 소개
DTD
memo.xml
<?xml version="1.0" encoding=“euc-kr"?>
<!DOCTYPE memo [
<!ELEMENT memo (body) >
<!ELEMENT body (p+) >
<!ELEMENT p (#PCDATA) >
]>
<memo>
<body>
<p> 컴퓨터 시스템 구축을 위한 회의가 내일 오후 2시부터
시작될 예정으로 있으니 꼭 참석하여 주시기 바랍니다. </p>
<p> 회의 참석 여부를 오늘 중으로 제게 알려 주시기 바랍니다. </p>
</body>
</memo>
33