Форматирование и преобразование XML документа с помощью CSS и XSL. XSLT преобразование XML документа
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 на веб-сервере.