WikiDer > Элементы XSLT - Википедия
Эта статья нужны дополнительные цитаты для проверка. (Сентябрь 2014 г.) (Узнайте, как и когда удалить этот шаблон сообщения) |
XSLT (Extensible Stylesheet Language Transformations) определяет множество элементов для описания преобразований, которые должны быть применены к документу. В этой статье перечислены некоторые из этих элементов. Для введения в XSLT см. основная статья.
Логические элементы XSLT
Узел | Описание / атрибуты | Контейнер / дети | Пример |
---|---|---|---|
xsl: применить шаблоны | Указывает, что в пределах этого могут существовать другие совпадения. узел; если это не указано, любые совпадения будут проигнорированы. Если Выбрать задан, будут применяться только шаблоны, которые определяют «соответствие», которое соответствует выбранному типу узла или атрибута. Т.е. соответствующие элементы Выбрать атрибут в xsl: применить шаблоны соответствуют шаблону, соответствуют тем же элементам. Если Режим указан, будут применяться только шаблоны, которые имеют одинаковый «режим» и соответствующее «соответствие». | Любой родитель. Может содержать любое количество xsl: sort и xsl: with-param дети. |
|
xsl: выбрать | Множественный выбор. Без атрибутов. | Любой родитель. Содержит xsl: когда блоки и до одного xsl: иначе блокировать. |
|
xsl: для каждого | Создает цикл, который повторяется для каждого совпадения. Выбрать обозначает критерии соответствия. | Любой родитель. Может содержать любой XML. |
|
xsl: если | Да или нет Нет условий. тест определяет критерии для ввода if. | Любой родитель. Может содержать любой XML. |
|
xsl: иначе | Выбор по умолчанию, если ни один из xsl: когда критерии соблюдены. | xsl: выбрать. Может содержать любой XML. |
|
xsl: таблица стилей | Элемент верхнего уровня. Происходит только один раз в документе таблицы стилей. версия указывает, какая версия XSLT используется. xmlns: xsl определяет URL этого стандарта. | Элемент верхнего уровня. Содержит весь XML. |
|
xsl: шаблон | Задает шаблоны обработки. матч когда следует использовать шаблон. имя дает шаблону имя, которое xsl: шаблон вызова можно использовать для вызова этого шаблона. | xsl: таблица стилей. Может содержать любой XML. |
|
xsl: переменная | Позволяет объявить переменную. имя это имя переменной. Позже на него можно будет ссылаться $ name . Выбрать - значение переменной. | Любой родитель. нет детей. |
|
xsl: когда | Да или Нет условий. тест определяет критерии для ввода if. | xsl: выбрать. Может содержать любой XML. |
|
Пример таблицы стилей XSLT с использованием логических элементов
> совпадение ="//Вход"> имя ="тип" выберите ="@тип"/> имя ="имя" выберите ="@имя"/> test ="$ type = 'text' или $ type = 'password' или $ type = 'radio' или $ type = 'checkbox'"> > test ="$ type = 'радио'"> test ="не (предыдущий-брат :: input [@ type = 'radio'])"> <выберите имя ="{@имя}"> выберите ="../input[@name=$name]"> <вариант значение ="{@ценить}"> /> </option> </xsl:for-each> </select> </xsl:if> </xsl:when> test ="$ type = 'текст'"> <ввод имя ="{@имя}" type ="{@тип}"> /> </input> </xsl:when> test ="$ type = 'пароль'"> <ввод имя ="{@имя}" type ="{@тип}"> /> </input> </xsl:when> </xsl:choose> </xsl:if> </xsl:template></xsl:stylesheet>
Элементы ввода-вывода файла XSLT
Узел | Описание / атрибуты | Контейнер / дети | Пример |
---|---|---|---|
xsl: шаблон вызова | Вызывает шаблон, имя которого указано. имя соответствует имя в xsl: шаблон. | Любой родитель. дети xsl: with-param. |
|
xsl: import | Извлекает другой файл XSLT. href - это URI файла. | xsl: таблица стилей. Нет детей. |
|
xsl: вывод | Описывает, как будут возвращены данные. метод обозначает, какие данные возвращаются. опустить-xml-декларацию указывает, следует ли включать начальный тег xml. кодирование обозначает, как возвращаются данные. | xsl: таблица стилей. Нет детей. |
|
xsl: param | Обозначает параметр, который может быть передан в шаблон с помощью xsl: шаблон вызова. | xsl: шаблон. Нет детей. |
|
xsl: текст | Выводит содержимое тега. | Любой родитель. Нет детей. |
|
xsl: значение-из | Выводит переменную. Выбрать указывает переменную. | Любой родитель. Нет детей. |
|
xsl: with-param | Обозначает параметр, передаваемый в xsl: шаблон вызова. Он должен соответствовать xsl: param в шаблоне. имя указывает имя параметра. Выбрать определяет параметр ценить. | xsl: шаблон вызова. Нет детей. |
|
Сторона клиента XSLT может быть реализован в браузер добавив строку, подобную следующей, в источник XML файл сразу после корневого тега XML.
<?xml-stylesheet type="text/xsl" href="family.xsl"?>
Это описано на странице http://www.xml.com/pub/a/2000/10/25/msie/index.html
Другая семантика XSLT
символ | смысл | где используется |
---|---|---|
| | оператор объединения. используется для группировки наборов узлов в выражениях XPath. | выберите атрибуты элементов, такие как xsl: когда, xsl: если, xsl: для каждого. |
& | и | любой условный критерий или критерий соответствия, например xsl: if.test, xsl: when.test, xsl: template.select и xsl: for-each.select. |
<!-- | начать комментарий. | нигде не в теге. |
--> | конец комментария. | нигде не в теге. |
$ | начало имени переменной. | в любом месте тега, например xsl: value-of.select и xsl: имя_переменной. |
имя() | имя обрабатываемого тега. Полезно, если критерии соответствия содержат | s (символы трубы). | любой условный критерий или критерий соответствия, например xsl: if.test, xsl: when.test, xsl: template.select и xsl: for-each.select. |
@ | атрибут в XML. | любой условный критерий или критерий соответствия, например xsl: if.test, xsl: when.test, xsl: template.select и xsl: for-each.select. |
Функции, определенные XSLT
Следующие функции могут встречаться во многих атрибутах XSLT, таких как xsl: value-of.select и xsl: for-each.select.
Функция | Описание / синтаксис | Пример |
---|---|---|
потолок | В функция потолка возвращает самый маленький целое число который больше или равен числовому значению числового аргумента. | потолок(3.57) |
concat | Объединяет две или более строк. | concat($имя, ' ', $lname) |
содержит[2] | Возвращает истину, если первая строка содержит вторую строку, иначе возвращает ложь. | содержит('строка для поиска', 'найти') |
считать | Функция count подсчитывает и возвращает количество узлов в наборе узлов. | считать(элементы) |
этаж | В функция пола возвращает наибольшее целое число, которое меньше или равно числовому значению числового аргумента. | этаж(3.57) |
нормализовать пространство | Удаляет пробелы из начала и конца строки | нормализовать пространство($имя) |
позиция | Функция позиции возвращает отсчитываемое от единицы[3] индекс текущего узла, обрабатываемого xsl: для каждого или же xsl: применить шаблоны элемент список узлов. Нет никаких аргументов. | позиция() |
круглый | Функция round округляет число до ближайшего целого. | круглый(3.57) |
нить | Строковая функция преобразует аргумент значения в строку. | нить() |
длина строки | Функция длины строки возвращает количество символов в строке. Строковый аргумент не является обязательным. Если опущено, по умолчанию используется строковое значение контекстного узла. | длина строки('Привет') |
подстрока | Сегмент внутри значения переменной. Подстрока принимает три параметра: входную переменную, первый выбираемый символ и длину результирующей строки. | подстрока($доб,4,2) |
подстрока после | Функция substring-after возвращает часть строки, указанной в строковом аргументе, которая появляется после подстроки, указанной в аргументе подстроки. | подстрока после('В 1814 году мы совершили небольшое путешествие', 'мы') |
подстрока перед | Функция substring-before возвращает часть строки, указанной в строковом аргументе, которая встречается перед подстрокой, указанной в аргументе substring. | подстрока перед('В 1814 году мы совершили небольшое путешествие', 'мы') |
сумма | Функция sum складывает и возвращает общее значение набора числовых значений в наборе узлов или списке значений. | сумма(1,3,7,12) |
переведите | Принимает строку в аргументе значения, заменяет все вхождения символов в аргументе string1 на заменяющие символы в том же месте в аргументе string2 и возвращает измененную строку. | переведите('группа', 'abcd', "ABCD") = 'Группа' |
внешняя ссылка
- Рекомендация W3C XSLT 1.0 - Описывает весь синтаксис и семантику XSLT 1.0.
- Рекомендация W3C XSLT 2.0
- Справочник по элементам XSLT - Автор W3Schools