Языки разметки. Введение в XML
Язык разметки (markup languages) - это набор специальных инструкций, называемых тэгами, предназначенных для формирования в документах какой-либо структуры и определения отношений между различными элементами этой структуры. Другими словами разметка показывает, какая часть документа является заголовком, какая подзаголовком, что следует считать именем автора и т. д. Разметка разделяется на стилистическую разметку, структурную и семантическую.
Стилистическая разметка
Стилистическая разметка отвечает за внешний вид документа. Например, в HTML к данному типу разметки относятся такие теги как <I> </I> (курсив), <B> </B> (жирный), <U> </U> (подчеркивание), <S> </S> (перечеркнутый текст) и т.д.
Структурная разметка
Структурная разметка задает структуру документа. В HTML за данный тип разметки отвечают, например, теги <P> </P> (параграф), <H?> </H?> (заглавие), <DIV> </DIV> (секция) и т.д.
Семантическая разметка
Семантическая разметка информирует о содержании данных. Примерами данного типа разметки являются теги <TITLE> </TITLE> (имя документа), <CODE> </CODE> (код, используется для листингов кода), <VAR> </VAR> (переменная), <ADDRESS> </ADDRESS> (адрес автора).
Основными понятиями любого языка разметки являются теги, элементы и атрибуты.
Тэги и элементы.
Значения понятий тэги и элементы часто путают.
Тэги, или, как их еще называют, управляющие дескрипторы, служат в качестве инструкций для программы, производящей показ содержимого документа на стороне клиента как поступить с содержимым тега. Для того чтобы выделить тег относительно основного содержимого документа используются угловые скобки: тег начинается со знака "меньше" (<) и завершается знаком "больше" (>), внутри которых помещаются название инструкций и их параметры. Например, в языке HTML тег <I> указывает на то, что следующий за ним текст должен быть выведен курсивом.
Элемент - это тэги в совокупности с их содержанием. Следующая конструкция является примером элемента:
<I> Это текст выделен курсивом </I>.
Элемент состоит из открывающего тега (в нашем примере это тег <I> ), содержимого тега (в примере это текст "Это текст, выделен курсивом") и закрывающего тега( </I> ), правда иногда в HTML, закрывающий тег можно опустить.
Атрибуты
Для того чтобы при определении элемента задать какие-либо параметры, уточняющие характеристики данного элемента используются атрибуты.
Атрибуты состоят из пары "название" = "значение", которую можно задавать при определении элемента в начальном тэге. Слева и справа от символа равенства можно оставлять пробелы. Значение атрибута указывается в виде строки, заключенной в одинарные или двойные кавычки.
Любой тэг может иметь атрибут, если этот атрибут определен.
В случае использования атрибута элемент принимает следующую форму:
<имя_тега атрибут = "значение"> содержимое тега </имя_тега>
Пример:
<p ALIGN="CENTER"> текст выравнивается по центру </p>
В одном открывающемся теге может содержаться несколько атрибутов, например:
<FONT SIZE = 7 color = "RED"> Указан размер и цвет текста </FONT>
История развития языков разметки.
Понятие гипертекста было введено В.Бушем в 1945 году а, начиная с 60-х годов, стали появляться первые приложения, использующие гипертекстовые данные. Однако основное развитие данная технология получила, когда возникла реальная необходимость в механизме объединения множества информационных ресурсов, обеспечения возможности создания, просмотра нелинейного текста.
В 1986 году ISO был утвержден универсальный стандартизированный язык разметки (Standardized Generalized Markup Language). Этот язык предназначен для создания других языков разметки, он определяет допустимый набор тэгов, их атрибуты и внутреннюю структуру документа. Таким образом имеется возможность создавать свои собственные тэги, связанные с содержанием документа. Теперь становится очевидно, что такие документы трудно интерпретировать без определения языка разметки, которое хранится в определении типа документа ( DTD - Document Type Definition). В DTD сгруппированы все правила языка в стандарте SGML. Другими словами в DTD описывается связь тегов между собой и правила их применения. Причем для каждого класса документов определяется свой набор правил, описывающих грамматику соответствующего языка разметки. Таким образом, только при помощи DTD можно проверить правильность использования тегов а, следовательно, его нужно посылать вместе с SGML-документом или включать в документ.
В то время кроме SGML существовали еще несколько конкурирующих между собой подобных языков, однако популярность (HTML, который является одним из его потомков) дала SGML неоспоримое преимущество перед своими собратьями.
С помощью SGML можно описывать структурированные данные, организовывать информацию, содержащуюся в документах, представлять эту информацию в некотором стандартизованном формате. Но из-за своей сложности, SGML использовался, в основном, для описания синтаксиса других языков, и немногие приложения работали с SGML -документами напрямую. SGML обычно применяется лишь в крупных проектах, например, для создания единой системы документооборота крупной фирмы.
Язык разметки HTML гораздо более простой и удобный, чем SGML, его инструкции в первую очередь предназначены для управления процессом вывода содержимого документа на экране. Язык HTML как способ разметки технических документов был создан Тимом Бернерсом-Ли (Tim Berners-Lee) в 1991 году специально для научного сообщества. Первоначально он был всего лишь одним из SGML -приложений.
Не смотря на то, что единственное, что умеет HTML - классифицировать части документа и обеспечивать его правильное отображение в браузере, он является самым популярным языком разметки. Это связано с тем, что HTML достаточно легок для изучения. Все, что от вас требуется, - изучить команды HTML. DTD для HTML хранится в браузере. К тому же надо заметить, что HTML спроектирован для работы на самых разных платформах. Но у него есть ряд существенных ограничений:
- HTML имеет фиксированный набор тэгов, и данный набор нельзя расширить или изменить;
- теги языка HTML показывают только как должны быть представлены данные, то есть внешний вид документа. HTML не несет информации о значении содержания, заключенного в тэгах, структуре документа.
В 1996 общественной организацией World Wide Web Consortium ( W3C ) началась разработка XML (Extensible Markup Language) который стал золотой срединой между языками SGML и HTML. Язык XML позволяет разработчику создавать свои собственные теги, но в отличие от SGML он достаточно прост.
На основе языка XML был создан язык разметки для беспроводных устройств WML. Данный язык позволяет описать пользовательский интерфейс на устройствах с ограниченными возможностями представления данных, например, мобильных телефонах.
Все представленное множество языков разметки удобно для наглядности представить в виде следующего "генеалогического дерева" языков разметки: