Спонсор: Microsoft
Воронежский государственный университет
Опубликован: 04.02.2009 | Доступ: свободный | Студентов: 8216 / 665 | Оценка: 4.14 / 3.78 | Длительность: 19:54:00
Самостоятельная работа 13:

Форматирование и преобразование XML документа с помощью CSS и XSL. XSLT преобразование XML документа

< Самостоятельная работа 12 || Самостоятельная работа 13: 123 || Лекция 12 >
Аннотация: Цель работы: знакомство с методами форматирования и преобразования XML документов на основе XSLT преобразований.

XSLT можно определить следующим образом:

  • XSLT обозначает XSL Transformations.
  • XSLT является самой важной частью XSL преобразования
  • XSLT позволяет преобразовывать один XML в другой XML документ.
  • XSLT использует XPath для перемещения по структуре XML документа.
  • XSLT является W3C рекомендацией.

XSLT используется для преобразования XML документа в другой XMLдокумент либо в документ другого распознаваемого браузерами типа, например HTML или XHTML. Обычно XSLT делает это, преобразуя каждый XML элемент в соответствующий ему (X)HTML элемент.

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

Фактически XSLT преобразует исходное XML дерево в результирующее XML дерево.

XSLT использует XPath для поиска информации в XML документе, т.е. XPath является инструментов навигации по элементам и атрибутам XML документов.

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

XSLT является W3C рекомендацией с ноября 1999 года.

Подавляющее большинство браузеров имеют поддержку XML и XSLT.

  • Internet Explorer

    Начиная с 6 версии, Internet Explorer поддерживает XML, пространства имен, CSS, XSLT и XPath. Версия 5 не совместима с официальной W3C XSL Рекомендацией.

  • Mozilla Firefox

    Начиная с версии 1.0.2, Firefox поддерживает XML и XSLT (CSS).

  • Mozilla

    Mozilla содержит Expat for XML парсер поддерживает отображение XML+CSS. Также имеет поддержка пространства имен. Реализует XSLT преобразования.

  • Netscape

    Начиная с версии 8, Netscape использует в качестве ядра Mozilla, и поэтому имеет такую же поддержку XML/XSLT.

  • Opera

    Начиная с версии 9, Opera поддерживает XML и XSLT (CSS). Версия 8 поддерживает только XML+CSS.

Объявление XSL

Корневым элементом, указывающим на то, что документ является XSL таблицей стилей является следующий:

<xsl:stylesheet>

или полностью равноценный ему

<xsl:transform>

В соответствии с W3C XSLT Рекомендацией корректный способ объявления таблицы стилей XSL выглядит следующим образом:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

или

<xsl:transform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

Для того чтобы XSLT элементы, атрибуты и характеристики были доступны в начале документа необходимо объявить пространство имен XSLT:

xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

указывающее на официальное пространство имен W3C XSLT. При этом также следует указать атрибут version="1.0".

Реализация преобразования с помощью JavaScript

В приведенных выше примерах XSLT преобразование из XML в XHTML выполнялось самими браузерами на основе таблицы стилей XSL. Однако такое решение, связанное с включением XSL таблицы стилей в XML документ является не всегда желательным, поскольку может поддерживаться не всеми браузерами.

Использование в качестве альтернативы JavaScript позволяет:

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

Другим решением для браузеров, не поддерживающих XSLT является преобразование XML в XHTML на веб-сервере.

< Самостоятельная работа 12 || Самостоятельная работа 13: 123 || Лекция 12 >
Михаил Олифиренко
Михаил Олифиренко
Александр Табачук
Александр Табачук

Это только у меня не работает кнопочка "Получить код DreamSpark"? Пишет "временно не доступно..." А когда заработает?