Книга: Технология XSLT
Дополнительные возможности по расширению
Разделы на этой странице:
Дополнительные возможности по расширению
В XSLT 1.1 был введен элемент xsl:script
, предоставляющий дополнительные возможности для создания и использования функций расширения. При помощи xsl:script
функции расширения могут быть явным образом определены в самом преобразовании.
Пример
В процессоре, который поддерживает скриптовые языки типа JavaScript, исходный код функций расширения может включаться в само преобразование, например.
Листинг 12.6. Преобразование, включающее функцию расширения
<xsl:stylesheet
version="1.1"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:js="javascript:code">
<xsl:script language="javascript" implements-prefix="js">
function iff(arg1, arg2, arg3) {
if (arg1) {
return arg2;
} else {
return arg3;
}
}
</xsl:script>
...
</xsl:stylesheet>
Атрибут implements-prefix
(англ. implements prefix — реализует префикс) связывает определяемую функцию с некоторым пространством имен (как мы отмечали ранее, все функции расширения должны принадлежать ненулевым пространствам имен). При вызове функций из этого пространства имен в XPath-выражениях, процессор будет искать их определения в элементах xsl:script
, которые реализуют соответствующий префикс.
Атрибут language
определяет язык программирования, в котором написано расширение. Очевидно, язык влияет на то, как будет выполняться расширение — например, должен ли процессор интерпретировать содержимое xsl:script
или следует загрузить внешний Java-класс. Естественно, не следует ожидать, что любой процессор сможет выполнять расширения, написанные на произвольных языках программирования — как правило, разработчики XSLT-средств в документации к своим продуктам оговаривают, какие языки расширения они поддерживают. Как следствие, преобразование, использующее расширения, написанные на "непонятном" процессору языке, либо не будут выполнены вообще, либо будут выполнены некорректно.
Помимо двух обязательных атрибутов implements-prefix
и language
, в элемент xsl:script
могут быть включены атрибуты src
и archive
, которые указывают физическое местоположение кода расширения.
- Расширенные возможности указания пользовательских планов
- Дополнительные национальные кодовые страницы и порядки сортировки
- Возможности, планируемые к реализации в следующих версиях
- Возможности SSH
- Глава 8 Дополнительные службы
- Глава 10 Возможности подсистемы хранения данных в различных версиях Windows NT
- Как добавить к Windows новые возможности?
- При входе в систему появляется сообщение о невозможности найти какой-то файл. Как его убрать?
- Функциональные возможности и пользовательский интерфейс программы
- 4.6. Дополнительные возможности защиты
- 4.12.1. Основные возможности iptables
- 5.2.2. Дополнительные возможности OpenSSL