С появлением первого электронного текста,
предназначенного для обычного человека, а не для машины, сразу появилась
необходимость его форматировать. Например, так:
Этот текст ОТФОРМАТИРОВАН,
хотя *возможностей* для _этого_ м а л о в а т о.
Позже появились принтеры, которые позволяли выводить текст
несколькими предопределенными шрифтами. Тогда перед нужными словами вставляли
коды форматирования, предназначенные для этих принтеров.
Затем поняли, что форматирование (а это не только шрифты, но
и разметка текста) не должно зависеть от печатающего устройства. Появились
форматы разметки в текстовых файлах, например, TEX или RTF:
Этот RTF-текст отформатирован {\i курсивом}.
Чтобы сэкономить на размере и попутно защититься от реализации
другими производителями текстовых процессоров, разработчики предложили ряд
бинарных форматов (например, всем известный формат Microsoft Word), тем более,
что с появлением WYSIWYG-редакторов возможность чтения и правки исходного
текста документа человеком перестала быть определяющей.
Но как только появились форматированные тексты, сразу же
возникла мысль – надо отделять форматирование
от структуры документа: нужен не
курсив, а пометка, что текст является цитатой; не 14-ый кегль шрифта, а
указание на то, что текст – это заголовок. Больше того, появилась необходимость
определять структуру текста не для целей форматирования, а для целей поиска,
преобразований и редактирования разными людьми. Потребовались правила,
определяющие структуру документа и позволяющие проверить соответствие документа
этим правилам.
У всех на слуху XML, буквально - расширенный язык разметки. Он активно
используется именно для целей структурирования текста и поддерживает огромное
количество возможностей разметки документа. XML является подмножеством SGML – одного из первых языков
разметки, предназначенных для подготовки сложных публикаций.
SGML
появился как наследник GML– Generalized Markup
Language – обобщенного
языка разметки, созданного IBM в 1980-х годах. В 1986 году SGML принят в
качестве стандарта (ISO 8879:1986). SGML позволяет определять произвольные
элементы, задавать их структуру
и даже генерировать другие языки разметки, например, HTML.
<FAQ>
<Q>Что такое SGML?</Q>
<A>Standard Generalized Markup Language</A>
</FAQ>
Такие документы в последующем могут быть преобразованы и в
формат RTF, и в PDF, и в .doc.
Основной недостаток XML и SGML-документов – сравнительная
сложность их создания. Несмотря на обилие средств для их редактирования, автор
должен знать основные правила разметки и представлять, как будет использоваться
его документ. Тем не менее, в системах документооборота вполне возможно
использование подобных документов для специальных целей. Но об этом – чуть
позже.