Технология XSLT - страница 8
Расширяемый язык разметки XML (extensible Mark-up Language) — это результат довольно успешной попытки создать язык для текстового выражения структурированной информации в стандартном виде. XML — это метаязык в том смысле, что сам по себе он не имеет операторов, не определяет никакую алгоритмическую последовательность действий и не выполняет никаких вычислений, его цель — описывать новые языки документов.
Разметка документов
Идею разметки документов будет проще всего проиллюстрировать на примере. Представим себе следующий рекламный текст:
>Предлагаем Вашему вниманию новый 3-х камерный холодильник "Горск" объемом 250 л. и стоимостью всего 4500 рублей! Новый дизайн, быстрое охлаждение и низкое энергопотребление, 3-х годовая гарантия на все узлы и агрегаты, а также бесплатная доставка по городу! Заказывайте прямо сейчас по телефону 091-12-15. Фирма "Горск-Холод".
Размещая это объявление где-нибудь на Web-сайте, нам может понадобиться выделить некоторые части, чтобы получить представление вида:
>Предлагаем Вашему вниманию новый 3-х камерный холодильник "Горск" объемом 250 л. и стоимостью всего 4500 рублей! Новый дизайн, быстрое охлаждение и низкое энергопотребление, 3-х годовая гарантия на все узлы и агрегаты, а также бесплатная доставка по городу! Заказывайте прямо сейчас по телефону 091-12-15.
>Фирма "Горск-Холод".
Идея разметки состоит в том, чтобы использовать для выделения частей документа простые текстовые метки, называемые тегами. Теги разграничивают документ, выделяя в нем части и присваивая им некоторые особенности (например, указывая на то, что часть текста надо подчеркнуть).
Простым примером языка разметки является уже, скорее всего, знакомый читателю HTML — язык разметки гипертекста. В HTML задан набор тегов для визуального форматирования документа, например:
□ содержимое>
— выделяет содержимое, как параграф;
□ >
— задает перенос строки;
□ >содержимое
— выделяет содержимое полужирным шрифтом;
□ >содержимое
— выделяет содержимое курсивом;
□ >содержимое
— подчеркивает содержимое.
Теги могут быть парными и одиночными. Парные теги (например, >содержимое
) выделяют часть документа, одиночные (например, >
) задают некую инструкцию.
В предыдущем примере текст может быть размечен следующим образом.
><Р>Предлагаем Вашему вниманию новый 3-х камерный холодильник <В>"Горск"В> объемом 250 л. и стоимостью всего <В>4500В> рублей! Новый дизайн, быстрое охлаждение и низкое энергопотребление, <В>3-х годовая гарантияВ> на все узлы и агрегаты, а также бесплатная доставка по городу! Заказывайте прямо сейчас по телефону 091-12- 15.
Фирма "Горск-Холод".Р>
Теперь этот документ несет в себе не только данные о коммерческом предложении, но и примитивную информацию о том, как он должен выглядеть визуально. Это делает документ более понятным, но понятным для человека, а не для машины. Словосочетания "быстрое охлаждение" и "бесплатная доставка по городу", выделенные в тексте одинаковыми тегами, на самом деле описывают совершенно разные вещи. Первое — свойство продукта, второе — сервис, предоставляемый фирмой. Иначе говоря, одни и те же теги в этом документе имеют разный смысл — один и тот же синтаксис выражает разную семантику.
Для решения этой проблемы несоответствия, XML предлагает очень простой и весьма эффективный способ — расширить множество используемых тегов так, чтобы они могли полностью выразить всю семантику, которой только может обладать документ. Например.
>
> Предлагаем Вашему вниманию новый
>
> объемом
> рублей!
> Новый дизайн,
>
>
> также
>