logo
Диплом Эстрина

3.8.1 Структура xslt документа

<?xml version="1.0" encoding="utf-8"?>

Данная строка сообщает браузеру информацию о том, что файл использует формат XML.

Все преобразования должны быть заключены в блок с указанием версии и пространство имен:

<xsl:stylesheet version="1.0".

<xsl:include href="multi.xsl"/>

Следующим шагом, с помощью инструкции «xsl:include», идет подключение дочерних файлов, в которых также указаны шаблоны к модулям. Модули – это набор функцийUMI.CMS, которые определяют функциональность системы.

Далее идут правила преобразования, которые указываются в блоках.

<xsl:templatematch="/" >

Директива match=”/” говорит о том, что шаблон является глобальным. Основной шаблон строится на подобии структуры html-документа.XSLтакже имеет теги <head></head>, между которыми размещается информация, способствующая поисковым системам распознавать сайт,

<meta name="description" content="{result/meta/description}"/>

<meta name="keywords" content="{result/meta/keywords}"/>

Преобразовывает поля descriptionиkeywords, которые указываются при создании страницы вUMI.CMS.

Здесь же подключаются файлы стилей и скриптов.

Между тегами <body></body> размещается общая структура страниц:

  1. Логотип

  2. Меню

  3. Контент

  4. Подвал

Остальные шаблоны, размещенные в данном файле - уточняющие, т.е. описывают преобразования для конкретных страниц и модулей.

Когда создается шаблон для текущей страницы возникает необходимость из данного XML-документа вывести только нужную информацию.

<xsl:value-of select="result/@header " />

В кавычках указывается путь того элемента, который нужно вывести. Чтобы обратиться к узлу следует по иерархии указать путь до необходимого узла. Для обращения к атрибуту после пути до узла ставится знак «@».

Этот шаблон берет содержимое элемента udata с атрибутами module = 'content' и method = 'menu', вставляет теги <ul></ul> и отправляет на обработку все элементы item, результаты помещая между <ul></ul>.

Далее шаблон обращается ко всем элементам “item”, размещая их между тегами <a></a>, что позволяет использовать в дальнейшем элементы как ссылки.

Последний шаблон описывает инструкцию для активного пункта меню.

Во всех общих случаях, где не указано иных правил, берутся все элементы с атрибутами module = 'content' и method = 'content' и выводятся только те значения, которые вxmlдокументе соответствуют положению /result/page/properties/group/property[@name = 'content']/value.

«disable-output-escaping="yes"» указывает на то, что текст будет выведен без html-тегов.

Шаблон главной страницы содержит в себе несколько внутренних страниц. Благодаря такой структуре редактировать основную страницу сайта становится удобнее, так как контент разделен на несколько частей:

  1. Баннер.

  2. Основной контент.

  3. Текстовый слайдер.

  4. Форма заказа.

Страницы сайта, которые содержат более одного блока с контентом должны быть обозначены отдельными шаблонами для правильного отображения в браузере.

В шаблоне, который отвечает за страницу контакты помимо контента, подключен скрипт интерактивной яндекс-карты. Это делает сайт более удобным для пользователя, позволяя ему мгновенно просмотреть маршрут к организации.

Последний шаблон создан для несуществующих страниц. Если пользователь вводит в адресную строку адрес сайта с несуществующей страницей, в результате он увидит предупреждение о том, что запращиваемая страница еще не создана.