1.1. SGML, XML

DocBook을 사용해 글을 쓰기 위해서는 일단 SGML(Standard Generalized Markup Language)과 XML(eXtensible Markup Language)에 관한 약간의 이해가 필요합니다. 혹시 HTML(Hypertext Markup Language)에 대하여 알고 있다면, SGML을 이해하기가 좀더 수월할 것입니다.

HTML은 태그(tag:꼬리표)란 것을 조판기호(markup)로 사용해 글과 그림의 모습을 묘사합니다. 웹 브라우저는 이 조판기호들의 의미를 파악해서 실제로 우리가 보게 되는 웹 페이지를 화면에 보여줍니다. 이런 HTML과 같은 것을 일컫어 마크업 언어(markup language)라고 합니다.

SGML은 마크업 언어가 어떻게 정의되어야 하는지를 규정하는 국제적인 표준입니다. 그리고 이런 SGML 표준에 따라 특정 마크업 언어를 직접 정의해 놓은 것을 DTD(Document Type Definition)라고 합니다. 즉, HTML은 SGML의 규정에 따라 정의된 하나의 DTD입니다. 그러므로 'HTML 문서'란 것을 엄밀하게 말한다면 'HTML DTD를 사용하는 SGML 문서'라고 할 수 있겠습니다.

XML은 HTML을 좀더 지능적으로 향상시키기 위해 개발되었으며, 이미 많은 웹 브라우저들이 XML을 지원하고 있습니다. 그러나 XML은 단순히 HTML을 개량한 것은 아닙니다. XML은 마크업 언어가 어떻게 정의되어야 하는지에 대한 좀더 새롭고 쉬운 표준입니다. 즉, 인터넷 환경에 알맞은 새로운 버전의 SGML이라고 할 수 있습니다.

참고: 이 부분의 내용은 DocBook: The Definitive Guide의 'HTML and SGML vs. XML' 부분을 요약, 정리한 것입니다.