마크업 언어(Markup Language)는 전자상거래(EC) 등의 환경에서 전자문서가 수행, 처리되는 과정을 일일이 기술해주거나 문서의 논리와 속성을 포괄적으로 정의하기 위한 프로그램 언어이다. 그 역할과 기능은 프린터가 일반문서를 출력하기 앞서 포매터(Formatter)라는 명령을 통해 서체 크기나 배치와 같은 인쇄정보를 지정해주는 것과 유사하다.
마크업 언어 가운데 특히 문서의 논리와 속성을 포괄적으로 정의하는 언어를 범용 마크업 언어라고 한다.
범용 마크업 표준언어의 대표적인 것이 SGML(Standard Generalized Markup Language)이다. SGML은 문서의 논리적 관점에서 정보교환에 접근하기 위한 표준규격으로서 음성, 텍스트, 비디오, 컴퓨터데이터, 스프레드시트, 수학공식 등 여러가지 유형의 데이터들이 복합적으로 포함된 문서를 처리하고 한 문서 내에서 논리구조와 내용구조를 기술하고 있다.
SGML은 각 문서 내의 데이터를 정의하며 포매팅이나 배치에 대한 정보는 정의하지 않고 있어 플랫폼에 구애받지 않고 문서를 교환할 수 있다. 일반적으로 문서정보는 일반 텍스트 및 표, 그림, 사진, 그래픽처럼 데이터를 담고 있는 순수한 의미의 문서와 문서구조에 대한 정보로 구성된다. 문서정보는 문서를 이루고 있는 다양한 요소들의 외형으로 표현되는데, 외형만으로는 문서의 정확한 구조적 정보를 전달하지 못한다. 이 때문에 문서정보의 상호교환과 공유에 여러가지 어려움이 발생하게 되며 이를 해결하기 위한 방법으로 문서정보를 장, 절, 단락 등 계층적인 구조관계를 갖는 객체들로 표현하려는 시도가 일고 있다.
SGML은 문서정보의 논리적 구조를 표현하는 마크업의 일관성을 강조하며 개념적인 문서의 논리구조만으로도 복잡한 문서를 작성할 수 있어 EC나 광속거래(CALS)의 전자문서 표준으로 인정받고 있다. SGML이 EC, CALS의 문서표준으로 선정된 가장 큰 이유는 이 규격이 각종 문서형태의 정보에 대한 일정한 형식을 요구하는 표준으로 전자문서의 흐름을 자유롭게 해준다는 데 있다. 예를 들어 A라는 워드프로세서에서 작성된 문서는 B 워드프로세서에 불러들일 수 없으나 SGML규격을 따르면 문서를 하나의 논리구조로 구조화시켜 서로 호환성을 갖게 된다는 것이다.
전자문서 표준으로 SGML이 받아들여진 또 다른 이유는 데이터를 공동으로 재활용할 수 있다는 점이다. SGML문서는 누가 만들더라도 같은 기준과 양식에 의해 만들어야 하므로 이렇게 만들어진 문서는 간단한 절차만으로 데이터베이스에 입력해 각 분야별로 정리한 뒤 이를 합치기만 하면 되며 일단 문서를 작성한 뒤 변경사항이 생기더라도 간단히 수정할 수 있다.
SGML의 표준화는 60년대 말 그래픽통신협회(GCA)에서 연구를 진행해 젠코드(GenCode)를 개발한 것이 처음이다. 69년에는 일반마크업언어(GML) 개발이 이루어져 문서형 정의개념이 도입됐다. 이어 78년에는 미국 규격협회(ANSI)에서 문서 기술언어의 표준화 활동을 시작해 80년에 최초의 SGML 규격원안이 나왔으며 84년에는 국제표준화기구(ISO)에 의한 표준화 활동이 시작돼 86년 정식 규격으로 채택해 SGML 자체 문서표준인 「ISO 8879:SGML」, 포맷시 문서를 기술하는 페이지기술언어 표준인 「ISO 10180:SPDL」, 문서 포맷지정 표준인 「ISO 10179:DSSSL」 등이 있다.
국내에서도 SGML의 중요성을 인식하고 적극적으로 이의 표준화를 추진하고 있다. 이와 관련, 중소기업청이 「KS C 5913:문서기술언어 SGML」과 「KS C 5914:SGML」을 한국산업표준(KS) 문서양식으로 규정한 바 있다. 중소기업청은 또 앞으로는 SGML 문서편집방법, 전자출판환경의 SGML언어, 하이퍼미디어를 교환하기 위한 하이타임(HyTime) 언어 등에 대한 표준을 제정할 예정이다.
<함종렬 기자>