Языки разметки документов

4.3.1. Языки разметки документов

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

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

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

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

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

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

Первым языком разметки является язык 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).

Языки разметки документов