Языки разметки
Языки разметки
Языки разметки
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Языки</strong> <strong>разметки</strong><br />
Заметки к лекциям<br />
Введение в языки <strong>разметки</strong> ..................................................................................................... 1<br />
Категории информационных ресурсов .............................................................................. 1<br />
Представление информационных ресурсов....................................................................... 1<br />
Справка о языках <strong>разметки</strong> ................................................................................................. 2<br />
Язык <strong>разметки</strong> гипертекста HTML......................................................................................... 2<br />
Гипертекст............................................................................................................................. 2<br />
Язык HTML...........................................................................................................................3<br />
Язык каскадных таблиц стилей CSS .................................................................................. 3<br />
XML-технологии ...................................................................................................................... 3<br />
Язык SGML...........................................................................................................................3<br />
Язык XML ............................................................................................................................. 4<br />
Спецификация XML DTD ................................................................................................... 5<br />
Расширяемый язык таблиц стилей XSL............................................................................. 5<br />
Язык XHTML........................................................................................................................ 5<br />
Стандарт XML Schema ........................................................................................................ 5<br />
Литература ................................................................................................................................5<br />
Введение в языки <strong>разметки</strong><br />
Категории информационных ресурсов<br />
Данные – сведения о сущностях предметной области, их свойствах и связях с<br />
другими сущностями.<br />
Метаданные – данные о данных, которые могут описывать не только свойства<br />
данных, но и свойства информационной системы в целом, ее отдельных механизмов и<br />
их функций, поддерживаемых технологий, пользователей и др. (например, метаданные<br />
в СУБД – словарь данных). Основное назначение метаданных – обеспечение интеграции<br />
информационных ресурсов и эффективного поиска. Стандарты метаданных необходимы<br />
для обеспечения мобильности приложений обработки данных.<br />
Представление информационных ресурсов<br />
Документ – один из основных способов представления информационных ресурсов.<br />
Язык <strong>разметки</strong> (markup language) – средство описания данных и метаданных,<br />
хранящихся в документе. Алфавит языка <strong>разметки</strong> включает в себя специальные символы<br />
– теги (tags), позволяющие отличать в документе описание метаданных от описания<br />
данных.<br />
Семантика метаданных (и соответственно, тегов) языка <strong>разметки</strong> может определять<br />
представление или/и семантику данных в документе. В соответствии с этим различают<br />
языки форматной <strong>разметки</strong> и языки контентной <strong>разметки</strong>.<br />
Язык форматной <strong>разметки</strong> (Layout Markup или Presentation Markup) обеспечивает<br />
возможность формирования представления размечаемых документов для их воспроизведения<br />
на мониторе компьютера или в твердой копии. Примеры языков форматной<br />
<strong>разметки</strong>: TEX, RTF (Rich Text Format), PDF (Portable Document Format), Postscript,<br />
HTML (Hyper Text Markup Language).<br />
© М.Л. Цымблер
2<br />
Язык контентной <strong>разметки</strong> (Content Markup) обеспечивает разметку, определяющую<br />
структуру документа. Примеры языков контентной <strong>разметки</strong>: SGML (Standard<br />
Generalized Markup Language), XML (eXtensible Markup Language).<br />
Справка о языках <strong>разметки</strong><br />
• TEX. Разработан в 1980-х Д.Э. Кнутом для упрощения работы над книгой "Искусство<br />
программирования". Удобен для разработки научных документов (математика,<br />
физика и т.п.), поскольку имеет богатый инструментарий представления формул.<br />
T EX<br />
t<br />
Формула { ϕ ( 0)<br />
}<br />
\left\{ {\varphi ^t (x_0 )} \right\}_{t = 1}^{ + \infty }<br />
\mathrel{\mathop{\kern0pt\longrightarrow}<br />
\limits_{}} \,\,\,\overline x \, \in \,\,\bigcap\limits_j {P_j \,\, = \,\,M}<br />
+∞<br />
x x PjM = ⎯⎯→ ∈ =<br />
t 1<br />
∩<br />
j<br />
Рис. 1. Пример <strong>разметки</strong> на языке TEX<br />
• PDF (Portable Document Format). Разработан компанией Adobe Systems (Photoshop,<br />
Acrobat, PageMaker и др.) для обеспечения мобильности страничных документов,<br />
содержащих текст и графику. Документ PDF содержит информацию, необходимую<br />
для отображения используемых в нем шрифтов.<br />
• HTML (Hyper Text Markup Language). Разработан в Лаборатории физики высоких<br />
энергий (CERN) в Женеве в 1990 г., разработчик – Т. Бернерс-Ли. Был предназначен<br />
для <strong>разметки</strong> научных документов и их последующего совместного использования<br />
сотрудниками разных институтов и лабораторий. Состоял из небольшого фиксированного<br />
набора элементов – заголовков нескольких уровней, абзацев, списков и др.,<br />
а также гиперссылок и специальных меток (anchors) для указания точек перехода<br />
между документами так между компонентами одного документа.<br />
• SGML (Standard Generalized Markup Language). Стандартный обобщенный язык<br />
<strong>разметки</strong> утвержден в качестве стандарта ISO 8879:1986 в 1986 г. Представляет собой<br />
метаязык, т.е. средство формального описания прикладных языков <strong>разметки</strong>,<br />
предназначенных для кодирования структурированных документов. В 1992 году<br />
<strong>Языки</strong> HTML и XML формализованы с помощью SGML.<br />
• Международный индустриальный консорциум W3C (World Wide Web Consortium).<br />
Образован в 1994 г. с целью разработки протоколов и стандартов для расширения<br />
интероперабельности ресурсов WWW и обеспечения руководства эволюцией<br />
WWW. Директор W3C – Т. Бернерс-Ли, родоначальник Web, инициатор проекта<br />
World Wide Web в CERN.<br />
• XML (eXtensible Markup Language). Метаязык <strong>разметки</strong>, созданный на базе SGML в<br />
1998 г. По сравнению с SGML более прост и ориентирован на использование в Web.<br />
На основе XML создано большое количество специализированных языков <strong>разметки</strong>,<br />
например: MathML (математический контент), CML (химический контент).<br />
Язык <strong>разметки</strong> гипертекста HTML<br />
Гипертекст<br />
Гипертекст (hypertext) – технология хранения и обработки текстовых документов,<br />
которая обеспечивает возможности установления и поддержки связей между документами<br />
и/или их отдельными фрагментами и навигации пользователя в такой структуре.<br />
Часто определяется также как нелинейный текст или текст по запросу, поскольку<br />
© М.Л. Цымблер
3<br />
избавляет от необходимости только последовательного просмотра документов ("гипертекст"<br />
– "нечто большее, чем текст"). Термин введен Т. Нельсоном в 1965 г.<br />
Гипермедиа (hypermedia) – развитие концепции гипертекста, нелинейная обработка<br />
данных любой природы (текст, рисунки, видео и др.).<br />
До появления Internet и Web концепция гипертекста была реализована в системах,<br />
разрабатываемых, как правило, в рамках научных проектов (Т. Нельсон, система<br />
Xanadu; В. Буш, система Memex; Д. Энгельбарт, система Augment и др). Данные системы<br />
предоставляли сервисы, которые позже были реализованы в WWW доступным для<br />
широкого круга пользователей образом.<br />
Язык HTML<br />
Язык HTML (Hyper Text Markup Language) – язык <strong>разметки</strong> гипертекста.<br />
Элемент данных – структурная единица HTML-документа. Элементы данных<br />
могут следовать друг за другом, вкладываться друг в друга, но не могут пересекаться.<br />
HTML-документ представляет собой иерархию элементов данных.<br />
Тег – метка, указывающая на начало/завершение элемента данных. Допустимы<br />
непарные теги (начальные, не имеющие парных завершающих). Атрибут – именованный<br />
текст, уточняющий семантику элемента данных. Регистр символов в написании<br />
тегов и атрибутов не имеет значения. Список тегов и их атрибутов ограничен стандартом<br />
языка, пользовательские теги и атрибуты не допускаются.<br />
Гиперссылка – бинарная связь между документами и/или их составными частями.<br />
Язык HTML позволяет интегрировать в HTML-документы информационные<br />
ресурсы нетекстовой природы (графика, аудио, видео, скрипты, исполнение программ<br />
на web-сервере и Java-аплетов на стороне клиента).<br />
Достоинства: простота освоения человеком и реализации инструментальных<br />
средств создания и просмотра документов, первый и единственный для своего времени<br />
язык <strong>разметки</strong> для представления данных Web.<br />
Недостатки: отсутствие развитых средств <strong>разметки</strong> структуры документа, ограниченность<br />
набора тегов.<br />
Язык каскадных таблиц стилей CSS<br />
Язык CSS (Cascading-Style Sheets) – язык управления способом форматирования<br />
HTML- и XML-документов для отображения их web-обозревателями и др. прикладными<br />
программами.<br />
Язык предназначен для описания таблиц стилей представления данных документа.<br />
Таблицы стилей либо встраиваются в документ (тег STYLE), либо оформляются<br />
как отдельный ресурс, ссылка на который имеется в документе (тег LINK).<br />
Стиль представляет собой совокупность селектора и декларации форматирования.<br />
Селектор определяет форматируемую порцию документа. Декларация форматирования<br />
– набор пар "свойство-значение", позволяющий задать формат страниц, текста,<br />
шрифтов, таблиц и др.<br />
XML-технологии<br />
Язык SGML<br />
В отличие от HTML требует парности тегов, различает регистр тегов и атрибутов,<br />
не запрещает создание пользовательских тегов и атрибутов, требует наличие спецификации<br />
типа документа.<br />
© М.Л. Цымблер
4<br />
Спецификация типа документа (Document Type Definition) – спецификация<br />
структуры документа, т.е. определение набора возможных разметок документов описываемого<br />
типа (аналоги DTD– БНФ языка программирования, схема базы данных).<br />
Список может иметь заголовок, список непуст.<br />
Заголовок списка – текст<br />
Элемент списка – непустой набор абзацев<br />
Абзац – текст.<br />
Рис. 2. Пример DTD на языке SGML<br />
Достоинства: мощный метаязык <strong>разметки</strong>, позволяющий создавать языки <strong>разметки</strong><br />
для различных предметных областей (например, HTML, XML, MathML, CML и<br />
др.).<br />
Недостатки: большая сложность (по количеству, синтаксису и семантике объектов<br />
языка) затрудняет использование SGML в качестве языка <strong>разметки</strong>.<br />
Язык DSSSL (Document-Style Semantics and Specification Language) – язык управления<br />
способом форматирования SGML-документов для отображения их webобозревателями<br />
и др. прикладными программами. В основе DSSSL лежит механизм<br />
таблиц стилей. Послужил источником идей в разработке языка CSS.<br />
Язык XML<br />
В отличие от языка SGML более прост, не требует наличия спецификации типа<br />
документа.<br />
Корректный (well-formed) XML-документ – документ, соответствующий спецификации<br />
стандарта XML безотносительно к конкретной спецификации DTD.<br />
Допустимый (valid) XML-документ – корректный XML-документ, строго соответствующий<br />
спецификации DTD, заявленной в нем.<br />
<br />
<br />
<br />
Язык программирования Си<br />
<br />
<br />
Б. Керниган<br />
<br />
<br />
Д. Ритчи<br />
<br />
<br />
271<br />
<br />
<br />
<br />
<br />
<br />
]><br />
<br />
<br />
Язык программирования Си<br />
<br />
<br />
Б. Керниган<br />
<br />
<br />
Д. Ритчи<br />
<br />
<br />
271<br />
<br />
<br />
Рис. 3. Пример корректного и допустимого XML-документа<br />
© М.Л. Цымблер
5<br />
Спецификация XML DTD<br />
XML DTD описывает допустимые структуры XML-документов указываемого<br />
типа как иерархию элементов данных определенных типов.<br />
Для каждого элемента данных указывается:<br />
• вид содержания: отсутствует, символьная строка, список вложенных элементов<br />
данных или символьная строка вместе со списком вложенных элементов данных;<br />
• обязательность/факультативность;<br />
• список атрибутов с указанием категории и типа значений каждого атрибута:<br />
Категории атрибутов элемента данных: обязательный, необязательный или фиксированный<br />
(имеющий значение по умолчанию). Типы значений атрибутов элемента<br />
данных: строковый, перечислимый, идентифицирующий.<br />
Примеры стандартизированных XML DTD: CML (Chemical Markup Language),<br />
MathML, DTD научных коллекций XML-документов в Библиотеке Конгресса США.<br />
Расширяемый язык таблиц стилей XSL<br />
Расширяемый язык таблиц стилей XSL (eXtensible Stylesheet Language) – язык<br />
управления способом форматирования XML-документов для отображения их webобозревателями<br />
и др. прикладными программами. В отличие от языка CSS, разработан<br />
специально для использования в среде XML и использует синтаксис XML.<br />
Язык XSL, помимо обеспечения форматирования XML-документов, позволяет<br />
описывать трансформацию XML-документа в документ с другой разметкой и форматированием<br />
(например, трансформация XML-документа в HTML-документ с описанием<br />
таблиц стилей на языке CSS). Данная возможность специфицирована в стандарте<br />
языка XSL и рассматривается как самостоятельный язык XSLT (XSL Transformations).<br />
Язык XHTML<br />
Язык XHTML (eXtensible Hyper Text Markup Language) – расширяемый язык <strong>разметки</strong><br />
гипертекста. Один из стандартов платформы XML, предназначенный для обеспечения<br />
возможности использования на новой платформе Web уже имеющихся информационных<br />
ресурсов HTML. Стандарт XHTML представляет собой DTD для языка<br />
HTML. Имеется три варианта спецификации XML DTD документов XHTML, с различной<br />
степенью полноты воспроизводящих средствами XML функции стандарта языка<br />
HTML (строгий, переходный, с фреймами).<br />
Стандарт XML Schema<br />
Стандарт XML Schema описывает язык XML Schema Definition Language (или<br />
XML Schema) определения схемы для XML-документов. Данный язык является альтернативой<br />
XML DTD.<br />
Основные XML Schema отличия от XML DTD – более развитый набор типов<br />
значений атрибутов для элементов данных и возможность дополнять повторно используемую<br />
схему новыми спецификациями.<br />
Литература<br />
1. Когаловский М.Р. Энциклопедия технологий баз данных. -М.: Финансы и статистика,<br />
2002.<br />
2. Когаловский М.Р. Перспективные технологии информационных систем. -М.: ДМК<br />
Пресс, 2003.<br />
3. Гарольд Э., Минс С. XML. Справочник. -СПб.: Символ-Плюс, 2002.<br />
© М.Л. Цымблер