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의 특징이자 장점이 무엇인고 하니...
본론보다 서론이 더 긴 이상한 글이 되어 버렸네요.
비가 와서 글쓰기에 집중하지 못한 때문인가 봅니다.
이상, 오랜만에 단비가 내리는 날,
동주 아빠 손병목이었습니다.

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의 특징이자 장점이 무엇인고 하니...
- HTML과 데이터를 분리하여 저장 관리하기 위해 주로 사용합니다.
HTML 페이지를 보면 데이터가 HTML 문서 내부에 있습니다. 그러나 XML에서는 이 데이터를 별도의 XML 파일에 저장할 수 있습니다. 이렇게 하면 HTML은 데이터를 표시하고 꾸미는 것에 집중할 수 있겠죠. 결국 웹 풰이지에서 기본이 되는 데이터가 바뀌더라도 HTML은 전혀 수정할 필요가 없어지게 되는 것입니다.
- XML은 HTML 문서 내부에 데이터를 저장할 수도 있습니다.
그러면서도 데이터와 HTML을 분리하여 저장할 수 있습니다. 여전히 HTML은 데이터를 표시하는 것에 집중할 수 있겠죠.
- 이번 시간 시작할 때부터 말씀드린 것 처럼 XML은 정보 교환을 위한 매우 편리한 방식이 될 것입니다.
대부분의 시스템이나 데이터베이스는 서로 호환되지 않는 데이터 포맷을 포함하고 있어 개발자들은 인터넷 상에서 서로 호환되지 않는 데이터를 주고 받기 위해 많은 시간을 낭비해야만 했습니다. 이럴 때 만약 교환할 데이터를 XML로 바꿔준다면 많은 시간을 절약할 수 있고 서로 다른 애플리케이션 사이에서도 데이터 교환이 가능해질 것입니다.
본론보다 서론이 더 긴 이상한 글이 되어 버렸네요.
비가 와서 글쓰기에 집중하지 못한 때문인가 봅니다.
이상, 오랜만에 단비가 내리는 날,
동주 아빠 손병목이었습니다.
