20.01.2013 Aufrufe

Языки разметки

Языки разметки

Языки разметки

MEHR ANZEIGEN
WENIGER ANZEIGEN

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 />

© М.Л. Цымблер

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!