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 пакеты должны компилироваться из исходного кода каждый раз, когда они используются.