Xsl формат как выглядит

girl 1848472 1920 Советы на день
Содержание
  1. XSL-таблицы стилей: отображение XML-документа
  2. Основы использования XSL-таблиц стилей
  3. Каталог товаров
  4. Заголовок
  5. Заголовок
  6. Пример отображения XML-документа
  7. Фильтрация и сортировка данных
  8. Файлы XSLT – чем открыть и преобразовать формат файла
  9. Как открыть файл XSLT
  10. Как преобразовать файл XSLT
  11. Дополнительная информация о файлах XSLT
  12. Всё ещё не можете открыть файл?
  13. Практический XSLT. Использование в качестве шаблонизатора
  14. Рабочий стол
  15. Входной XML-документ
  16. Подготовка XHML-шаблона
  17. Администрирование сайта
  18. Основы описания XSL-шаблонов
  19. Структура папок шаблонов
  20. Создание шаблона для основного навигационного меню
  21. 1. Создаем в директории xsl/my_template файл navigation.xsl следующего вида:
  22. 2. Вставляем в шаблон код нашего меню из файла layout.xsl:
  23. 3. …а на его место в файле layout.xsl вставляем вызов нашего шаблона меню:
  24. 4. Плюс, добавим в файл layout.xsl директиву импорта файла шаблона navigation.xsl:
  25. 5. Далее, создаем в файле navigation.xsl еще один шаблон, для обработки пунктов меню:
  26. 6. Немного изменяем шаблон sections:
  27. 7. Теперь нам необходимо доделать меню,
  28. 8. Теперь, разберем шаблон href_attribute:
  29. XSLT первый шаг
  30. 1. Введение
  31. 2. Валидный XHTML
  32. 3. XSLT-преобразования
  33. 4. Приложение
  34. Ссылки на исходный код
  35. Использование PHP5 для обработки XSLT
  36. Мысли вслух
  37. Краткое руководство по XSLT
  38. Нужен для XSL
  39. Что такое XSLT
  40. Как работает XSLT
  41. преимущества
  42. Синтаксис XSLT
  43. Шаг 1. Создайте документ XSLT
  44. Шаг 2. Свяжите документ XSLT с документом XML
  45. Шаг 3. Просмотр XML-документа в Internet Explorer
  46. Выход
  47. декларация
  48. Атрибуты
  49. элементы
  50. Демо-пример
  51. Выход
  52. декларация
  53. Атрибуты
  54. элементы
  55. Демо-пример
  56. Проверьте вывод
  57. декларация
  58. Атрибуты
  59. элементы
  60. Демо-пример
  61. Выход
  62. декларация
  63. Атрибуты
  64. элементы
  65. Демо-пример
  66. Выход
  67. декларация
  68. Атрибуты
  69. элементы
  70. Демо-пример
  71. Выход
  72. декларация
  73. элементы
  74. Демо-пример
  75. Выход
  76. декларация
  77. Атрибуты
  78. элементы
  79. Демо-пример
  80. Выход
  81. декларация
  82. Атрибуты
  83. элементы
  84. Демо-пример
  85. Выход
  86. декларация
  87. Атрибуты
  88. элементы
  89. Демо-пример
  90. Выход
  91. декларация
  92. Атрибуты

XSL-таблицы стилей: отображение XML-документа

Основы использования XSL-таблиц стилей

Если вы связываете с XML-документом более одной XSL-таблицы стилей, браузер использует первую таблицу и игнорирует все остальные. Если вы связываете с XML-документом одновременно CSS-таблицу и XSL-таблицу стилей, браузер использует только XSL-таблицу стилей.

Если XML-документ не связан ни с CSS-таблицей, ни с XSL-таблицей стилей, Internet Explorer отобразит документ с помощью встроенной XSL-таблицы, которая используется по умолчанию. Эта таблица расположена на вашем локальном компьютере по такому адресу:

Вы можете просмотреть эту таблицу, введя указанный URL в адресную строку Internet Explorer.

XSL-таблица включает один или несколько шаблонов, каждый из которых содержит информацию для отображения определённой ветви элементов в XML-документе. XSL-таблица должна иметь корневой элемент xsl:stylesheet, содержащий все шаблоны и имеющий следующую форму записи:

Шаблоны имеют следующую форму:

Браузер использует каждый шаблон для отображения определённой ветви элементов в иерархии XML-документа. Атрибут match шаблона указывает на определённую ветвь и аналогичен селектору в правиле CSS. Значение атрибута match называется образцом (pattern). Образец в приведённом выше примере («/») представляет «элемент», для которого является дочерним корневой элемент XML-документа (т.е. представляет «сам» XML-документ). Этот шаблон будет таким образом служить для отображения всего XML-документа. Каждая XSL-таблица стилей должна содержать один и только один шаблон с образцом «/». Вы также можете включить один или несколько дополнительных шаблонов для отображения определённых подчинённых ветвей XML-документа.

Каталог товаров

Браузер отличает XML-элемент от HTML-элемента, поскольку первый имеет префикс xsl.

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

Вам не нужно включать в XSL-шаблон HTML-элементы «HTML» и «BODY», поскольку они будут сформированы автоматически.

Чтобы отобразить все отвечающие образцу XML-элементы, а не только первый из них, следует использовать XSL-элемент for-each, например:

Заголовок

Атрибут select элемента for-each задаёт текущий элемент, поэтому внутри элемента for-each все образцы (пути к элементам в атрибутах select) задаются уже относительно этого текущего элемента.

Другой способ отображения всех отвечающих образцу XML-элементов, а не только первого из них, состоит в использовании XSL-элемента apply-templates:

Заголовок

В приведённом выше примере XSL-элемент apply-templates сообщает браузеру, что для каждого элемента PRODUCT внутри корневого элемента PRODUCTS он должен обрабатывать шаблон, для атрибута match которого установлено значение «PRODUCT».

Если вы не укажете атрибут select для элемента apply-templates, браузер будет обрабатывать соответствующий шаблон (если таковой имеется) для каждого дочернего элемента текущего элемента.

XSL трактует любой атрибут, принадлежащий любому элементу в XML-документе, как дочерний элемент. Однако, когда вы ссылаетесь на атрибуты, вы должны предварять имя атрибута символом @. Например, вот так может выглядеть ссылка на атрибут import элемента PRODUCT:

Пример отображения XML-документа

Попробуем отобразить с помощью XSL-таблицы стилей следующий XML-документ, представляющий из себя некий абстрактный упрощённый каталог товаров:

XSL-таблица стилей (файл Sample.xsl) для отображения приведённого выше XML-документа может выглядеть следующим образом:

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

Следующий образец указывает, что обрабатывать надо только импортные товары (т.е. только те элементы PRODUCT, у которых атрибут import равен «yes»:

Если в фильтр включено только имя элемента (без знака равенства и «контрольного» значения), проверяется только наличие этого дочернего элемента. Если элемент имеет более одного дочернего элемента с именем, указанным в условии фильтрации, проверяется только первый дочерний элемент.

Источник

Файлы XSLT – чем открыть и преобразовать формат файла

30157032

Файл с расширением XSLT представляет собой файл расширяемого языка стилей преобразования. Это язык, который использует инструкции XSL для преобразования и стилизации XML-файла.

Файл XSLT представляет собой текстовый файл и содержит правила, которым должен следовать файл XML. Помимо других функций, XSLT можно использовать для сортировки и упорядочивания различных частей файла XML и скрытия некоторых элементов. На W3Schools.com есть несколько примеров XSLT, которые вы можете посмотреть.

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

Как открыть файл XSLT

Вы можете открыть файл XSLT в любом текстовом редакторе, так как это текстовый файл. Блокнот Windows – это встроенный в Windows текстовый редактор, который может быть полезен, если вам нужно быстро внести изменения, но, вероятно, это не лучшая программа для интенсивного редактирования.

Используйте расширенный текстовый редактор для открытия и редактирования файла XSLT. Она структурирует файл XSLT таким образом, что код гораздо легче редактировать и читать, чем с самыми простыми текстовыми редакторами, такими как Блокнот.

Visual Studio от Microsoft – ещё один инструмент для открытия и редактирования XSLT, который упрощает весь процесс редактирования. Пока вы вносите изменения в файл XSLT, вы можете посмотреть, как преобразования будут выглядеть в результирующем файле, через меню XML.

Хотя они не бесплатны, XMLSpy XSLT Editor и Liquid XML Studio – это ещё несколько хороших вариантов.

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

Как преобразовать файл XSLT

Если вы откроете файл XSLT в редакторе, таком как Visual Studio, вы сможете сохранить файл в ряде других форматов, таких как XSL, XSD, XML, DTD, CONFIG и других.

То, что вы можете использовать вместо преобразования файла XSLT, – это способ фактическое преобразование файлов XML.

XSLT-файлы создают документы путём объединения инструкций XSL-файла и кода XML-файла. Для этой цели вы можете использовать XSL Transformer от FreeFormatter.com. Он поддерживает вставку значений XML и XSL на веб-сайт, а также загрузку этих файлов с вашего компьютера.

Дополнительная информация о файлах XSLT

Более подробную информацию о том, как XSLT-файлы структурированы, а также примеры и учебные пособия по их использованию можно найти на W3Schools, Quackit и в официальной спецификации XSLT.

Статья Википедии на эту тему – ещё один хороший источник расширенной информации о файлах XSLT.

Всё ещё не можете открыть файл?

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

Расширение файла XSLT очень похоже на расширение файла, встречающееся в нескольких других форматах файлов, таких как XLSX, XSPF и XSLIC (XenServer License), но это не означает, что эти форматы имеют что-то общее. Если ваш файл не открывается как XSLT-файл с использованием программ, о которых я упоминал выше, попробуйте перепроверить, с каким форматом файла вы работаете.

Источник

Практический XSLT. Использование в качестве шаблонизатора

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

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

Рабочий стол

К XHTML-макету никаких ограничений нет. Есть лишь определенные рекомендации по верстке, которые позволят значительно сэкономить время на формирование шаблона.

В качестве парсера (сборщика) конечного документа можно использовать браузер. Нужно лишь указать в XML-документы путь к файлу шаблону:

Хотя, как показала практика, этот механизм довольно глючный (мне пришлось пользовать IE). Лучше воспользоваться средствами XML-парсинга языка, на котором написана CMS-система. Я использую Parser (на нем, вообщем-то, у меня вся система и работает).

Входной XML-документ

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

Я использую следующую схему:

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

— заголовок XML-файла. Должен идти строго с начала файла. В нем прописана версия используемого XML-языка и кодировка документа. Я как правило работаю в windows-1251 (пока так удобнее), но, по идее UTF-8 лучше.

Подготовка XHML-шаблона

XSL-шаблон создается на базе XHTML-шаблона (некой типовой страницы сайта). Код XHTML-страницы, при этом, должен быть валидным.

Рассмотрим по шагам процесс создания шаблона.

Администрирование сайта

Основы описания XSL-шаблонов

Все файлы XSL-шаблонов имеют следующий вид:

данные шаблона

Структура папок шаблонов

Для того, чтобы хранить на одном сайте несколько модулей необходимо как-то продумать структуру их хранения в папкам. При этом, удобнее разбить шаблоны на модули по нескольким xsl-файлам. Такой подход позволит в дальнейшем повторно их использовать при создании новых шаблонов.

В простейшем варианте можно создать каталог xsl и там все складировать.

Где:
— шаблон для элемента /node() (корневого). Вместо /node() можно указать //document, т.к. он у нас являеться корневым узлом.

Копируем весь XHTML-код внутрь блока

Этот шаблон будет автоматически применяться ко всему XML-документу. В нашем случае, XSL-преобразование заменит весь XML-код на XHTML-код вашего шаблона.

Где:

Директива импорта внешнего XSL-файла (обрабатываеться XSL-процессором) из указанного файла. Путь к файлу указываем относительный.

Создание шаблона для основного навигационного меню

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

Меню навигации сайта строиться на основе его структуры, представленной в XML-документе в следующем виде:

Начало
/

1. Создаем в директории xsl/my_template файл navigation.xsl следующего вида:

2. Вставляем в шаблон код нашего меню из файла layout.xsl:

3. …а на его место в файле layout.xsl вставляем вызов нашего шаблона меню:

4. Плюс, добавим в файл layout.xsl директиву импорта файла шаблона navigation.xsl:

5. Далее, создаем в файле navigation.xsl еще один шаблон, для обработки пунктов меню:

Где:
— вызов шаблона по имени. При этом шаблон не имеет привязки к элементу, т.е. вызывается произвольно.

6. Немного изменяем шаблон sections:

Где:
— обработка всех элементов item элемента sections. При этом, элементы item самих элементов item (sections/item/item) обрабатываться не будут, т.е. выводиться только один уровень меню разделов.

Мы вынесли обработку элементов item (пунктов меню) в отдельный шаблон. При этом, в нем мы добавили еще и вызов другого шаблона:

Этот шаблон будет формировать нормальные uri-ссылки для элементов нашего меню. О нем немного позже.

7. Теперь нам необходимо доделать меню,

чтобы оно учитывало, какой раздел является текущим. Для этого нам придется добавить условную обработку в наш шаблон элемента item:

Здесь мы сталкиваемся с новой конструкцией:

…которая, собственно, и задает условную обработку XML-элементов. В качестве параметра мы задаем условие:

В нашем случае это условие равенства атрибутов ID у корневого элемента (document) и текущего элемента (item), которое и определяет, является ли элемент текущим.

8. Теперь, разберем шаблон href_attribute:

Здесь мы сталкиваемся с инструкцией xsl:attribute. Она позволяет создавать атрибуты для элементов внутри которого она вызывается. В нашем случае мы вызываем ее из элемента a, соответственно, она создаст для него атрибут href, т.е. адрес.

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

UPD:
Материалы к статье. Собрал из того, что было:
parser.proc.ru/iso/xslt-1.zip

В шаблоне все пути прописаны от корня (делал на основе шаблона работающего на реальном сайте) поэтому либо перепишите их на относительные либо запускайте из под Apache.

Источник

XSLT первый шаг

1. Введение

Важные ссылки по теме, первоисточники:

Переводы на русский язык:

Для лучшего понимания всего происходящего я рекомендую читать спецификации в следующем порядке:

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

2. Валидный XHTML

Что такое валидный XHTML? В первую очередь, это XML-документ, который должен соответствовать спецификации XML. Во-вторую, почти обычная HTML-страница, к которой все привыкли.

Почему нужен именно XHTML? Исключительно из соображений совместимости и кросс-браузерности. Страница в XHTML будет с большей вероятностью отображаться корректно в популярных браузерах, чем обычный HTML.

Для рядового клепателя страниц словосочетание XML-документ должно означать следующее:

Также сам XHTML обязывает выполнять следующие условия:

Пример простого документа XHTML1.0:

И так обо всём по порядку.

Объявление XML-документа, в котором указывается его версия и кодировка.

Для большей безопасности кодировку нужно всегда выставлять, иначе могут возникнуть проблемы с невалидными (по отношению к дефолтной кодировке) символами.

Объявление типа документа и его схемы.

Объявление пространства имён и используемого языка.

Очень важно указывать ссылку именно в таком регистре и никак иначе. Это связано с тем, что в XML имена элементов и содержимое их атрибутов регистрозависимы.

Три версии XHTML1.0 предназначены для лучшей обратной совместимости:

Помимо XHTML1.0 на данный момент доступен XHTML1.1:

XHTML1.1 по сути является тем же XHTML1.0 Strict и призван вытеснить другие версии XHTML1.0. Однако, по сравнению с XHTML1.0 Strict, у него есть ряд отличий:

Итак, если вам нужна наибольшая кросс-браузерность и совместимость с рекомендациями W3C, то XHTML1.1 самое оно!

Из этих соображений результатом моих преобразований будет именно XHTML1.1.

3. XSLT-преобразования

Что такое XSLT? Это язык преобразований XML-документа, который был разработан как часть расширенного языка стилей (XSL).

Зачем нужен XSLT? Он позволяет реализовать схему, при которой данные хранятся отдельно, а их представление отдельно. То есть, один XML-документ преобразуется с помощью другого XML-документа (XSL, в котором находятся XSLT-шаблоны) в конечный документ. Результатом может быть XML, HTML или текстовый документ любого формата.

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

Валидным XSL-документом является XML-документ, у которого задано пространство имён xsl и присутствует корневой элемент stylesheet. В самом простом случае стиль может выглядеть, например, так:

Этот стиль не содержит каких-либо явных определений шаблонов или других элементов XSL. Однако, его уже можно использовать. Чтобы посмотреть результат, достаточно сформировать произвольный XML-документ и подключить к нему этот стиль:

За подключение стиля отвечает строка:

Если файлы text.xml и test.xsl созданы и находятся в одной папке, то с помощью любого XSLT-парсера можно преобразовать исходный test.xml в результирующий документ. В качестве парсера могут выступать все популярные браузеры (IE5+, FF2+, Opera9+ и другие), а также модули в языках программирования, например, в PHP. Если вы используете браузер, то достаточно открыть test.xml, и он сразу отобразит примерно такой результат:

При этом кодировка результата будет UTF-8, несмотря на то, что исходный документ был сформирован в windows-1251. К сожалению, браузеры обычно не позволяют просмотреть код результирующего документа, но модуль XSLT в PHP5 даёт возможность передать результирующий код в переменную, которую можно сохранить в файл. Поэтому, используя PHP, я приведу исходный код результирующего документа:

Этот код не является валидным XML-документом и тем более XHTML1.1. Для того, чтобы сформировать нужный код, я усложню исходный XSL-стиль и добавлю туда необходимые шаблоны и преобразования. При этом исходный XML-документ останется без изменений.

В качестве примера я приведу XSL-стиль, который при помощи XSLT будет выводить список атрибутов исходного XML-документа с их значениями, при этом будет формироваться валидный XHTML1.1. Итак, стиль:

Чтобы понять, как он работает, я распишу каждое действие отдельно:

Документ сформирован в кодировке windows-1251, о чём сообщается в атрибуте encoding. Версию XML-документа желательно всегда указывать, это рекомендация W3C.

Затем идёт объявление корневого элемента, стиля:

Следующим шагом в корневом элементе stylesheet объявляется, каким образом нужно формировать результирующий документ:

Объявление основного шаблона:

Именно этот XSLT-шаблон соответствует корню исходного дерева и будет вызван первым для преобразования. Атрибут match принимает значения, которые должны соответствовать языку поиска элементов XPath.

Остальные шаблоны, если таковые имеются, должны подключаться из этого шаблона при помощи средств XSLT.

Атрибут xmlns= «http://www.w3.org/1999/xhtml» указывает на пространство имён xhtml, которое будет применено по умолчанию к этому элементу и всем дочерним элементам, у которых оно не задано явно.

Атрибут xml:lang= «ru» указывает на язык, в котором сформирована страница (будущая).

Эта часть стиля была нужна для формирования атрибутики валидного XHTML1.1 кода.

Теперь что касается XSLT-преобразований:

Вставка простого текста:

Текст «Мой список:» будет подставлен в тег

Организация цикла по выборке:

Атрибут select принимает выражение XPath, на основе которого делает выборку. Если выборка вернула список узлов, то начинает работать цикл по каждому элементу.

В данном случае выборка вернёт список атрибутов для этого (корневого) и всех дочерних элементов.

В данном случае проверяется на чётность позиция элемента в списке выборки. Если тест возвращает true (порядковый номер элемента чётный), то срабатывает содержимое этого элемента.

Управление атрибутами вышестоящего элемента:

Вывод значений элемента:

Этот код подставит в вышестоящий элемент строку, собранную из имени текущего элемента и его значения. Содержимое атрибута select соответствует XPath.

Вывод ссылки на разработчика парсера XSLT:

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

Результатом обработки этого стиля ( test.xsl ) станет такой код:

Этот код соответствует стандарту XHTML1.1 и был сформирован на основе исходного XML-документа. Для проверки можно воспользоваться валидатором от W3C, который расположен по адресу http://validator.w3.org/.

В браузере этот код выглядит примерно так:

IE 6 FireFox 3 Opera 9.02
ie6 ff3 opera902

4. Приложение

Ссылки на исходный код

Постоянный адрес статьи //anton-pribora.ru/articles/xml/xslt-first-step/. /Автор: Прибора Антон Николаевич, 2009 год/

Использование PHP5 для обработки XSLT

Для получения результирующего документа при помощи PHP5 я использовал такой код:

Дополнительную информацию по использованию XSLT в PHP5 можно найти по адресу http://ru2.php.net/manual/ru/book.xslt.php.

Мысли вслух

«Товарищи, мы стоим на краю огромной пропасти! И я предлагаю сделать большой, решительный шаг вперёд!»

© 2021 Антон Прибора. При копировании материалов с сайта, пожалуйста, указывайте ссылку на источник.

Источник

Краткое руководство по XSLT

Прежде чем изучать XSLT, мы должны сначала понять XSL, что означает E X X- LX. Это похоже на XML, как CSS на HTML.

Нужен для XSL

В случае HTML-документа предварительно определены теги, такие как таблица, div и span; и браузер знает, как добавить стиль к ним и отобразить те, которые используют стили CSS. Но в случае документов XML теги не предопределены. Чтобы понять и оформить XML-документ, Консорциум World Wide Web (W3C) разработал XSL, который может выступать в качестве языка таблиц стилей на основе XML. Документ XSL определяет, как браузер должен отображать документ XML.

Ниже приведены основные части XSL —

XSLT — используется для преобразования XML-документа в различные другие типы документов.

XPath — используется для навигации по документу XML.

XSL-FO — используется для форматирования документа XML.

XSLT — используется для преобразования XML-документа в различные другие типы документов.

XPath — используется для навигации по документу XML.

XSL-FO — используется для форматирования документа XML.

Что такое XSLT

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

Как работает XSLT

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

xlst working 1

преимущества

Вот преимущества использования XSLT —

Независимо от программирования. Преобразования записываются в отдельный файл xsl, который снова является документом XML.

Вывод можно изменить, просто изменив преобразования в файле xsl. Нет необходимости менять код. Таким образом, веб-дизайнеры могут редактировать таблицу стилей и быстро увидеть изменения в выводе.

Независимо от программирования. Преобразования записываются в отдельный файл xsl, который снова является документом XML.

Вывод можно изменить, просто изменив преобразования в файле xsl. Нет необходимости менять код. Таким образом, веб-дизайнеры могут редактировать таблицу стилей и быстро увидеть изменения в выводе.

Синтаксис XSLT

Предположим, у нас есть следующий пример XML-файла student.xml, который необходимо преобразовать в хорошо отформатированный HTML-документ.

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

Страница должна иметь таблицу данных о студентах.

Столбцы должны иметь следующие заголовки: № броска, Имя, Фамилия, Ник, Марки

Таблица должна содержать информацию о студентах соответственно.

Страница должна иметь таблицу данных о студентах.

Столбцы должны иметь следующие заголовки: № броска, Имя, Фамилия, Ник, Марки

Таблица должна содержать информацию о студентах соответственно.

Шаг 1. Создайте документ XSLT

Создайте документ XSLT, отвечающий указанным выше требованиям, назовите его как Students.xsl и сохраните его в том же месте, где находится student.xml.

Шаг 2. Свяжите документ XSLT с документом XML

Обновите файл student.xml следующим тегом xml-stylesheet. Установите значение href для Students.xsl

Шаг 3. Просмотр XML-документа в Internet Explorer

Выход

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

декларация

Атрибуты

Имя элемента, к которому должен быть применен шаблон.

Шаблон, который обозначает элемент (ы), к которому должен быть применен шаблон.

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

Позволяет элементу обрабатываться несколько раз, каждый раз получая разные результаты.

Имя элемента, к которому должен быть применен шаблон.

Шаблон, который обозначает элемент (ы), к которому должен быть применен шаблон.

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

Позволяет элементу обрабатываться несколько раз, каждый раз получая разные результаты.

элементы

xsl: таблица стилей, xsl: transform

xsl: apply-import, xsl: apply-templates, xsl: атрибут, xsl: шаблон вызова, xsl: выбор, xsl: комментарий, xsl: копирование, xsl: copy-of, xsl: элемент, xsl: отступление, xsl: for-each, xsl: if, xsl: message, xsl: номер, xsl: param, xsl: инструкция обработки, xsl: текст, xsl: value-of, xsl: переменная, выходные элементы

xsl: таблица стилей, xsl: transform

xsl: apply-import, xsl: apply-templates, xsl: атрибут, xsl: шаблон вызова, xsl: выбор, xsl: комментарий, xsl: копирование, xsl: copy-of, xsl: элемент, xsl: отступление, xsl: for-each, xsl: if, xsl: message, xsl: номер, xsl: param, xsl: инструкция обработки, xsl: текст, xsl: value-of, xsl: переменная, выходные элементы

Демо-пример

Это шаблонное правило имеет шаблон, который идентифицирует элементы и создает выходные данные в табличном формате.

Выход

xlst students 1

Тег помещает значение выбранного узла в соответствии с выражением XPath в виде текста.

декларация

Атрибуты

Выражение XPath для оценки в текущем контексте.

Default- «нет». Если «да», выходной текст не будет экранировать символы XML от текста.

Выражение XPath для оценки в текущем контексте.

Default- «нет». Если «да», выходной текст не будет экранировать символы XML от текста.

элементы

Демо-пример

Проверьте вывод

xlst students 2

Тег применяет шаблон повторно для каждого узла.

декларация

Ниже приводится объявление синтаксиса элемента

Атрибуты

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

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

элементы

xsl: attribute, xsl: comment, xsl: copy, xsl: element, xsl: fallback, xsl: foreach, xsl: if, xsl: message, xsl: иначе, xsl: param, xsl: инструкция по обработке, xsl: template, xsl: переменная, xsl: when, xsl: with-param, выходные элементы.

xsl: apply-import, xsl: apply-templates, xsl: атрибут, xsl: шаблон вызова, xsl: выбор, xsl: комментарий, xsl: копирование, xsl: copy-of, xsl: элемент, xsl: отступление, xsl: for-each, xsl: if, xsl: message, xsl: number, xsl: инструкция обработки, xsl: sort, xsl: text, xsl: value-of, xsl: variable.

xsl: attribute, xsl: comment, xsl: copy, xsl: element, xsl: fallback, xsl: foreach, xsl: if, xsl: message, xsl: иначе, xsl: param, xsl: инструкция по обработке, xsl: template, xsl: переменная, xsl: when, xsl: with-param, выходные элементы.

xsl: apply-import, xsl: apply-templates, xsl: атрибут, xsl: шаблон вызова, xsl: выбор, xsl: комментарий, xsl: копирование, xsl: copy-of, xsl: элемент, xsl: отступление, xsl: for-each, xsl: if, xsl: message, xsl: number, xsl: инструкция обработки, xsl: sort, xsl: text, xsl: value-of, xsl: variable.

Демо-пример

Выход

xlst students 3

Тег определяет критерии сортировки на узлах.

декларация

Атрибуты

Ключ сортировки узла.

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

Порядок сортировки. По умолчанию «по возрастанию».

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

Ключ сортировки узла.

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

Порядок сортировки. По умолчанию «по возрастанию».

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

элементы

Количество вхождений неограниченный
Родительские элементы xsl: apply-templates, xsl: for-each
Дочерние элементы Никто

Демо-пример

Выход

Тег указывает условный тест на содержание узлов.

декларация

Атрибуты

Условие в данных XML для проверки.

Условие в данных XML для проверки.

элементы

xsl: attribute, xsl: comment, xsl: copy, xsl: element, xsl: fallback, xsl: for-each, xsl: if, xsl: message, xsl: иначе, xsl: param, xsl: инструкция обработки, xsl: шаблон, xsl: variable, xsl: when, xsl: with-param, выходные элементы

xsl: apply-templates, xsl: атрибут, xsl: call-template, xsl: выбор, xsl: комментарий, xsl: копия, xsl: copy-of, xsl: элемент, xsl: for-each, xsl: if, xsl: инструкция обработки, xsl: текст, xsl: значение-значения, xsl: переменная, выходные элементы

xsl: attribute, xsl: comment, xsl: copy, xsl: element, xsl: fallback, xsl: for-each, xsl: if, xsl: message, xsl: иначе, xsl: param, xsl: инструкция обработки, xsl: шаблон, xsl: variable, xsl: when, xsl: with-param, выходные элементы

xsl: apply-templates, xsl: атрибут, xsl: call-template, xsl: выбор, xsl: комментарий, xsl: копия, xsl: copy-of, xsl: элемент, xsl: for-each, xsl: if, xsl: инструкция обработки, xsl: текст, xsl: значение-значения, xsl: переменная, выходные элементы

Демо-пример

Выход

декларация

элементы

xsl: attribute, xsl: comment, xsl: copy, xsl: element, xsl: fallback, xsl: for-each, xsl: if, xsl: message, xsl: иначе, xsl: param, xsl: инструкция обработки, xsl: шаблон, xsl: variable, xsl: when, xsl: with-param, выходные элементы

xsl: в противном случае xsl: когда

xsl: attribute, xsl: comment, xsl: copy, xsl: element, xsl: fallback, xsl: for-each, xsl: if, xsl: message, xsl: иначе, xsl: param, xsl: инструкция обработки, xsl: шаблон, xsl: variable, xsl: when, xsl: with-param, выходные элементы

xsl: в противном случае xsl: когда

Демо-пример

Выход

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

декларация

Атрибуты

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

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

Выражение XPath для определения значения узлов документа xml.

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

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

Выражение XPath для определения значения узлов документа xml.

элементы

Количество вхождений неограниченный
Родительские элементы XSL: таблицы стилей
Дочерние элементы Никто

Демо-пример

Выход

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

декларация

Атрибуты

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

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

элементы

xsl: attribute, xsl: comment, xsl: copy, xsl: element, xsl: fallback, xsl: foreach, xsl: if, xsl: message, xsl: иначе, xsl: param, xsl: инструкция по обработке, xsl: template, xsl: переменная, xsl: when, xsl: with-param, выходные элементы

xsl: apply-templates, xsl: атрибут, xsl: call-template, xsl: выбор, xsl: комментарий, xsl: копия, xsl: copy-of, xsl: элемент, xsl: for-each, xsl: if, xsl: инструкция обработки, xsl: текст, xsl: значение-значения, xsl: переменная, выходные элементы

xsl: attribute, xsl: comment, xsl: copy, xsl: element, xsl: fallback, xsl: foreach, xsl: if, xsl: message, xsl: иначе, xsl: param, xsl: инструкция по обработке, xsl: template, xsl: переменная, xsl: when, xsl: with-param, выходные элементы

xsl: apply-templates, xsl: атрибут, xsl: call-template, xsl: выбор, xsl: комментарий, xsl: копия, xsl: copy-of, xsl: элемент, xsl: for-each, xsl: if, xsl: инструкция обработки, xsl: текст, xsl: значение-значения, xsl: переменная, выходные элементы

Демо-пример

Выход

Тег сигнализирует процессору XSLT найти подходящий шаблон для применения на основе типа и контекста каждого выбранного узла.

декларация

Атрибуты

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

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

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

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

элементы

xsl: attribute, xsl: comment, xsl: copy, xsl: element, xsl: fallback, xsl: foreach, xsl: if, xsl: message, xsl: иначе, xsl: param, xsl: инструкция по обработке, xsl: template, xsl: переменная, xsl: when, xsl: with-param, выходные элементы

xsl: sort, xsl: with-param

xsl: attribute, xsl: comment, xsl: copy, xsl: element, xsl: fallback, xsl: foreach, xsl: if, xsl: message, xsl: иначе, xsl: param, xsl: инструкция по обработке, xsl: template, xsl: переменная, xsl: when, xsl: with-param, выходные элементы

xsl: sort, xsl: with-param

Демо-пример

Выход

Тег импортирует содержимое одной таблицы стилей в другую. Импорт таблицы стилей имеет более высокий приоритет по сравнению с импортированной таблицей стилей.

декларация

Атрибуты

используется для передачи пути таблицы стилей xslt для импорта

используется для передачи пути таблицы стилей xslt для импорта

Источник

Оцените статью
Добавить комментарий

Adblock
detector