Размещая это объявление где-нибудь на Web-сайте, нам может понадобиться выделить некоторые части, чтобы получить представление вида:
Предлагаем Вашему вниманию новый 3-х камерный холодильник "Горск"объемом 250 л. и стоимостью всего 4500рублей! Новый дизайн, быстрое охлаждение и низкое энергопотребление , 3-х годовая гарантияна все узлы и агрегаты, а также бесплатная доставка по городу! Заказывайте прямо сейчас по телефону 091-12-15.
Фирма "Горск-Холод".
Идея разметки состоит в том, чтобы использовать для выделения частей документа простые текстовые метки, называемые тегами . Теги разграничивают документ, выделяя в нем части и присваивая им некоторые особенности (например, указывая на то, что часть текста надо подчеркнуть).
Простым примером языка разметки является уже, скорее всего, знакомый читателю HTML — язык разметки гипертекста. В HTML задан набор тегов для визуального форматирования документа, например:
□
содержимое
— выделяет содержимое, как параграф;
□
— задает перенос строки;
□ содержимое
— выделяет содержимое полужирным шрифтом;
□ содержимое
— выделяет содержимое курсивом;
□ содержимое
— подчеркивает содержимое.
Теги могут быть парными и одиночными . Парные теги (например, содержимое
) выделяют часть документа, одиночные (например,
) задают некую инструкцию.
В предыдущем примере текст может быть размечен следующим образом.
Листинг 1.1. HTML-разметка рекламного объявления
<���Р>Предлагаем Вашему вниманию новый 3-х камерный холодильник <���В>"Горск"</В> объемом 250 л. и стоимостью всего <���В>4500</В> рублей! Новый дизайн, быстрое охлаждение и низкое энергопотребление, <���В>3-х годовая гарантия</В> на все узлы и агрегаты, а также бесплатная доставка по городу! Заказывайте прямо сейчас по телефону 091-12- 15.
Фирма "Горск-Холод".</Р>
Теперь этот документ несет в себе не только данные о коммерческом предложении, но и примитивную информацию о том, как он должен выглядеть визуально. Это делает документ более понятным, но понятным для человека, а не для машины. Словосочетания "быстрое охлаждение" и "бесплатная доставка по городу", выделенные в тексте одинаковыми тегами, на самом деле описывают совершенно разные вещи. Первое — свойство продукта, второе — сервис, предоставляемый фирмой. Иначе говоря, одни и те же теги в этом документе имеют разный смысл — один и тот же синтаксис выражает разную семантику.
Для решения этой проблемы несоответствия, XML предлагает очень простой и весьма эффективный способ — расширить множество используемых тегов так, чтобы они могли полностью выразить всю семантику, которой только может обладать документ. Например.
Листинг 1.2 XML-разметка рекламного объявления
Предлагаем Вашему вниманию новый 3-x камерный
холодильник "Горск"
объемом 250 л. и стоимостью всего 4500
рублей!
Новый дизайн, быстрое охлаждение и
низкое энергопотребление,
3-x годовая гарантия на все узлы и агрегаты, а
также бесплатная доставка по городу!
Заказывайте прямо сейчас по телефону 0-91-12-15.
Фирма "Горск-Холод".
В таком виде этот документ содержит гораздо более подробную информацию о своей структуре: внутри тега указано наименование продукта, внутри тега — цена, внутри тега — какой сервис предоставляет фирма и так далее. Такой текст уже можно обработать программно. Если понадобится составить таблицу, содержащую названия холодильников, объем, цену, название фирмы и телефон, все, что потребуется сделать — это получить содержимое тегов , , , и . При этом совершенно не теряется возможность визуального представления документа: нужно лишь определить, как будет выглядеть содержимое того или иного тега.
Таким образом, просто расширив множество тегов, мы убили сразу двух зайцев.
□ Явным образом выделили в документе структуру данных. Это делает возможной дальнейшую машинную обработку документа, который при этом все еще остается понятным человеку.
□ Отделили данные, содержащиеся в документе, от того, каким образом документ будет представлен визуально. Это дает широкие возможности для публикации документов на различных носителях — на бумаге, в Интернет, на мобильных устройствах.
Читать дальше