1 / 34

XML 프로그래밍

XML 프로그래밍. Introducing XML. Index. Extensible 의 의미 HTML vs. XML Markup Language SGML 에서 XML 까지 XML 의 장점. What is XML?. XML 개요. XML(eXtensible Markup Language) 웹상에서 구조화된 문서를 전송하도록 설계된 마크업 언어 HTML 한계와 SGML 의 복잡함을 해결하기 위한 방안으로 제시

chloe-bush
Download Presentation

XML 프로그래밍

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML 프로그래밍

  2. Introducing XML

  3. Index • Extensible의 의미 • HTML vs. XML • Markup Language • SGML에서 XML까지 • XML의 장점

  4. 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%의 복잡성을 가지고 있다”

  5. Extensible의 의미 XML 개요 • XML(eXtensible Markup Language) • 확장이 가능한 마크업 언어 • Extensible ???

  6. Markup Language XML 개요 • 마크업(Markup)이란 본문, 즉 원래의 내용에 뭔가 특별한, 또는 추가적인 정보를 표시하는 모든 것을 말한다. • 마크업을 다른 사람에게 전달하려면 구성요소와 의미정보를 규정해야 한다. • 마크업 언어란 위와 같은 것들을 규정하는 규칙들의 집합이다 • 1) 양식적 마크업 (또는 유형적 마크업, Stylistic Markup) • 문서가 시각적으로(또는 외형적으로) 나타나는 방법에 관련된 것이다. • 2) 구조적 마크업 (Structual Markup) • 문서의 구성방식을 표현한 것이다. 예) <P>, <DIV> • 3) 의미적 마크업 (Semantic Markup) • 데이터의 내용 자체에 관한 마크업이다. 예) <TITLE>

  7. HTML vs. XML XML 개요 HTML Example XML 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 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: 정보 자체에 중점”

  8. DOC Vender C 사용 비구조화된 문서화일 문서생성 Vender B Vender C 데이터베이스 Vender A 구조편집기 Vender B 종이 Vender A CD-ROM 기존문서 XML 개요 • 특징 • 종이에 기반 • 저자의 기본 스타일에 따라 생성 • 정보가 단일 표현을 위해 구성 • 기존 문서 처리

  9. Markup Language XML 개요

  10. SGML 에서 XML 까지 XML 개요 SGML HTML XML

  11. SGML 에서 XML 까지 XML 개요

  12. XML의 장점 XML 개요 • HTML로는 표현할 수 없었던 문서의 구조를 임의의 DTD를 선언하고 Tag를 정의하므로써 문서을 표현할 수 있다. • 인터넷에서 곧바로 사용 가능하다. • SGML보다 구현이 쉽다. • 내용과 Presentation이 분리되어 있다. • 기계뿐만 아니라 사람도 이해할 수 있는 언어이다. • 문서의 내용에 접근이 가능하다. • XML 태그들은 검색을 효율적으로 할 수 있게 해준다. • 재활용이 가능하다. • 회사간 전자 문서의 교환이 쉬워진다. “이질적인 시스템이 존재하고 표준화가 요구되는 분야”

  13. XML Structure XML 개요

  14. XML Structure Hierarchy XML 개요 • An XML document is hierarchical • It can be (and usually is) parsed into a tree of nodes root element mydoc header body chapter chapter XML의 소개 및 활용분야 1. XML의 개요 … 2. XML의 구성 …

  15. 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에서 표준으로 승인이 된 단계

  16. XML 적용 방안

  17. 적용방안(1) - 적용방안 • 문서교환 측면 • 분산된 이기종간의 데이터 교환 • 시스템과 벤더에 무관한 일관성 유지 • 정보의 호환성을 보장 • B2B HUB,e-marketPlace간의 Integration지원(XSLT) • 공통된 Schema 정의, 데이터 검증 • 기업간 전자상거래

  18. 적용방안(2) - 적용방안 • 데이터 통합 / 어플리케이션 통합 • 특정 벤더(H/W,S/W)에 종속적이지 않는 구조적 데이터 • 플랫폼이나 응용프로그램의 변동에 관계없이 재사용 가능 • 전자상거래, EDMS,KM,Legacy 시스템과의 연계가 필요한 시스템 이제까지 생성된 많은 정보가 H/W 수명보다 오래 지속되고 있는가? : 조직의 플랫폼, 응용프로그램의 변경에 따라 재사용이 어려웠다. 새로운 시스템과 Legacy 시스템간의 연계가 자유로운가? : 통합을 위하여 많은 시간과 값비싼 비용을 소비한다.

  19. 적용방안(3) - 적용방안 • 가독성(Readability) • 컴퓨터와 사람이 이해하는 언어 • 세계화(Globalization) 추세를 배경으로 한 기업 경쟁력 향상 • 메타데이타에 의한 구조화된 데이터 • 표준화된 XML Schema 공유 • 실질적인 검색/비교 기능 지원 • 전자상거래(e-Catalog, 검색엔진) <?XML Version=“1.0”?> <!doctype 제품 system “goods.dtd”> <상품> <분류코드>HS13579</분류코드> <품명>칩</품명> <용도>컴퓨터메모리</용도> <크기 단위=“mm”>0.3</크기> <무게 단위=“g”>0.007</단위> <제조>인텔</제조> <가격 유통단계=“도매가”>55,000</가격> </상품>

  20. 적용방안(4) - 적용방안 • 데이터 공유 / 보존 • 정형,비정형 문서의 통합관리(구조적 Data관리) • 시스템과 벤더에 독립적(W3C 표준안) • 커뮤니케이션의 표준화가 용이(XML Schema) • Meta Tag에 의한 검색(Data of Data) • 실질적인 검색/비교 기능 지원 • 문서의 위치를 지정해서 Viewing • EDMS, KM, 시스템 통합 많은 사람들이 XML에 열광하는 이유는 그것이 단지 새롭기 때문이 아니라 지난 것들을 새롭게 해 미래에 대비할 수 있게 해주기 때문이다.

  21. 적용방안(5) - 적용방안 • Data와 UI의 분리 • 데이터의 통합과 Presentation의 분리 • XML / XSL / XSLT • e-Business, EDMS XSL 영업 XML XQL,DOM XSLT XSL 관리 생산 XSL Schema (DTD)

  22. well-formed XML

  23. Index well-formed xml • Document Definition • Element • Attribute • CDATA (Character DATA) • PI (Processing Instruction) • Comment

  24. Prolog XML Declaration DocType Declaration <root> BODY </root> 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) • 한개 이상의 엘리먼트로 구성됨. • 트리구조를 갖는다. • <root>내용</root> • Misc • PI(Processing Instruction), 여백, 주석문 XML 문서 = XML 선언부 + 문서 타입 선언부 + 본문

  25. Element well-formed xml • 요소 • 각각의 XML 문서는 하나 또는 그 이상의 요소들을 담고 있다. • 시작태그, 마침태그, 그사이의 내용(content) 으로 구성되어 진다. • 시작태그 문법: <태그이름 속성이름="값"속성이름="값"> • <A href="http://www.w3.org"> • 마침 태그 문법 : </태그 이름> • </A> • 비어있는 요소 태그(empty elements) • <img src="a.jpg"/>

  26. Element well-formed xml • 태그 naming 규칙 • '문자', '_', ':' , '.' , '-' • XML 또는 xml 로 시작하는 이름은 사용할 수 없다. • '/'는 사용할 수 없다. • '문자', '_', ':' 로 시작할 수 있다. • 숫자는 처음에 올 수 없다. • 대소문자를 구분한다. • element는 적합하게 중첩될 수 있다.

  27. Attribute well-formed xml • 엘리먼트가 특성을 포함할 때 속성이라 한다. • 속성은 엘리먼트의 특성을 표현하기 위해서 쓰여지는 정보를 의미한다 • Case-sensitive • Quote attribute values • DTD 안에 엘리먼트를 생성할 때, 속성과 속성값에 대해서도 정의해 주어야 한다. • 속성의 순서는 상관이 없다. • <table width="50" border="1" align="center">

  28. Element vs. Attribute well-formed xml • 데이터 자체는 엘리먼트에 저장되어야 한다. • 데이터에 관한 정보(메타데이터)는 속성에 저장되어야 한다. • 확실한 판단이 서지 않을 때는, 엘리먼트에 정보를 저장하도록 한다. • 엘리먼트는 나중의 변화를 생각할 때 더 확장성이 있다.

  29. CDATA 섹션 well-formed xml • CDATA : Character Data • 모든 텍스트는 문자 데이타가 된다. • CDATA 섹션은 모든 텍스트가 마크업이 아니라 문자 데이터로 해석되기 원할 때 사용된다. • 엘리먼트의 내용에만 나타날 수 있다. • CDATA섹션은 "<![CDATA["로 시작해서 "]]>"로 끝난다. • CDATA 섹션 안에서는 ']]>' 문자만이 마크업으로 인식되며 왼쪽 꺾쇠('<')나 앰퍼샌드('&')도 문서의 내용에 포함될 수 있다. • CDATA 섹션은 중첩할 수 없다. • <![CDATA[<greeting>Hello,world!</greeting>]]> “CDATA 는 파싱되지 않는 문자 데이타이다.”

  30. PI (Processing Instructions) well-formed xml • 처리 명령어 • 외부 어플리케이션을 사용하기 위한 명령어 • 즉, 특정 어플리케이션에 처리 지시를 내리기 위해 사용한다. • PI는 명령어가 전달되어야 할 어플리케이션을 인식하기 위해 사용되는 타겟(PITarget)으로 시작한다. • <?processor specific_instruction = "value of instruction"?>

  31. Comment well-formed xml • 문법 : <!-- 문자열--> • 마크업 표식이외의 어느 곳에서도 나타날 수 있다. • 주석을 사용할 때 따라야만 하는 규칙들 • 주석은 XML 선언 이전에는 올 수 없다. XML 선언은 문서의 최초에 있어야만 하기 때문이다. • 주석은 태그 사이에 있을 수 없다. • 주석은 태그를 둘러싸거나 숨길 수 있다. • 두 개의 하이픈 문자열 (--)은 시작 태그나 마침 태그의 일부일 때를 제외하고서는 주석 안에서 사용될 수 없다. • <!--declarationsfor<head>&<body>-->

  32. DTD (Document Type Definition)

  33. Well-Formed vs. Valid Document XML Documents • Well-formed Document • 하나 이상의 element가 존재 • Unique한 root element가 존재 • 모든 시작 Tag는 반드시 하나의 끝 Tag를 가져야 한다 • Tag들은 중첩되지 않아야 한다 • Valid Document • 반드시 DTD 또는 schema를 포함해야 한다 • DTD에 정의된 구조를 따라 문서가 작성되어야 한다

  34. 프로그램 소개 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>

More Related