Элементы XSLT - Википедия - XSLT elements

XSLT (Extensible Stylesheet Language Transformations) определяет множество элементов для описания преобразований, которые должны быть применены к документу. В этой статье перечислены некоторые из этих элементов. Для введения в XSLT см. основная статья.

Логические элементы XSLT

УзелОписание / атрибутыКонтейнер / детиПример
xsl: применить шаблоныУказывает, что в пределах этого могут существовать другие совпадения. узел; если это не указано, любые совпадения будут проигнорированы. Если Выбрать задан, будут применяться только шаблоны, которые определяют «соответствие», которое соответствует выбранному типу узла или атрибута. Т.е. соответствующие элементы Выбрать атрибут в xsl: применить шаблоны соответствуют шаблону, соответствуют тем же элементам. Если Режим указан, будут применяться только шаблоны, которые имеют одинаковый «режим» и соответствующее «соответствие».Любой родитель. Может содержать любое количество xsl: sort и xsl: with-param дети.
/>
xsl: выбратьМножественный выбор. Без атрибутов.Любой родитель. Содержит xsl: когда блоки и до одного xsl: иначе блокировать.
></xsl:choose>
xsl: для каждогоСоздает цикл, который повторяется для каждого совпадения. Выбрать обозначает критерии соответствия.Любой родитель. Может содержать любой XML.
 выберите ="input [@ name = $ name]"></xsl:for-each>
xsl: еслиДа или нет Нет условий. тест определяет критерии для ввода if.Любой родитель. Может содержать любой XML.
 test ="$ type = 'text' или $ type = 'password'"></xsl:if>
xsl: иначеВыбор по умолчанию, если ни один из xsl: когда критерии соблюдены.xsl: выбрать. Может содержать любой XML.
></xsl:otherwise>
xsl: таблица стилейЭлемент верхнего уровня. Происходит только один раз в документе таблицы стилей. версия указывает, какая версия XSLT используется. xmlns: xsl определяет URL этого стандарта.Элемент верхнего уровня. Содержит весь XML.
></xsl:stylesheet>
xsl: шаблонЗадает шаблоны обработки. матч когда следует использовать шаблон. имя дает шаблону имя, которое xsl: шаблон вызова можно использовать для вызова этого шаблона.xsl: таблица стилей. Может содержать любой XML.
 совпадение ="//Вход"></xsl:template>
xsl: переменнаяПозволяет объявить переменную. имя это имя переменной. Позже на него можно будет ссылаться $ name. Выбрать - значение переменной.Любой родитель. нет детей.
 имя ="тип" выберите ="@тип"/>
xsl: когдаДа или Нет условий. тест определяет критерии для ввода if.xsl: выбрать. Может содержать любой XML.
 test ="$ type = 'радио'"></xsl:when>

Пример таблицы стилей 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.
 имя ="lib: make-elem">
xsl: importИзвлекает другой файл XSLT. href - это URI файла.xsl: таблица стилей. Нет детей.
 href ="..  Библиотека  FuncLib.xslt"/>
xsl: выводОписывает, как будут возвращены данные. метод обозначает, какие данные возвращаются. опустить-xml-декларацию указывает, следует ли включать начальный тег xml. кодирование обозначает, как возвращаются данные.xsl: таблица стилей. Нет детей.
 метод ="xml" опустить-xml-декларация ="да" кодировка =«UTF-8»/>
xsl: paramОбозначает параметр, который может быть передан в шаблон с помощью xsl: шаблон вызова.xsl: шаблон. Нет детей.
 имя ="имя-элемента"/>
xsl: текстВыводит содержимое тега.Любой родитель. Нет детей.
>ClaimNumber ClaimSeqNumber</xsl:text>
xsl: значение-изВыводит переменную. Выбрать указывает переменную.Любой родитель. Нет детей.
 выберите ="$ s"/>
xsl: with-paramОбозначает параметр, передаваемый в xsl: шаблон вызова. Он должен соответствовать xsl: param в шаблоне. имя указывает имя параметра. Выбрать определяет параметр ценить.xsl: шаблон вызова. Нет детей.
 имя ="имя-элемента" выберите ="'hma: ClaimNumber'"/>

Сторона клиента 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.

[1]

Функции, определенные 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") = 'Группа'

внешняя ссылка

Рекомендации