xsl:package¶
Определяет набор модулей таблиц стилей, которые могут быть скомпилированы как единое целое, независимо от других пакетов.
Доступно в XSLT 3.0. Начиная с Saxon 9.8, доступен во всех редакциях. Реализовано в Saxon-PE и Saxon-EE начиная с Saxon 9.7.
- Содержимое: ( (
xsl:expose
| declarations )* ) - Допустимые родительские элементы: None
Атрибуты¶
id?
- id
name?
- uri
- Имя пакета в виде абсолютного URI, которое будет использоваться в объявлениях
xsl:use-package
. package-version?
- string
- Идентификатор версии, используемый для различения разных версий пакета.
version
- decimal
- Указывает версию XSLT, которой соответствует манифест пакета.
input-type-annotations?
"preserve" | "strip" | "unspecified"
- Используется для запроса удаления аннотаций типов. По умолчанию используется
unspecified
. declared-modes?
- boolean
- Определяет, должны ли режимы, на которые ссылаются внутри пакета, быть явно объявлены. По умолчанию это
yes
. default-mode?
- eqname |
"#unnamed"
default-validation?
"preserve" | "strip"
default-collation?
- uris
extension-element-prefixes?
- prefixes
exclude-result-prefixes?
- prefixes
expand-text?
- boolean
use-when?
- expression
xpath-default-namespace?
- uri
Заметки по реализации Saxon¶
Пакеты появились в XSLT 3.0 и впервые были полностью реализованы в Saxon 9.7.
В Saxon 9.8 появились новые возможности для определения пакетов в конфигурационном файле. Конфигурационный файл действует как каталог, сопоставляя имена и версии пакетов с фактическим расположением исходного кода XSLT для пакета или экспортированных SEF-файлов, содержащих скомпилированный пакет.
В качестве альтернативы можно программно определить имена и версии пакетов, создав библиотеку PackageLibrary
.
Пакеты доступны во всех редакциях Saxon. Однако, только Saxon-EE может быть использован для экспорта пакета в скомпилированном виде (SEF) в хранилище файлов, и только Saxon-PE или -EE может быть использован для загрузки скомпилированного пакета из хранилища. В Saxon-HE пакеты должны компилироваться из исходного кода каждый раз, когда они используются.