XML 이란? XML의 개요


1. XML의 출현배경


 

특징 

설명 

 SGML

(1986)

서술적 마크업

전자출판용

복잡한 규칙(500 page스펙)

전문가 필요 

- SGML 문서를 분석하기 위한 파서(문서의 문법적 해석을 위한 도구) 개발의 어려움

- 이에 따른 응용 프로그램 개발의 어려움

- 공공기관 문서관리, 출판 업체에 한정되어 사용

- 사용의 어려움으로 대중화되지 못함 

 HTML

(1991)

순차적 마크업

한정된 Tag

대중화에 성공

인터넷의 핵심 기술 

- 한정된 Tag로 구조적 정보 표현 불가

- 교환 포맷으로 부적합(문서의 내용과 표현이 섞임)

- 문서 수정의 어려움

- 비효율적인 정보 검색 

 XML
(1998)

26page의 비교적 간단한 스펙

추가된 Tag로 인하여

용량의 증가 

- 구조적 정보의 표현
- 교환 포맷으로 적합
- 쉬운 사용법

- 효율적인 정보 검색 


XML이 탄생하게 된 배경



2. XML의 정의


- eXtensible Markup Language의 약자로 확장성 있는 마크업 언어


- W3C가 인간과 응용프로그램간, 혹은 응용프로그램 간에 정보를 쉽게 교환하기 위해 만든 데이터 교환 포맷


- eXtensible : 데이터를 설명하는 태그(Tag)를 사용자 마음대로 정의할 수 있음, 다른 마크업 언어 생성 가능



3. XML 언어의 특징


표준성 : W3C에서 표준화를 주도하며, SGML과 HTML의 한계를 극복하기 위하여 만든 표준 인터넷 언어


분리성 : 표현과 내용이 완전히 분리, XML 문서는 데이터의 구조와 내용을 기술하고 있으며, 스타일 시트를 이용하여 다양한 방식으로 데이터 표현


단순성, 호환성 : XML 문서는 텍스트로 되어 있기 때문에 하드웨어나 소프트웨어에 의존하지 않고 읽어 들일 수 있다는 장점을 가지고 있으며, 이러한 특징은 다양한 시스템간에 상호 작용을 중계하는데 XML을 이용될 수 있게 한다.


수용성 : HTML과 같이 현재 인터넷에서 가장 많이 사용되는 HTTP 프로토콜을 이용하여 전달


확장성 : XML은 확장성 있는 태그를 사용하고 있음으로써, 어떤 분야의 데이터도 정확하게 기술


정보검색의 정확성 : XML 문서의 경우 의미가 있는 태그를 사용함으로써 원하는 데이터를 쉽게 찾음




4. XML 언어의 장점


- 텍스트로 이루어져 있기 때문에 어떤 시스템이든지 간에 읽어 들임


- 문서 자체가 정보와 구조를 포함하고 있기 때문에 사람이 읽어도 그 안의 데이터의 의미를 쉽게 이해


- HTML처럼 쉬우면서도, SGML의 강력한 기능을 가짐. 즉, 사용하기 쉬우면서 강력하게 데이터를 정의하고 데이터를 표현


- 확장성 있는 마크업 언어로 데이터를 정의하는 태그를 마음대로 정의


- 새로운 마크업 언어를 만듦



5. XML의 응용분야


* XML Web Service 


XML의 응용 분야는 무궁무진하고 데이터 교환이 필요한 모든 분야에 활용될 수 있다. 주된 응용 분야로 XML은 원격 프로시저 호출(Remote Procedure Calls)에도 사용 가능하다. RPC는 하나의 컴퓨터에 있는 객체가 분산 컴퓨팅 작업을 하기 위해서 다른 시스템에 있는 객체 호출을 허용하는 프로토콜로 RPC 호출에는 XML과 HTTP가 이용된다.


* XML 응용 예시 > A 여행사가 날씨정보를 보여주기 위해 현재의 사이트를 수정하고자 한다.


- 기상청이 데이터 교환 포맷인 XML로 데이터를 공개한다. 실제 웹 서비스의 내용을 XML 기반 언어인 WSDL로 작성하고 문서 교환시 SOAP 프로토콜을 사용하며 이런 서비스를 제공한다는 것을 UDDI에 등록한다. 이를 XML 웹 서비스라고 한다.


이렇게 제공해주는 Open API들을 잘 활용하면, 유용한 정보를 얻을 수 있다.


--





'knowledge' 카테고리의 다른 글

http / https  (0) 2014.04.08
COOKIE , Session  (0) 2014.04.08
LocalStorage (Web Storage)  (0) 2014.04.08
AJAX  (0) 2014.04.08
JSON  (0) 2014.04.08

+ Recent posts