ITmembers.net 아카이브 · 2001–2009

XML 기초

XML? 어디에 쓰는 물건인고?

지금 내가 몸담고 있는 회사는 각종 교육 정보와 컨텐츠를 제공하고 있습니다. 그 중에서 학습을 위한 문제은행이라는 것이 있는데, 이것이 XML 기반으로 만들어져 있습니다. 장기적으로 봤을 때 탁월한 선택이라고 할 수 있습니다. 왜?
XML은 앞으로 데이터 교환을 위한 '표준 문서'로 자리잡을 것이기 때문입니다.

왜 '표준 문서'에 제가 방점을 찍었을까요?
표준 문서는 바로 One Source Multi Use를 가능하게 해주기 때문입니다. 하나의 컨텐츠를 여러 형태로 가공하여 다르게 제공할 수 있다는 뜻입니다.
텍스트와 수많은 태그가 온통 뒤범벅이 된 HTML 문서는 오랜 기간 웹의 표준 문서로 남기는 힘들 것입니다.

XML의 역사나 XML의 특징을 설명하려면 HTML과 SGML이란 걸 빼고 설명하기는 힘듭니다.
사실 HTML이나 XML이나 모두 SGML에 그 뿌리를 두고 있습니다.
SGML(Standard Generalized Markup Language)은 문서의 내용이나 구조를 정의하기 위하여 마크업(markup)을 이용하는 문서 기술 언어로서 1986년 국제 표준 기구(ISO : International Standardization Organization)에서 국제 표준(ISO 8879:1986)으로 제정되었습니다.
여기서 마크업이라는 것은 우리가 흔히 태그(tag)라고 부르는 것을 말합니다. 아니, 정확하게 말씀드리자면 파일의 내용을 화면이나 프린터로 출력할 때 어떻게 표시되어야 할지를 나타내기 위해 텍스트 중간에 삽입하는 어떤 문자나 기호를 말합니다.
예를 들어 <b>안녕</b>이라고 하면 안녕이라는 문자가 굵게 표시됩니다. 이때 <b> </b>가 마크업이 되는 것이죠. 이를 HTML에서는 HTML 태그라고 부릅니다.
SGML은 문서의 내용이나 구조를 정의하기 위해 어떻게 마크업을 정의할 것인가를 규정한 표준안입니다. SGML 그 자체가 언어가 아니라, 다만 어떻게 해야한다는 것을 알려주는 설명서일 뿐입니다.
그런데 이 SGML은 지나치게 복잡하다는 것이 치명적인 단점입니다.
반면 HTML은 애초부터 문서의 '표현'에 그 목적이 있어서 문서의 내용이나 구조를 '정의'하는 것이 불가능합니다.(지난 시간에 HTML은 '표현'에 목적이 있다고 말씀드렸습니다.)

XML은 지나치게 복잡한 SGML과 근본적으로 문서의 표현에만 관심이 있는 HTML의 중간 성격의 언어입니다. 즉 SGML보다 쉬우면서도 문서의 구조를 정의하여 DB화할 수 있는 반면, XSL이라는 것을 사용하여 다양하게 표현할 수도 있습니다.

서론이 길어지면 본론으로 들어가기도 전에 지쳐버립니다.
각설하고...

본론으로 들어가서 XML의 특징이자 장점이 무엇인고 하니...
  1. HTML과 데이터를 분리하여 저장 관리하기 위해 주로 사용합니다.
    HTML 페이지를 보면 데이터가 HTML 문서 내부에 있습니다. 그러나 XML에서는 이 데이터를 별도의 XML 파일에 저장할 수 있습니다. 이렇게 하면 HTML은 데이터를 표시하고 꾸미는 것에 집중할 수 있겠죠. 결국 웹 풰이지에서 기본이 되는 데이터가 바뀌더라도 HTML은 전혀 수정할 필요가 없어지게 되는 것입니다.

  2. XML은 HTML 문서 내부에 데이터를 저장할 수도 있습니다.
    그러면서도 데이터와 HTML을 분리하여 저장할 수 있습니다. 여전히 HTML은 데이터를 표시하는 것에 집중할 수 있겠죠.

  3. 이번 시간 시작할 때부터 말씀드린 것 처럼 XML은 정보 교환을 위한 매우 편리한 방식이 될 것입니다.
    대부분의 시스템이나 데이터베이스는 서로 호환되지 않는 데이터 포맷을 포함하고 있어 개발자들은 인터넷 상에서 서로 호환되지 않는 데이터를 주고 받기 위해 많은 시간을 낭비해야만 했습니다. 이럴 때 만약 교환할 데이터를 XML로 바꿔준다면 많은 시간을 절약할 수 있고 서로 다른 애플리케이션 사이에서도 데이터 교환이 가능해질 것입니다.


본론보다 서론이 더 긴 이상한 글이 되어 버렸네요.
비가 와서 글쓰기에 집중하지 못한 때문인가 봅니다.

이상, 오랜만에 단비가 내리는 날,
동주 아빠 손병목이었습니다.