2025년 11월 기준으로 SGML (Standard Generalized Markup Language)은 오늘날 우리가 사용하는 HTML, XML 등 웹의 핵심 기술들의 근본적인 기초를 다진 언어입니다. SGML 자체는 일반 사용자에게는 생소할 수 있지만, 이는 “정보 구조를 정의하는 표준” 그 자체였기 때문에 ‘언어의 언어’라고도 불립니다.
1️⃣ SGML이란 무엇인가요? (쉽게 이해하기)
SGML은 1986년에 국제 표준화 기구(ISO)에 의해 정립된 국제 표준 언어입니다. 그 목적은 문서의 논리적 구조와 내용을 표현하는 방법을 정의하는 것이었습니다.
- 마크업 (Markup): 문서의 내용(데이터)과 그 내용을 설명하는 태그(Tag)를 분리하여 문서의 구조를 표시하는 방식입니다.
- Generalized (일반화된): SGML은 특정 용도나 특정 분야에 얽매이지 않고, 사용자가 원하는 어떤 문서 구조라도 정의할 수 있도록 일반화되어 설계되었습니다.
- 핵심 철학: SGML은 “내용”과 “형식”을 분리하는 것을 목표로 했습니다.
- 내용/구조: 문서의 각 부분이 무엇인지 (예: ‘제목’, ‘단락’, ‘저자’). 이것은 SGML이 정의합니다.
- 형식/표현: 문서의 각 부분을 어떻게 보여줄지 (예: ‘제목을 굵게, 20pt로’). 이것은 SGML이 관여하지 않습니다.
📝 비유: SGML은 집을 지을 때 사용하는 ‘설계 도면을 그리는 규칙’ 자체입니다. 이 규칙에 따라 HTML이라는 ‘단층집 도면’, XML이라는 ‘고층 빌딩 도면’ 등 다양한 유형의 도면을 만들 수 있습니다.
2️⃣ 💡 SGML의 딥한 구성 요소
SGML을 이해하려면 다음 세 가지 핵심 구성 요소를 알아야 합니다.
1. 문서 (Document)
실제 내용과 마크업이 포함된 파일입니다.
2. DTD (Document Type Definition)
이것이 SGML의 핵심입니다. DTD는 특정 문서 유형에 대해 허용되는 태그의 집합, 태그 간의 관계, 태그가 사용될 수 있는 순서와 규칙 등을 정의한 일종의 ‘문법 규칙서’입니다.
- 예를 들어, “이 문서는 반드시
<제목>으로 시작해야 하며,<본문>에는<단락>태그만 포함될 수 있다”는 규칙을 DTD에 명시합니다. - 결과: DTD를 정의하면, 해당 문서가 그 규칙을 따르고 있는지 검증(Validation)할 수 있습니다.
3. SGML 선언 (SGML Declaration)
SGML이 사용할 문자 집합, 구분 기호 등 가장 기본적인 언어 환경을 정의합니다. (일반적으로 개발자가 직접 건드릴 일은 거의 없습니다.)
3️⃣ 🖥 SGML의 중요성 및 계승 (HTML과 XML)
SGML은 방대하고 복잡하며, 모든 규칙을 완벽하게 구현하기 위해서는 고가의 전용 소프트웨어가 필요했습니다. 이 복잡성이 일반적인 웹 환경에서는 단점으로 작용했습니다.
하지만 SGML의 혁신적인 아이디어는 웹의 발전을 이끌었습니다.
| 언어 | 기반 | 특징 및 역할 |
| SGML | 모든 마크업 언어의 표준 | 문법을 정의하는 규칙. 사용자 정의 태그와 구조를 가능하게 함. |
| HTML (HyperText Markup Language) | SGML의 한 가지 응용 프로그램 | 미리 정의된 고정된 DTD (웹 페이지용 DTD)를 가진 SGML입니다. 복잡한 SGML 규칙을 단순화하여 웹 환경에 최적화되었습니다. |
| XML (eXtensible Markup Language) | SGML의 간소화된 후계자 | 1998년에 등장. SGML의 복잡성을 제거하고 데이터 교환에 중점을 둔 버전입니다. 사용자가 직접 새로운 태그를 정의할 수 있어 확장성이 뛰어납니다. |
- 현재의 위상: SGML 자체는 현재 새로운 문서 시스템을 구축하는 데 거의 사용되지 않지만, 그 자리를 XML이 완벽하게 대체하고 있습니다. HTML5는 SGML의 DTD에서 벗어나 독자적인 표준(WHATWG)을 따르고 있지만, 태그를 사용해 문서 구조를 정의하는 근본적인 방식은 SGML의 유산입니다.
SGML은 문서 관리, 출판, 항공 우주, 국방 등 고도의 구조적 무결성이 요구되는 분야에서 20세기 후반까지 광범위하게 사용되었습니다.
궁극적으로 SGML은 “데이터 구조를 정의하는 표준화된 방법론”을 제시하여, 현재의 모든 디지털 문서와 웹 기술의 초석을 놓았다는 점에서 역사적으로 매우 중요합니다.