Узнайте, как выполнять XSL-преобразования на стороне сервера в Dreamweaver. Создание XSLT-страниц и преобразование HTML-страниц в XSLT-страницы.

Примечание.

Пользовательский интерфейс в Dreamweaver СС и более поздних версиях стал проще. В результате этого некоторые функции, описанные в этой статье, могут отсутствовать в Dreamweaver CC и более поздних версиях. Дополнительные сведения см. в этой статье.

Рабочие процессы выполнения XSL-преобразования на сервере

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

Примечание.

Для выполнения преобразования на сервере этот сервер должен быть правильно настроен. Для получения более подробных сведений свяжитесь с администратором сервера.

Ниже в общих чертах описан процесс выполнения XSL-преобразования на сервере (отдельные шаги описаны в других разделах).

1. Настройка сайта Dreamweaver.

2. Выбор серверной технологии и установка сервера приложений.

3. Тестирование сервера приложений.

Например, создайте страницу, требующую обработки, и убедитесь, что сервер приложений обрабатывает эту страницу.

4. Создание XSLT-фрагмента или страницы либо преобразование HTML-страницы в XSLT-страницу.

  • На своем сайте Dreamweaver создайте XSLT-фрагмент или целую XSLT-страницу.

  • Преобразуйте существующую HTML-страницу в целую XSLT-страницу.

5. Присоединение к странице источника XML-данных.

6. Отображение XML-данных путем привязки данных к XSLT-фрагменту или целой XSLT-странице.

7. При необходимости добавьте XSLT-объект «Повторяющаяся область» к таблице или строке таблицы, содержащей шаблоны XML-данных.

8. Вставка ссылок.

  • Для вставки на динамическую страницу ссылки на XSLT-фрагмент используется поведение сервера «XSL-преобразование».

  • Чтобы вставить на динамическую страницу ссылку на XSLT-страницу, удалите весь HTML-код с динамической страницы, а затем примените поведение сервера «XSL-преобразование».

9. Публикация страницы или фрагмента.

Опубликуйте и динамическую страницу, и XSLT-фрагмент (или целую XSLT-страницу) на сервере приложений. Если используется локальный XML-файл, его также необходимо опубликовать.

10. Просмотр динамической страницы в браузере.

При этом сервер приложений преобразует XML-данные, вставляет их на динамическую страницу и отображает ее в браузере.

Создание XSLT-страницы

Можно создать XSLT-страницы, которые позволяют отображать XML-данные на веб-страницах. Можно создать либо целую XSLT-страницу, то есть XSLT-страницу, которая содержит теги <body> и <head>, либо XSLT-фрагмент. При создании XSLT-фрагмента создается независимый файл, не содержащий тегов заголовка и основного текста, — просто фрагмент кода, который затем вставляется на динамическую страницу.

Примечание.

Если вы начинаете с существующей XSLT-страницы, присоедините к ней источник XML-данных.

  1. Выберите «Файл» > «Создать».
  2. В категории «Пустая страница» диалогового окна «Создание документа» выберите в столбце «Тип страницы» один из следующих типов.
    • 1. Чтобы создать XSLT-страницу, выберите «XSLT (страница целиком)».

    • Чтобы создать XSLT-фрагмент, выберите «XSLT (фрагмент)».

  3. Нажмите кнопку «Создать» и выполните в диалоговом окне «Определить XML-источник» одно из следующих действий.
    • Выберите «Присоединить локальный файл», нажмите кнопку «Обзор», найдите локальный XML-файл на компьютере и нажмите кнопку «ОК».
    • Выберите «Присоединить удаленный файл», введите URL-адрес XML-файла в Интернете (например, для файла из канала RSS) и нажмите кнопку «ОК».

    Примечание.

    При нажатии кнопки «Отмена» будет создана новая XSLT-страница без присоединенного источника XML-данных.

    На панели «Привязки» отобразится схема указанного источника XML-данных.

    Панель «Привязки»
    Панель «Привязки»

    В следующей таблице приведены пояснения к различным элементам схемы.

    Элемент

    Представляет

    Сведения

    <>

    Обязательный неповторяющийся XML-элемент

    Элемент, который встречается ровно 1 раз на своем родительском узле

    <>+

    Повторяющийся XML-элемент

    Элемент, который встречается 1 или несколько раз на своем родительском узле

    <>+

    Необязательный XML-элемент

    Элемент, который не встречается на своем родительском узле ни разу или встречается несколько раз

    Узел элемента выделен полужирным

    Текущий элемент контекста

    Обычно это повторяющийся элемент, когда курсор вставки находится внутри повторяющейся области

    @

    XML-атрибут

     

     

  4. Сохраните новую страницу («Файл» > «Сохранить») с расширением .xsl или .xslt (по умолчанию используется расширение .xsl).

Преобразование HTML-страниц в XSLT-страницы

Кроме того, в XSLT-страницы можно преобразовывать существующие HTML-страницы. Например, при наличии стандартной статической страницы, на которую нужно добавить XML-данные, можно преобразовать эту страницу в XSLT-страницу вместо того, чтобы создавать пустую XSLT-страницу и заново оформлять ее с нуля.

  1. Откройте HTML-страницу, которую нужно преобразовать.
  2. Выберите «Файл» > «Преобразовать» > XSLT 1.0.

    В окне документа откроется копия страницы. Новая страница представляет собой таблицу стилей XSL, сохраняемую с расширением .xsl.

Присоединение источников XML-данных

Если работа начинается с существующей XSLT-страницы или если источник XML-данных не был присоединен при создании новой XSLT-страницы средствами Dreamweaver, то источник XML-данных необходимо присоединить с помощью панели «Привязки».

  1. На панели «Привязки» («Окно» > «Привязки») щелкните привязку XML.
    Нажмите кнопку «XML» на панели «Привязки»
    Нажмите кнопку «XML» на панели «Привязки»

    Примечание.

    Кроме того, чтобы добавить источник XML-данных, можно щелкнуть привязку «Источник» в правом верхнем углу панели «Привязки».

  2. Выполните одно из следующих действий.
    • Выберите «Присоединить локальный файл», нажмите кнопку «Обзор», найдите локальный XML-файл на компьютере и нажмите кнопку «ОК».

    • Выберите «Присоединить удаленный файл» и введите URL-адрес XML-файла в Интернете (например, для файла из канала RSS).

  3. Нажмите кнопку «ОК», чтобы закрыть диалоговое окно «Определить XML-источник».

    На панели «Привязки» отобразится схема указанного источника XML-данных.

Отображение XML-данных на XSLT-страницах

После создания XSLT-страницы и присоединения источника XML-данных можно привязать данные к этой странице. Для этого на страницу добавляется местозаполнитель XML-данных, и с помощью построителя выражений XPath или инспектора свойств форматируются выбранные данные, которые будут отображаться на странице.

  1. Откройте XSLT-страницу с присоединенным источником XML-данных.
  2. (необязательно) Выберите меню «Вставка» > «Таблица», чтобы добавить на страницу таблицу. Таблица помогает упорядочивать XML-данные.

    Примечание.

    В большинстве случаев для отображения на странице повторяющихся XML-элементов используется XSLT-объект «Повторяющаяся область». В этом случае можно создать таблицу из одной строки с одним или несколькими столбцами или таблицу из 2 строк, если нужен заголовок таблицы.

  3. На панели «Привязки» выберите XML-элемент и перетащите его в то место страницы, куда надо вставить данные.
    Выбор XML-элемента на панели «Привязки»
    Выбор XML-элемента на панели «Привязки»

    На странице отобразится местозаполнитель для XML-данных. Он будет выделен и заключен в фигурные скобки. Для описания иерархической структуры XML-схемы используется синтаксис XPath (язык XML Path). Например, если перетащить на страницу дочерний элемент title с условием, что данный элемент имеет родительские элементы rss, channel и item, то синтаксис для шаблона с динамическим содержимым будет иметь вид {rss/channel/item/title}.

    Чтобы открыть построитель выражений XPath, дважды щелкните на странице местозаполнитель XML-данных. Построитель выражений XPath позволяет форматировать выбранные данные или выбирать другие элементы XML-схемы.

  4. (необязательно) Примените стили к XML-данным. Для этого выберите шаблон XML-данных и примените к нему стили с помощью инспектора свойств или панели «Стили CSS» как к любой другой части содержимого. Альтернативой этому варианту является применение таблиц стилей времени конструирования, что позволяет применить стиль к XSLT-фрагментам. Каждый из этих методов имеет свои достоинства и ограничения.
  5. Просмотрите работу в браузере («Файл» > «Просмотреть в браузере»).

    Примечание.

    При предварительном просмотре с помощью пункта меню «Просмотреть в браузере» Dreamweaver выполняет XSL-преобразование без использования сервера приложений.

Отображение повторяющихся XML-элементов

XSLT-объект «Повторяющаяся область» позволяет отображать на веб-странице повторяющиеся элементы из источника XML-данных. Например, если отображаются заголовки и описания статей из канала новостей, который содержит от 10 до 20 статей, то каждая пара из заголовка и описания в XML-файле может являться дочерним элементом повторяющегося элемента.

Любую область в представлении «Дизайн», содержащую шаблон XML-данных, можно заменить на повторяющуюся область. Однако наиболее распространенными областями являются таблицы, строки таблиц или множества строк таблиц.

  1. В представлении «Дизайн» выберите область, содержащую 1 или несколько шаблонов XML-данных.

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

    Представление «Дизайн»
    Представление «Дизайн»

    Примечание.

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

  2. Выполните одно из следующих действий.
    • Выберите «Вставка» > «Объекты XSLT» > «Повторяющаяся область».

    • В категории XSLT на панели «Вставка» нажмите кнопку «Повторяющаяся область».

  3. В построителе выражений XPath выберите повторяющийся элемент, указанный маленьким плюсом.
    Построитель XPath-выражений
    Построитель XPath-выражений

  4. Нажмите кнопку «ОК».

    В окне документа вокруг повторяющейся области появится тонкий серый контур с вкладками. При предварительном просмотре в браузере («Файл» > «Просмотреть в браузере») серый контур исчезает и выбранная область разворачивается с отображением указанных повторяющихся элементов XML-файла.

    Когда на страницу добавляется XSLT-объект «Повторяющаяся область», длина местозаполнителя для XML-данных в окне документа уменьшается. Это происходит потому, что Dreamweaver усекает выражение XPath для местозаполнителя XML-данных в соответствии с путем повторяющегося элемента.

Настройка свойств повторяющейся области (XSL)

Чтобы создать повторяющуюся область в инспекторе свойств, можно выбрать другой XML-узел.

  1. В окне «Выбор» введите новый узел, затем щелкните значок со вспышкой молнии и выберите узел в дереве отобразившейся XML-схемы.

Редактирование XSLT-объекта «Повторяющаяся область»

После добавления в область XSLT-объекта «Повторяющаяся область» его можно редактировать с помощью инспектора свойств.

  1. Выберите объект, щелкнув серую вкладку вокруг повторяющейся области.
  2. В инспекторе свойств («Окно» > «Свойства») щелкните динамический значок рядом с текстовым полем «Выбор».
  3. В построителе выражений XPath внесите необходимые изменения и нажмите кнопку «ОК».

Вставка XSLT-фрагментов на динамические страницы

После создания XSLT-фрагмента его можно вставить на динамическую веб-страницу с помощью поведения сервера «XSL-преобразование». При добавлении на страницу поведения сервера и просмотре страницы в браузере сервер приложений выполняет преобразование, которое отображает XML-данные из выбранного XSLT-фрагмента. Dreamweaver поддерживает XSL-преобразование для страниц ColdFusion, ASP или PHP.

Примечание.

Если нужно вставить на динамическую страницу содержимое целой XSLT-страницы, процедура будет точно такой же. Прежде чем использовать поведение сервера «XSL-преобразование» для вставки целой XSLT-страницы, удалите с динамической страницы весь HTML-код.

  1. Откройте существующую страницу ColdFusion, ASP или PHP.
  2. В представлении «Дизайн» поместите курсор вставки в то место, куда следует вставить XSLT-фрагмент.

    Примечание.

    При вставке XSLT-фрагментов всегда следует нажимать кнопку «Показать представление "Код" и "Дизайн"» после помещения курсора вставки на страницу. Это позволяет убедиться, что курсор вставки указывает верное расположение. Если расположение неверное, щелкните в другом месте в представлении «Код», чтобы поместить курсор вставки в нужное место.

  3. На панели «Поведение сервера» («Окно» > «Поведение сервера») нажмите кнопку со знаком «плюс» (+) и выберите XSL-преобразование.
    Панель «Поведение сервера»
    Панель «Поведение сервера»

  4. В диалоговом окне «XSL-преобразование» нажмите кнопку «Обзор» и найдите XSLT-фрагмент или целую XSLT-страницу.

    Dreamweaver поместит в следующее текстовое поле путь к файлу или URL-адресу того XML-файла, который прикреплен к указанному фрагменту. Чтобы изменить его, нажмите кнопку «Обзор» и укажите другой файл.

  5. (необязательно) Чтобы добавить параметр XSLT, нажмите кнопку со знаком «плюс» (+).
  6. Чтобы вставить на страницу XSLT-фрагмент, нажмите кнопку «ОК». Этот фрагмент недоступен для редактирования. Чтобы открыть и редактировать файл-источник фрагмента, дважды щелкните его.

    Кроме того, в корневой папке сайта создается папка includes/MM_XSLTransform/, которая содержит файл динамической библиотеки. Сервер приложений выполняет преобразование с помощью функций, определенных в этом файле.

  7. Загрузите динамическую страницу на собственный сервер («Веб-сайт» > «Разместить») и нажмите кнопку «Да», чтобы включить зависимые файлы. Чтобы страница отображалась правильно, необходимо, чтобы XSLT-фрагмент, XML-файл с данными и созданная динамическая библиотека находились на сервере. (Если в качестве источника данных был выбран удаленный XML-файл, этот файл должен находиться в другом месте в Интернете.)

Удаление XSLT-фрагментов с динамических страниц

Чтобы удалить XSLT-фрагмент со страницы, можно удалить поведение сервера «XSL-преобразование», с помощью которого был вставлен этот фрагмент. При удалении поведения сервера удаляется только XSLT-фрагмент, но не связанные XML- и XSLT-файлы, а также файлы динамических библиотек.

  1. На панели «Поведение сервера» («Окно» > «Поведение сервера») выберите XSL-преобразование, которое нужно удалить.
  2. Нажмите кнопку со знаком «минус» (–).

    Примечание.

    Варианты поведения сервера всегда следует удалять именно таким образом. При ручном удалении созданного кода поведение сервера удаляется не полностью, даже если оно исчезает с панели «Поведение сервера».

Редактирование вариантов поведения типа «XSL-преобразование»

После добавления XSLT-фрагмента на динамическую веб-страницу можно в любое время отредактировать поведение сервера «XSL-преобразование».

  1. На панели «Поведение сервера» («Окно» > «Поведение сервера») дважды щелкните то поведение «XSL-преобразование», которое нужно отредактировать.
  2. Внесите свои изменения и нажмите кнопку «ОК».

Можно создать динамическую ссылку на XSLT-странице, по которой будет выполняться переход на конкретный URL-адрес при щелчке на указанном слове или группе слов в XML-данных. Дополнительные инструкции см. в списке опечаток Dreamweaver по адресу www.adobe.com/go/dw_documentation_ru.

Применение стилей к XSLT-фрагментам

При создании целой XSLT-страницы (то есть XSLT-страницы, которая содержит теги <body> и <head>) можно отобразить XML-данные на странице и затем отформатировать эти данные, как и любую другую часть содержимого, с помощью инспектора свойств или панели «Стили CSS». Но при создании XSLT-фрагмента для вставки на динамическую страницу (например, фрагмента для вставки страницы ASP, PHP или Cold Fusion) визуализация стилей фрагмента и динамической страницы становится более сложной. Хотя работа с XSLT-фрагментом происходит отдельно от динамической страницы, важно помнить, что фрагмент предназначен для использования на конкретной динамической странице и что выходные данные этого XSLT-фрагмента в конечном счете будут находиться в пределах тегов <body> этой динамической страницы. Учитывая эти особенности процесса, важно убедиться, что в XSLT-фрагмент не попали элементы <head> (такие как определения стиля или ссылки на внешние таблицы стилей). Это приведет к тому, что сервер приложений поместит эти элементы в теги <body> динамической страницы. В результате получится неправильная разметка.

Например, может понадобиться XSLT-фрагмент для вставки на динамическую страницу и форматирования фрагмента с использованием той же внешней таблицы стилей, что и у динамической страницы. Если присоединить к фрагменту ту же таблицу стилей, то результирующая HTML-страница будет содержать дубликат ссылки на таблицу стилей (одну в разделе <head> динамической страницы, а другую — в разделе <body> этой страницы, где отобразится содержимое XSLT-фрагмента). Вместо этого следует использовать для ссылки на внешнюю таблицу стилей таблицы стилей времени разработки.

При форматировании содержимого XSLT-фрагментов действуйте следующим образом.

  • Сначала присоедините внешнюю таблицу стилей к динамической странице. (Это лучший способ применения стилей к содержимому любой веб-страницы.)

  • Затем присоедините внешнюю таблицу стилей к XSLT-фрагменту в качестве таблицы стилей времени разработки. Как следует из названия, таблицы стилей времени разработки работают только в представлении «Дизайн» Dreamweaver.

    По завершении 2 предыдущих шагов можно создать новые стили в своем XSLT-фрагменте с помощью той же таблицы стилей, которая была присоединена к динамической странице. Выходные данные HTML будут чище (поскольку ссылка на таблицу стилей будет действительна только при работе в Dreamweaver), и фрагмент будет отображать нужные стили в представлении «Дизайн». Кроме того, при просмотре динамической страницы в представлении «Дизайн» или браузере все стили будут применяться как к фрагменту, так и к динамической странице.

Примечание.

При просмотре XSLT-фрагмента в браузере браузер не отображает стили. Чтобы увидеть XSLT-фрагмент в контексте динамической страницы, следует просмотреть динамическую страницу в браузере.

Использование параметров XSL-преобразований

Параметры XSL-преобразования можно определить при добавлении на веб-страницу серверного поведения «XSL-преобразование». Параметры управляют обработкой и отображением XML-данных. Например, с помощью параметра можно идентифицировать и регистрировать конкретную статью из новостного канала. При загрузке страницы в браузер отобразится только статья, указанная с помощью параметра.

Добавление XSLT-параметра к XSL-преобразованию

  1. Откройте диалоговое окно «XSL-преобразование». Для этого дважды щелкните поведение сервера «XSL-преобразование» на панели «Поведение сервера» («Окно» > «Поведение сервера») или добавьте новое поведение «XSL-преобразование».
  2. В диалоговом окне «XSL-преобразование» нажмите кнопку со знаком «Плюс» (+) рядом с параметрами XSLT.
    Диалоговое окно «XSL-преобразование»
    Диалоговое окно «XSL-преобразование»

  3. В диалоговом окне «Добавление параметров» введите имя параметра в поле «Имя». Имя может содержать только буквы и цифры. Оно не должно содержать пробелы.
  4. Выполните одно из следующих действий.
    • Если требуется использовать статическое значение, введите его в поле «Значение».

    • Если требуется использовать динамическое значение, щелкните динамический значок рядом с полем «Значение», заполните диалоговое окно «Динамические данные» и нажмите кнопку «ОК». Для получения дополнительных сведений нажмите кнопку «Справка» в диалоговом окне «Динамические данные».

  5. В поле «Значение по умолчанию» введите то значение, которое параметр будет принимать в том случае, если страница не получит динамическое значение, и нажмите кнопку «ОК».

Редактирование параметра XSLT

  1. Откройте диалоговое окно «XSL-преобразование». Для этого дважды щелкните поведение сервера «XSL-преобразование» на панели «Поведение сервера» («Окно» > «Поведение сервера») или добавьте новое поведение «XSL-преобразование».
  2. Выберите нужный параметр из списка параметров XSLT.
  3. Нажмите кнопку «Изменить».
  4. Внесите свои изменения и нажмите кнопку «ОК».

Удаление параметра XSLT

  1. Откройте диалоговое окно «XSL-преобразование». Для этого дважды щелкните поведение сервера «XSL-преобразование» на панели «Поведение сервера» («Окно» > «Поведение сервера») или добавьте новое поведение «XSL-преобразование».
  2. Выберите нужный параметр из списка параметров XSLT.
  3. Нажмите кнопку со знаком «минус» (–).

Создание и редактирование условных XSLT-областей

На XSLT-странице можно создавать простые условные области или несколько условных областей. Можно либо выбрать элемент в представлении «Дизайн» и применить условную область к выбранному элементу, либо вставить условную область туда, где в документе находится курсор вставки.

Например, если рядом с ценой недоступного товара требуется отображать слово «Недоступно», нужно ввести на странице текст «Недоступно», выбрать его и затем применить к выбранному тексту условную область. Dreamweaver заключит выбранный текст в теги <xsl:if> и будет отображать на странице слово «Недоступно», когда данные будут совпадать с условиями в условном выражении.

Применение условной XSLT-области

Для вставки на XSLT-страницу можно написать простое условное выражение. Если содержимое выбрано при открытом диалоговом окне «Условная область», то содержимое будет вставлено в блок <xsl:if>. Если содержимое не выбрано, то блок <xsl:if> будет добавлен на месте курсора вставки на странице. Рекомендуется сначала использовать диалоговое окно, затем настроить выражение в представлении кода.

Элемент <xsl:if> аналогичен оператору if в других языках. Этот элемент позволяет проверять условия и в зависимости от результата проверки предпринимать те или иные действия. Элемент <xsl:if> позволяет проверять выражение с единственным значением true или false.

  1. Выберите пункт меню «Вставка» > «Объекты XSLT» > «Условная область» или щелкните значок «Условная область» в категории XSLT на панели «Вставка».
  2. В диалоговом окне «Условная область» введите условное выражение, которое будет использоваться в этой области.

    В следующем примере требуется проверить, верно ли, что значение атрибута @available узла контекста равно true.

    Диалоговое окно «Условная область»
    Диалоговое окно «Условная область»

  3. Нажмите кнопку «ОК».

    На XSLT-страницу вставляется следующий код.

    <xsl:if test="@available=&apos;true&apos;"> 
        Content goes here 
    </xsl:if>

    Примечание.

    Строковые значения, такие как true, следует заключать в кавычки. Dreamweaver кодирует кавычки (&apos;) таким образом, что они вводятся как допустимые символы XHTML.

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

    Тестирование для последнего узла в наборе результатов
    Тестирование для последнего узла в наборе результатов

    Дополнительные сведения и примеры написания условных выражений см. в разделе <xsl:if> на панели «Справочные материалы» («Справка» > «Справочные материалы»).

Применение нескольких условных XSLT-областей

Для вставки на XSLT-страницу можно написать простое условное выражение. Если содержимое выбрано при открытом диалоговом окне «Условная область», то содержимое будет вставлено в блок <xsl:choose>. Если содержимое не выбрано, то блок <xsl:choose> будет добавлен в то место, где находится курсор вставки на странице. Рекомендуется сначала использовать диалоговое окно, затем настроить выражение в представлении «Код».

Элемент <xsl:choose> аналогичен оператору case в других языках. Этот элемент позволяет проверять условия и в зависимости от результата проверки предпринимать те или иные действия. Элемент <xsl:choose> позволяет проверить несколько условий.

  1. Выберите пункт меню «Вставка» > «Объекты XSLT» > «Область с несколькими условиями» или щелкните значок «Область с несколькими условиями» в категории XSLT на панели «Вставка».
  2. В диалоговом окне «Область с несколькими условиями» введите первое условие.

    В следующем примере надо проверить, верно ли, что значение вложенного элемента price узла контекста меньше 5.

    Диалоговое окно «Множественная условная область»
    Диалоговое окно «Множественная условная область»

  3. Нажмите кнопку «ОК».

    В этом примере на XSLT-страницу вставляется следующий код.

    <xsl:choose> 
        <xsl:when test="price&lt;5"> 
            Content goes here 
        </xsl:when> 
        <xsl:otherwise> 
            Content goes here 
        </xsl:otherwise> 
    </xsl:choose>
  4. Чтобы вставить следующее условие, поместите курсор вставки в представлении «Код» между парой тегов <xsl:when> или непосредственно перед тегом <xsl:otherwise>, затем вставьте условную область («Вставка» > «XSLT-объекты» > «Условная область»).

    Когда вы зададите условие и нажмете кнопку «OК», тег <xsl:when> будет вставлен в блок <xsl:choose>.

    Дополнительные сведения и примеры написания условных выражений см. в разделе <xsl:choose> на панели «Справочные материалы» («Справка» > «Справочные материалы»).

Установка свойств условной области (If)

Инспектор «Установка свойств условной области» предназначен для изменения условия, использованного в условной области на XSL-странице. Условная область проверяет условие и в зависимости от результата предпринимает ряд действий.

  1. В поле «Проверка» введите новое условие и нажмите клавишу Enter.

Установка условных свойств (When)

Инспектор «Установка свойств условной области» предназначен для изменения условия, использованного в нескольких условных областях на XSL-странице. Условие проверяется в нескольких условных областях, и в зависимости от результата выполняются те или иные действия.

  1. В поле «Проверка» введите новое условие и нажмите клавишу Enter.

Вставка XSL-комментариев

В документ можно добавить теги XSL-комментариев либо вставить выбранную область в теги XSL-комментариев.

Добавление XSL-комментариев в документ

  1. Выполните одно из следующих действий.
    • В представлении «Дизайн» выберите «Вставка» > «XSLT-объекты» > «XSL-комментарии», введите содержимое комментария (или оставьте поле пустым) и нажмите кнопку «OК».

    • В представлении «Код» выберите «Вставка» > «XSLT-объекты» > «XSL-комментарии».

    Примечание.

    Можно также щелкнуть значок «XSL-комментарий» в категории XSLT на панели «Вставка».

Вставка выбранной области в теги XSL-комментариев

  1. Переключитесь на представление кода («Просмотр» > «Код»).
  2. Выделите код, который нужно прокомментировать.
  3. На панели инструментов «Создание кода» нажмите кнопку «Применить комментарий» и выберите команду «Применить <xsl:comment></xsl:comment> комментарий».

Добавление выражений для XML-данных с помощью построителя выражений XPath

XPath (язык XML Path) является синтаксисом, отличным от XML, для обращения к фрагментам XML-документа. Он используется преимущественно как язык запросов для XML-данных подобно тому, как язык SQL используется для запросов к базам данных. Дополнительные сведения о языке XPath см. в спецификации языка XPath на сайте W3C по адресу: www.w3.org/TR/xpath.

Построитель выражений XPath — это компонент Dreamweaver, позволяющий создавать простые выражения XPath для идентификации конкретных узлов данных и повторяющихся областей. Преимуществом использования этого метода перед перетаскиванием значений из XML-схемы является возможность форматирования отображаемого значения. Текущий контекст идентифицируется, исходя из положения курсора вставки в XSL-файле при открытом диалоговом окне построителя выражений XPath. В дереве XML-схемы текущий контекст выделен полужирным шрифтом. При выборе элементов в этом диалоговом окне создаются правильные операторы языка XPath относительно текущего контекста. Это упрощает процесс написания выражений XPath как для начинающих, так и для опытных пользователей.

Примечание.

Эта возможность призвана облегчить написание простых выражений XPath для идентификации конкретных узлов и повторяющихся областей. Она не позволяет редактировать выражения вручную. Если требуется создать сложное выражение, используйте построитель выражений XPath в начале работы, а затем настраивайте выражения в представлении «Код» или с помощью инспектора свойств.

Создание выражения XPath для идентификации конкретного узла

  1. Чтобы открыть построитель выражений XPath, дважды щелкните на странице местозаполнитель XML-данных.
  2. В диалоговом окне «Построитель XPath-выражений (динамический текст)» выберите любой узел в дереве XML-схемы.

    В поле «Выражение» будет написано правильное выражение XPath для идентификации этого узла.

    Примечание.

    При выборе другого узла в дереве XML-схемы выражение изменится в соответствии с выбором.

    В следующем примере необходимо отобразить вложенный элемент price узла item:

    Диалоговое окно построителя XPath-выражений (динамический текст)
    Диалоговое окно построителя XPath-выражений (динамический текст)

    При этом на XSLT-страницу будет вставлен следующий код.

    <xsl:value-of select="price"/>
  3. Можно выбрать параметр форматирования во всплывающем меню «Формат» (необязательно).

    Форматирование выделенной области удобно, когда возвращаемое узлом значение является числом. В Dreamweaver предусмотрен стандартный список функций форматирования. Полный список доступных функций форматирования и примеры приведены на панели «Справочные материалы».

    В следующем примере вложенный элемент price требуется отформатировать как денежное значение с 2 десятичными знаками.

    Формат денежного значения с 2 десятичными знаками для вложенного элемента «price»
    Формат денежного значения с 2 десятичными знаками для вложенного элемента «price»

    При этих параметрах на XSLT-страницу будет вставлен следующий код:<xsl:value-of select="format-number(provider/store/items/item/price,'$#.00')"/>

    <xsl:value-of select="format-number(provider/store/items/item/price,'$#.00')"/>
  4. Нажмите кнопку «ОК».
  5. Чтобы отобразить значение каждого узла в XML-файле, примените повторяющуюся область к элементу, содержащему динамический текст (например, строку таблицы HTML или абзац).

    Дополнительные сведения и примеры выбора узлов, возвращающих значения, см. в разделе <xsl:value-of/> на панели «Справочные материалы».

Выбор узла для повторения

Выберите узел, который будет повторяться (при необходимости с фильтрацией результатов). В диалоговом окне «Построитель XPath-выражений» выбранное содержимое будет вставлено в блок <xsl:for-each>. Если содержимое не было выбрано, то блок <xsl:for-each> будет помещен в том месте, где находится курсор вставки.

  1. Чтобы открыть построитель выражений XPath, дважды щелкните на странице местозаполнитель XML-данных.
  2. В диалоговом окне «Построитель XPath-выражений (повторяющаяся область)» выберите в дереве XML-схемы любой узел для повторения.

    В поле «Выражение» будет написано правильное выражение XPath для идентификации этого узла.

    Примечание.

    Повторяющиеся элементы показаны символом «плюс» (+) в дереве XML-схемы.

    В следующем примере требуется повторить каждый узел item XML-файла.

    Диалоговое окно построителя XPath-выражений (повторяющаяся область)
    Диалоговое окно построителя XPath-выражений (повторяющаяся область)

    В этом примере на XSLT-страницу при нажатии кнопки «ОК» будет вставлен следующий код.

    <xsl:for-each select="provider/store/items/item"> 
     Content goes here 
    </xsl:for-each>

    В некоторых случаях может понадобиться работать с подмножеством повторяющихся узлов, например только с теми элементами, атрибут которых имеет определенное значение. В этом случае нужно создать фильтр.

Фильтрация повторяющихся данных

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

  1. В дереве XML-схемы выберите узел, который будет повторяться.
  2. Нажмите кнопку развертывания «Фильтр построения».
  3. Чтобы создать пустой фильтр, нажмите кнопку со знаком «плюс» (+).
  4. Введите критерии фильтра в следующие поля.

    Фильтровать по

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

    Где

    Указывает атрибут или вложенный элемент узла «Фильтровать по», который будет использован для ограничения результатов. Можно выбрать атрибут или вложенный элемент во всплывающем меню либо ввести в этом поле собственное выражение XPath для идентификации дочерних элементов, расположенных ниже в дереве схемы.

    Оператор

    Указывает оператор сравнения, который будет использоваться в выражении фильтра.

    Значение

    Указывает значение для проверки в узле «Фильтровать по». Введите значение Если для XSLT-страницы определены динамические параметры, то их можно выбрать во всплывающем меню.

  5. Чтобы указать другой фильтр, нажмите кнопку со знаком «плюс» (+) еще раз.

    Выражение XPath в поле «Выражение» будет изменяться при вводе значений или выборе элементов во всплывающем меню.

    В следующем примере требуется ограничить результирующий набор только теми узлами item, значение атрибута @available которых равно true.

    Ограничение результирующего набора только теми узлами item, значение атрибута @available которых равно «true»
    Ограничение результирующего набора только теми узлами item, значение атрибута @available которых равно «true»

    В этом примере на XSLT-страницу при нажатии кнопки «ОК» будет вставлен следующий код. <xsl:for-each select="provider/store/items/item[@available = &apos;true&apos;]"> Здесь располагается содержимое </xsl:for-each>

    <xsl:for-each select="provider/store/items/item[@available = &apos;true&apos;]"> 
          Content goes here 
    </xsl:for-each>

    Примечание.

    Строковые значения, такие как true, следует заключать в кавычки. Dreamweaver кодирует кавычки (&apos;) таким образом, что они вводятся как допустимые символы XHTML.

    Можно создавать более сложные фильтры, позволяющие указывать в качестве части критерия фильтрации родительские узлы. В следующем примере надо ограничить результирующий набор только теми узлами item, у которых для узла store значение атрибута @id равно 1, а узлу item соответствует значение price, большее или равное 5.

    Ограничение результирующего набора только теми узлами item, у которых для узла store значение атрибута @id равно 1, а узлу item соответствует значение price, большее или равное 5
    Ограничение результирующего набора только теми узлами item, у которых для узла store значение атрибута @id равно 1, а узлу item соответствует значение price, большее или равное 5

    В этом примере на XSLT-страницу при нажатии кнопки «ОК» будет вставлен следующий код. <xsl:for-each select="provider/store[@id = 1]/items/item[price &gt; 5]"> Здесь располагается содержимое </xsl:for-each>

    Дополнительные сведения и примеры повторяющихся областей см. в разделе <xsl:for-each> на панели «Справочные материалы».

    <xsl:for-each select="provider/store[@id = 1]/items/item[price &gt; 5]"> 
        Content goes here 
    </xsl:for-each>

Эта работа лицензируется в соответствии с лицензией Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported  На посты, размещаемые в Twitter™ и Facebook, условия Creative Commons не распространяются.

Правовые уведомления   |   Политика конфиденциальности в сети Интернет