Что такое SGML?

SGML - метаязык для создания языков разметки различных документов.

Чем длиннее какая-нибудь аббревиатура, тем загадочнее она звучит, даже если расшифровка её в итоге оказывается простой, как конструкция приспособления для вскапывания территории и построения окопов (лопата). Если аббревиатура, к тому же, и встречается достаточно редко, то её загадочность возрастает ещё больше. Но мы с вами не будем бояться аббревиатуры SGML, а займёмся её расшифровкой.

Расшифровывается это сокращение как Standard Generalized Markup Language, что на русский язык обычно переводится как "Стандартный обобщённый язык разметки". "Постойте, - скажет читатель, - язык разметки - это значит что-то похожее на HTML или XML?". И да, и нет. Дело в том, что SGML - это метаязык для создания других языков разметки документов, то есть, язык для написания языков разметки документов. Что касается его связи с HTML и XML, то она, безусловно, присутствует. HTML является одним из конкретных приложений SGML для создания языка разметки гипертекстовых документов. Кстати сказать, HTML - далеко не единственное конкретное приложение SGML. Что касается XML, то это в некотором роде упрощённый вариант SGML.

Язык разметки, определяемый с помощью SGML (приложение SGML), состоит из SGML-декларации, определения типа документа (Document Type Definition, DTD) и семантического описания, дополняющего определение типа документа. В SGML-декларации указывается, какие символы и разделители могут отображаться в данном типе документов. Термин DTD, если вы работали с XML, должен быть вам знаком. Определение типа документа содержит в себе описание синтаксиса языка разметки.

Стоит отметить, что SGML предоставляет разработчикам языков разметки документов специальные средства для минимизации количества символов, необходимых для синтаксиса разметки. Так, например, можно отказаться от обязательного использования открывающего и закрывающего тегов, если закрывающий не нужен.

Кстати, хотя HTML - это самое известное из приложений SGML, но, как я уже говорил, оно не является единственным. На сегодняшний день широкую известность и даже, пожалуй, определённую популярность приобрёл язык разметки DocBook, разрабатывавшийся для написания технической документации. Впрочем, DocBook - хорошая тема для отдельного разговора.

Вадим СТАНКЕВИЧ

Версия для печатиВерсия для печати

Номер: 

28 за 2009 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!