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

Любой документ имеет три составляющих:

· структуру;

Содержание – это те сведения, которые отображены в документе. Содержание документа на бумаге может быть сугубо текстовым, а также содержать изображения. Если документ представлен в электронном виде, он может содержать и мультимедийные данные, а также ссылки на другие документы. Хотя содержание разных документов различно, их можно классифицировать по типам, например, книга или железнодорожный билет.

Стиль документа определяет форму вывода его содержания на то или иное устройство (например, принтер или дисплей). В понятие стиль входят характеристики шрифта (наименование, размер, цвет) всего выводимого документа или отдельных его блоков, порядок разбивки на страницы, расположение блоков на страницах и другие параметры. Один и тот же документ может выводиться разными стилями как на разные носители, так и на один и тот же носитель.

Языки разметки документов являются искусственными языками, предназначенными для описания структуры документа и отношений между различными объектами структуры. Данные разметки называются также метаданными.

Первым языком разметки является язык GML (Generalized Markup Language –обобщенный язык разметки), разработанный сотрудниками фирмы IBM еще в 60-х годах прошлого века. Его непосредственным наследником стал язык SGML (Standard Generalized Markup Language – стандартный обобщенный язык разметки), определяющий правила записи элементов разметки документа. Документ, соответствующий правилам языка, называется документом SGML.

Язык SGML определен в стандарте ISO 8879, в котором задаются следующие основные требования к языку разметки документов:

· язык должен быть доступен для чтения человеком.

· размеченные файлы документов должны быть текстовыми и кодироваться с помощью символов кода ASCII (American Standard Code for Information Interchange – стандартного американского кода для информационного взаимодействия). Однако содержание документа необязательно должно кодироваться символами ASCII или быть текстовым.

В языке SGML и подобных ему языках используются специальные инструменты разметки документа:

· элементы и сопутствующие им атрибуты;

· сущности (entities);

· комментарии.

Структурной единицей документа SGML является элемент. В размеченном тексте каждый элемент должен быть выделен определенным образом. Выделение выполняется вставкой начального тега (от английского слова tag – метка) в начале элемента (start tag) и конечного тега (end tag) в конце элемента. Начальный и конечный теги имеют одинаковые имена. Чтобы отличить теги от обычного текста, они должны начинаться с символа – признака начала тега и заканчиваться символом – признаком окончания тега. Кроме того, в конечном теге задается символ – признак конечного тега. В SGML в качестве таких признаков можно задать любые символы, однако наиболее часто в качестве признака начала тега используется символ "<" (левая угловая скобка), в качестве признака окончания тега используется символ ">" (левая угловая скобка), а в качестве признака конечного тега – символ "/" (наклонная черта). Элементы в документе SGML могут заключать в себе другие элементы, в результате чего в графическом представлении документ SGML является иерархической (древовидной) структурой.


Пример 4.3.1. Документ SGML, задающий список студентов с результатами их экзаменационной сессии можно задать следующим образом:

Список оценок студентов в сессии

Иванов Иван Иванович

ТС-61

A

B

B

B

Петров Петр Петрович

ТС-62

C

C

D

C

В этом документе первым элементом является элемент student-list (список студентов). Этот элемент содержит в себе один элемент title (заглавие) и несколько элементов student (данные о студенте). В свою очередь, каждый элемент student содержит в себе один элемент full-name (фамилия, имя и отчество студента), один элемент group-number (номер группы) и один элемент mark-list (список оценок студента в сессии). И, наконец, элемент mark-list содержит в себе несколько элементов mark (оценка).

Графическое представление этого списка на рис. 4.3.1 имеет древовидную структуру:

Рис. 4.3.1. Структура документа SGML в графическом представлении

Для уточнения элементов SGML можно использовать атрибуты. Атрибуты записываются в начальном теге элемента в следующем виде:

имя-атрибута="значение-атрибута".

Для элемента может быть задано несколько атрибутов. Атрибуты отделяются друг от друга и имени элемента, по крайней мере, одним пробелом.

Пример 4.3.2. Для элементов mark в примере 4.3.1 можно задать атрибут subject, значением которого является наименование дисциплины, по которой сдавался экзамен. Тогда для первого студента элементы примут следующий вид:

A

B

B

B

В таких языках, как SGML, для работы с группами данных применяются сущности (entities). Сущностью являются любые именованные данные, как текстовые, так и нетекстовые. При просмотре документа имя сущности заменяется ее значением. Так, например, имя текстовой сущности kpi будет заменено ее значением: Киевский политехнический институт, а нетекстовая сущность image1 будет замена изображением с именем image1.

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Подобные документы

    Определение понятия гипертекста. Основные части документа SGML. История создания стандартного языка разметки документов HTML. Отличия синтаксиса XHTML от HTML. RSS - семейство XML-форматов для описания лент новостей. Применение языка разметки KML.

    презентация , добавлен 15.02.2014

    Основы языка программирования Web-страниц – HTML. Виды информации, которую может содержать Web-страница: текст, графика, звук, анимация и видео. Инструментарий для создания Web-страниц. Основные HTML-редакторы, которые используются для Web-дизайна.

    реферат , добавлен 19.01.2011

    Общая характеристика языка разметки гипертекста Hypertext Markup Language. Структура HTML-документа. Обзор основных возможностей HTML. Элементы современного дизайна Web-страниц. Анализ практического применения HTML (на примере обучающих программ).

    курсовая работа , добавлен 24.11.2012

    Основные теги и атрибуты языка HTML. Создание web-сайта, который должен представлять собой несколько связанных между собой страниц. Рассмотрение различных значений атрибутов и тегов на страницах и в других документах. Экранные формы разработанных страниц.

    лабораторная работа , добавлен 16.04.2014

    Что такое разметка. Язык разметки как набор соглашений о принципах форматирования, которые применяются для кодирования текстовых блоков. Возможности форматов SGML, HTML, XML, история создания, специфика применения, контроль над размещением информации.

    реферат , добавлен 22.03.2010

    Новый язык разметки гипертекста XHTML. Валидация XHTML-документов, определение их типа. Распространённые ошибки в XHTML-разметке. Конформность пользовательских агентов. Использование XHTML с другими пространствами имен. Расширение семантики HTML.

    курсовая работа , добавлен 14.07.2009

    Изучение алгоритма рекурсивного спуска и системы построения грамматики с помощью лексического анализатора Lex. Написание программы интерпретатора языка разметки HTML. Проверка входной последовательности на корректность входа как общая функция программы.

    контрольная работа , добавлен 25.12.2012

Любой документ имеет три составляющих:

  • содержание;
  • структуру;
  • стиль.

Обычно содержание документа представляется не в произвольном порядке, а имеет определенную структуру . Структура – это состав и порядок следования частей (блоков) документа.

Стиль документа определяет форму вывода его содержания на то или иное устройство (например, принтер или дисплей). В понятие стиль входят характеристики шрифта (наименование, размер, цвет) всего выводимого документа или отдельных его блоков, порядок разбивки на страницы, расположение блоков на страницах и другие параметры.

Языки разметки документов являются искусственными языками, предназначенными для описания структуры документа и отношений между различными объектами структуры. Данные разметки называются также метаданными .

Первым языком разметки является язык GML .Его непосредственным наследником стал язык SGML – стандартный обобщенный язык разметки, определяющий правила записи элементов разметки документа.

требования к языку разметки документов:

  1. Язык должен быть доступен для чтения человеком.
  2. Размеченные файлы документов должны быть текстовыми и кодироваться с помощью символов кода ASCII
  3. В языке могут использоваться ссылки как на внутренние ресурсы (в том же документе), так и на внешние ресурсы (в других документах).

В языке SGML и подобных ему языках используются специальные инструменты разметки документа:

  • структуры документа;
  • дескрипторы или элементы и сопутствующие им атрибуты;
  • сущности (entities );
  • комментарии.

Документы SGML имеют древовидную структуру.

Дескрипторы в SGML размещаются в начале (открывающий дескриптор) и в конце (закрывающий дескриптор) каждого элемента (item ).

Атрибуты – это простые символьные конструкции ( items ), которые добавляются к элементам для придания им уточнения действия дескрипторов.

Языки обобщенной разметки, подобные SGML , допускают использование атрибутов, с которыми могут быть соотнесены до 15 различных типов значений, в том числе:

  • Ссылки на любые ресурсы, находящиеся вне документа, на которые обычно ссылаются как на сущности ( entities ).
  • Уникальный идентификатор ( ID ) элемента в документе.
  • Указатели идентификаторов ( ID Pointers ), имеющие перекрестные ссылки для тех элементов, которые имеют ID , упомянутые в документе.
  • Обозначения или атрибуты элементов, которые определяют обозначения в содержании элемента.
  • Символьные данные ( character data ), или CDATA , представляющие собой любые допустимые символы, которые не могут выступать в качестве значений атрибутов.

Комментарии позволяют добавить информацию, которая не будет видна после обработки документа. Комментарии не влияют на скорость обработки документа, не рассматриваются и не обрабатываются как часть содержания SGML -документа. Они просто включаются в исходный текст.

Для проверки соответствия документа разметке заданного типа используется специальные программы – анализаторы (parsers). Анализаторы являются либо отдельными программами, либо частью программы обработки документа SGML. Чтобы анализатор мог выполнить проверку документа, создается специальный документ, называемый определением типа документа

Язык HTML является приложением языка SGML для использования в Internet с фиксированной структурой, фиксированным набором элементов (дескрипторов) и их атрибутов, а также фиксированным набором сущностей. расширенный язык разметки XML (Extensible Markup Language ). Язык XML является подмножеством языка SGML , полностью совместимым с ним.

Язык XML обеспечивает широкий спектр функциональных возможностей, которые отсутствуют в HTML

4 . 3 .2. Версии и расширения HTML и XML

Первая версия языка гипертекстовой разметки – HTML (HyperText Markup Language), так же, как и сама технология Web, была разработана Тимом Бернерсом Ли в 1991 г. Язык HTML является реализаций правил языка SGML для типа документов, которые были названы документами HTML. Язык задает фиксированную структуру, фиксированный набор тегов и их атрибутов, а также фиксированный набор сущностей. Программы обработки документов HTML называются Web -браузерами . Результатом обработки документа является Web -страница , выводимая на экран дисплея.

В 1994 г. группа поддержки Интернет – IETF ( Internet Engineering Task Force ) разработала спецификацию HTML 2.0, с которой началось широкое распространение языка HTML в сети Internet . В том же году был создан консорциум W3C (World Wide Web Corporation), объединивший 165 коммерческих и академических организаций, разработчиков и пользователей (с момента создания и по настоящее время эту организацию возглавляет Т.Б. Ли). Последняя версия спецификации HTML – HTML 4.01 была принята консорциумом в декабре 1999 г.

  • Язык XML обеспечивает широкий спектр функциональных возможностей, которые отсутствуют в HTML

Последняя версия спецификации языка XML – XML 1.1 была принята в апреле 2004 г.

На основе языка XML концерн W3C разработал дальнейшее развитие языка HTML – язык XHTML (Extended HTML – расширенный HTML). Первая версия этого языка – XHTML 1.0 была принята в январе 2000 г. Эта версия фактически представляет собой переформулирование HTML 4 как приложения XML 1.0. Предполагается, что дальнейшее развитие языка HTML будет осуществляться в соответствии со спецификациями XHTML.

Новая версия XHTML – XHTML 1.1 была принята консорциумом W3C в мае 2001 г. Эта рекомендация определяют новый тип документа – XHTML на основе модулей. Каждый модуль XHTML 1.1 содержит один или несколько элементов и/или атрибутов языка HTML.

В соответствии со спецификацией, документы XHTML 1.1 состоит из следующих групп модулей XHTML :

Модули ядра – это модули, наличие которых необходимо в любом типе документа, соответствующего спецификации XHTML (в эту группу входят модули Structure , Text , Hypertext и List ).

Модуль Applet , содержащий единственный элемент < applet > (этот элемент признан устаревшим и вместо него рекомендуется использовать элемент < object > ).

Модули текстовых расширений, в которых определены различные дополнительные модули текстовой разметки (в эту группу входят модули Presentation , Edit и Bi - directional Text ).

Модули форм (в эту группу входят модули Basic Forms и Forms ).

Модули таблиц (в эту группу входят модули Basic Tables и Tables ).

Модуль Image , предоставляющий базовые возможности внедрения изображений (этот модуль также может независимо использоваться в некоторых реализациях клиентскими картами-изображениями).

Модуль Client - side Image Map , предоставляющий элементы для клиентских карт-изображений (для функционирования этого модуля необходимо включение модуля Image ).

Модуль Object , предоставляющий поддержку включения объектов общего назначения.

Модуль Frames , предоставляющий элементы, относящиеся к фреймам.

URL (с помощью этого элемента вычисляются относительные URL документа).

Модуль Name Identification , используемый для идентификации определённых элементов в документах HTML.

Модуль Legacy , определяющий элементы и атрибуты, которые уже не рекомендовались в предыдущих версиях HTML и XHTML и не рекомендуются в дальнейшем.

4 . 3 .3. Типы структур HTML и XHTML

Согласно спецификации HTML 4.01 для документов HTML определены три структуры , описываемые тремя DTD. Разработчики Web -страниц должны включать в свои документы одно из трех объявлений типов. Разница между DTD заключается в поддерживаемых ими элементах. Объявление DTD должно размещаться в самом начале документа.

HTML 4.01 Strict DTD (строгое определение) включает все элементы и атрибуты, не являющиеся отмененными ( deprecated ) и не использующиеся в документах с фреймами.

Определение HTML 4.0 Transitional DTD (переходное определение) включает все элементы, включенные в строгом DTD , а также отмененные элементы и атрибуты.

Определение HTML 4.0 Frameset DTD (определение для фреймов) включает, помимо элементов переходного DTD, фреймы.

Первая строка документа HTML , определенного в соответствии со спецификацией XHTML

Эта строка определяет используемую версию XML и кодировку символов документа. При кодировании символов в XML используется двухбайтовый код Unicode . В качестве значений параметра encoding наиболее часто используются кодировки UTF -8 , в котором значения первых 128 символов представляются в однобайтовой кодировке, символы наиболее распространенных языков (в том числе русского и украинского) – двумя байтами, а остальные символы тремя байтами. В кодировке UTF -16 все символы представляются двумя байтами (эти кодировку рекомендуется использовать для русских и украинских документов HTML ).

В системах обработки текстов в документ включается дополнительная информация, называемая разметкой и выполняю­щая следующие функции:

Выделение логических элементов данного документа;

Задание функций обработки выделенных элементов.

В обычных текстовых процессорах существуют встроенные команды включения/выключения шрифтов и др., аналогичные командам управления размещением информации на экране или при печати (так называемые Escape-последовательности). Такой подход называется командной или процедурной размет­кой (табл. 2.1).

Альтернативный способ разметки заключается в выделении части текста без указания способа обработки выделения. Затем другие команды назначают фрагментам способ обработки. Такая разметка называется описательной (дескриптивной). Она вклю­чает метки (tags, таги) начала и окончания элемента текста и указывает, как интерпретировать данный фрагмент.

Изменяя набор процедур, соответствующий описательной разметке, можно изменить внешнее представление одного и того же документа. Развитие идей описательной разметки привело к определению разметки как формального языка. Это позволяет проверить правильность разметки и минимизировать ее объем за счет подстановки умолчаний.

Основным достоинством описательной разметки является ее гибкость, поскольку фрагменты текста отмечены как «чем они являются» (а не «как они должны быть отображены»), причем в будущем может быть написано программное обеспечение для та­кой обработки этих фрагментов, которая даже не предусматри­валась разработчиками языков. Например, гиперссылки HTML, первоначально предназначенные для навигации пользователями по совокупности связей в сети, в дальнейшем стали использо­ваться также механизмами поиска и индексирования в сети, для оценки популярности ресурсов и т. д.

Описательная разметка также облегчает задачу переформати­рования документа при необходимости, поскольку описание формата не связано с содержанием. Например, курсив может ис­пользоваться либо для выделения текста, либо отметки иностранных (или жаргонных) слов, либо для других целей.

Однако если слова просто выделены (дескриптивно или процедурно) как курсив в этой двусмысленности нельзя полностью разобраться. Если же эти два случая были по-разному размечены в самом начале, каждый может быть переформатирован независимо от дру­гих. Родовидовая (generic markup) разметка - другое наименова­ние для описательной разметки.

Практически элементы различных классов разметок обычно сосуществуют в любой конкретной системе. Например, HTML содержит как элементы разметки, которые являются процедурны­ми (b для полужирного шрифта), так и другие, которые являются описательными («blockquote», или «href», - признак). HTML также включает элемент pre, который ограничивает область тек­ста, которая будет расположена точно так, как напечатано.



Самые современные системы описательной разметки рас­сматривают документы как иерархические структуры (деревья), а также обеспечивают некоторые средства для встроенных пере­крестных ссылок. Поэтому такие документы могут трактоваться и обрабатываться как базы данных, структура которых доста­точно хорошо определена (однако, поскольку они не имеют та­ких строгих схем, как реляционные базы данных, их обычно на­зывают «слабоструктурированными базами данных»).

С наступлением III тысячелетия возник интерес к докумен­там неиерархических структур. Например, древняя и религиозная литература обычно имеет риторическую структуру или структуру прозы (рассказ, раздел, параграф и т. д.), а также включает спра­вочную информацию (книги, главы, строфы, строки). Так как границы этих модулей часто пересекаются, они не могут быть полностью закодированы с использованием только системы раз­метки с древовидной структурой. Среди систем моделирования Документов, которые поддерживают такие структуры, - MECS, TEI Guidelines, LMNL, и CLIX.

Термин «разметка» происходит от традиционной практики разметки рукописей перед публикацией (т. е. добавления симво­лических команд на полях и между строк в бумажной рукописи), течение многих столетий это делали работники издательства (редакторы и корректоры) которые отмечали, каким шрифтом, стилем и кеглем должны быть набраны фрагменты текста, а затем передавали рукопись наборщикам, которые вручную осуществляли набор текста с учетом символов разметки.



В настоящее время существует множество языков разметки (табл. 2.2), среди наиболее широко известных - DocBook,

MathML, SVG, Open eBook, XBRL и др. В основном они пред­назначены для представления различных текстовых документов но специализированные языки могут использоваться во многих других областях. Безусловно, наиболее хорошо известен язык разметки HTML (язык разметки гипертекста), одна из основ WWW (Всемирной паутины).

Рассмотрим некоторые из систем разметки.

RUNOFF была первой системой форматирования текстов, которая получила значительную известность. Она была разрабо­тана в 1964 г. для операционной системы CTSS Джеромом X. Салтзером (Jerome H. Saltzer) с использования ассемблера MAD.

Продукт фактически состоял из пары программ:

TYPSET, который был в основном редактором докумен­тов;

RUNOFF - процессор вывода.

RUNOFF осуществлял поддержку разбиения на страницы и размещения заголовков, а также выравнивания текста. RUNOFF - прямой предшественник программы форматирова­ния документов в ОС Multics, которая в свою очередь была предком программ форматирования для ОС Unix (roff и nroff), и их потомков. Он был также предком FORMAT для OS/360 IBM, и конечно косвенно для всех последующих программ и систем обработки текстов. Название, как предполагается, исходило из фразы, популярной в то время - I"ll run off a copy.

ТеХ - аббревиатура от τεχνη (TEXNH - techne), греческий термин для «искусства, ремесла, умения», источник для слова «технический». По английски произносится «тек» (как в слове technology).

ТеХ - наборная система, созданная Дональдом Нутом (Donald Knuth). Вместе с языком METAFONT для описания шрифта и Computer Modern typeface (Компьютерного Современ­ного шрифта) он был спроектирован для двух основных целей - во-первых, представить каждому пользователю возможность создавать высококачественные книги в пределах разумных трудозатрат во-вторых, чтобы такая система давала идентичные результаты на любых компьютерах как в настоящее время, так и в будущем. ТеХ - бесплатное программное обеспечение, популярное в академическом сообществе, особенно среди математиков, физиков информатиков, экономистов, и в технических сообществах. Оно в значительной степени конкурирует с другим популярным форматизатором ТеХ - Unix troff, и во многих инсталляциях Unix они используются совместно.

Признано, что ТеХ является наилучшим путем создания и распечатки сложных математических формул, но теперь оно так­же используется для многих других наборных задач, особенно в форме LaTeX и других программных средств форматирования.

Команды ТеХ обычно начинаются с обратной косой черты и группируются в блоки изогнутыми фигурными скобками. Од­нако почти все синтаксические свойства ТеХ могут быть изме­нены при исполнении программы, что затрудняет обработку входа ТеХ другими программами. ТеХ - язык на основе мак­росов и лексем и многие команды, включая наиболее часто оп­ределяемые пользователем, расширяются при исполнении, пока не останутся только нерасширяемые лексемы, которые и вы­полняются.

Базовый вариант ТеХ включает приблизительно 300 команд, названных примитивами. Однако эти команды низкого уровня редко используются непосредственно пользователями, большин­ство функциональных возможностей обеспечивается файлами формата (копии памяти ТеХ после того, как были загружены большие наборы макрокоманд). Первоначальный формат Нута (по умолчанию), который добавляет приблизительно 600 ко­манд, называется Plain ТеХ. Более широко используемым фор­матом является LaTeX, первоначально разработанный Лесли Лампортом, который включает стили документа для книг, пи­сем, слайдов и т. д, а также добавляет поддержку ссылок и авто­матической нумерации формул и разделов.

Другой широко используемый формат - AMS-TeX, разрабо­тан Американским математическим обществом (American Mathe­matical Society) и предусматривает дополнительно много дружественных команд, которые могут быть изменены издательствами, чтобы обеспечить их фирменный стиль. Большинство особенностей AMS-TeX может применяться в LaTeX при использовании AMS «packages» (что именуется как AMS-LaTeX).

Чтобы написать программу печати строки «Programming» в Plain TeX, необходимо создать файл myfile.tex со следующим содержанием:

\bye % end of the file; not shown in the final output.

По умолчанию все, что следует за знаком процента на стро­ке, - комментарий, игнорируемый интерпретатором ТеХ. Если выполнить ТеХ на этом файле (например, набирая tex myfile.tex в режиме командной строки), то будет создан вы­ходной файл с именем myfile.dvi, который представляет со­держимое страницы в независимом от устройств формате (Device Independent Format - DVI). Результаты могут или быть напечатаны непосредственно из средства просмотра интерактив­ной цифровой видеосистемы или преобразованы в более общий формат, типа PostScript, используя программу dvips. Такие ва­рианты ТеХ, как PDFTeX, непосредственно производят файлы формата PDF.

Рассмотрим форматирование математической формулы. На­пример, чтобы написать известное выражение для корня квад­ратного уравнения, можно ввести:

The quadratic formula is $-b \pm \sqrt{b^2 - 4ac} \over 2a$ \bye

Это приведет к выводу следующего текста:

Несколько систем обработки документов основаны на ТеХ, особенно jadeTeX, который использует ТеХ как внутренний для того, чтобы печатать с выхода James Clark"s DSSSL Engine, и Texinfo, обработчик документации системы GNU. ТеХ был офи­циальным наборным пакетом для операционной системы GNU с 1984 г.

Известны многочисленные расширения и сопутствующие программы для ТеХ, среди них BibTeX для библиографий (рас­пространяется совместно с LaTeX), PDFTeX, который обходит формат DVI и осуществляет прямой вывод в Adobe Systems" Portable Document Format (pdf), и Omega, которая позволяет ТеХ использовать набор символов Unicode. Большинство расшире­ний ТеХ может быть получено бесплатно во Всесторонней Сети Архивов ТеХ (Comprehensive ТеХ Archive Network - CTAN). ТеXmacs - редактор научной литературы на основе ТеХ, поддерживает режим полного соответствия (WYSIWYG) и предназначен чтобы быть совместимым с ТеХ и Emacs.

Во многих технических областях, таких как прикладная ин­форматика, математика и физика, ТеХ стал фактическим стан­дартом. Много тысяч книг были изданы, используя ТеХ, такими издательствами, как Addison-Wesley, Cambridge University Press, Elsevier, Oxford University Press or Springer. Многочисленные жур­налы в этих областях произведены с использованием ТеХ ил LaTeX, причем авторам разрешено представлять рукописи в фор­мате ТеХ.

Начиная с версии 3 ТеХ использовал специфическую систему нумерации версий, где обновления обозначались с помощью до­полнительной цифры к десятичному числу так, чтобы номер вер­сии асимптотически приближался к л. Это - отражение того факта, что ТеХ является очень устойчивым и ожидаются только незначительные обновления. Текущая версия ТеХ - 3.141592; это было последнее обновление в декабре 2002.

В системах обработки текстов в документ включается дополнительная информация, называемая разметкой и выполняющая следующие функции:

  • выделение логических элементов данного документа;
  • задание функций обработки выделенных элементов.

В обычных текстовых процессорах существуют встроенные команды включения/выключения шрифтов и другое, аналогичные командам управления размещением информации на экране или при печати (так называемые Еsсаре последовательности). Такой подход называется командной или процедурной разметкой .

Альтернативный способ разметки заключается в выделении части текста без указания способа обработки выделения. Затем другие команды назначают фрагментам способ обработки. Такая разметка называется описательной (дескриптивной). Она включает метки (tags, теги) начала и окончания элемента текста и указывает, как интерпретировать данный фрагмент.

Изменяя набор процедур, соответствующий описательной разметке, можно изменить внешнее представление одного и того же документа. Развитие идей описательной разметки привело к определению разметки как формального языка. Это позволяет проверить правильность разметки и минимизировать ее объем за счет подстановки значений по умолчанию.

Достоинства

Основным достоинством описательной разметки является ее гибкость, поскольку фрагменты текста отмечены как «чем они являются» (а не «как они должны быть отображены»), причем в будущем может быть написано программное обеспечение для такой обработки этих фрагментов, которая даже не предусматривалась разработчиками языков. Например, гиперссылки HTML , первоначально предназначенные для навигации пользователями по совокупности связей в сети, в дальнейшем стали использоваться также механизмами поиска и индексирования в сети, для оценки популярности ресурсов и так далее.

Описательная разметка также облегчает задачу переформатирования документа при необходимости, поскольку описание формата не связано с содержанием. Например, курсив может использоваться либо для выделения текста, либо отметки иностранных (или жаргонных) слов, либо для других целей. Однако если слова просто выделены (дескриптивно или процедурно) как курсив, в этой двусмысленности нельзя полностью разобраться. Если же эти два случая были по-разному размечены в самом начале, каждый может быть переформатирован независимо от других. Родовидовая (generic markup) разметка - другое наименование для описательной разметки.

Практически элементы различных классов разметок обычно сосуществуют в любой конкретной системе. Например, HTML содержит как элементы разметки, которые являются процедурными (Ь для полужирного шрифта), так и другие, которые являются описательными («blockquote», или «href», - признак). HTML также включает элемент PRE, который ограничивает область текста, которая будет расположена точно так, как напечатано.

Системы описательной разметки

Самые современные системы описательной разметки рассматривают документы как иерархические структуры (деревья), а также обеспечивают некоторые средства для встроенных перекрестных ссылок. Поэтому такие документы могут трактоваться и обрабатываться как базы данных , структура которых достаточно хорошо определена (однако, поскольку они не имеют таких строгих схем, как реляционные базы данных, их обычно называют «слабоструктурированными базами данных»).

С наступлением 3 тысячелетия возник интерес к документам неиерархических структур. Например, древняя и религиозная литература обычно имеет риторическую структуру или структуру прозы (рассказ, раздел, параграф и так далее.), а также включает справочную информацию (книги, главы, строфы, строки). Так как границы этих модулей часто пересекаются, они не могут быть полностью закодированы с использованием только системы разметки с древовидной структурой. Среди систем моделирования документов, которые поддерживают такие структуры, - MECS, TEI Guidelines, LMNL, и CLIX.

Термин «разметка» происходит от традиционной практики разметки рукописей перед публикацией (то есть добавления символических команд на полях и между строк в бумажной рукописи). В течение многих столетий это делали работники издательства (редакторы и корректоры) которые отмечали, каким шрифтом, стилем и кеглем должны быть набраны фрагменты текста, а за-тем передавали рукопись наборщикам, которые вручную осуществляли набор текста с учетом символов разметки.

В настоящее время существует множество языков разметки, среди наиболее широко известных - DocBook, MathML, SVG, Open еВоок, XBRL и другое В основном они предназначены для представления различных текстовых документов, но специализированные языки могут использоваться во многих других областях. Безусловно, наиболее хорошо известен язык разметки HTML (язык разметки гипертекста), одна из основ WWW (Всемирной паутины).