Элемент XSLT <xsl:namespace-alias>
Определение и использование
Элемент <xsl:namespace-alias> используется для замены namespace в стиле другим namespace, иными словами, использование другого префикса для замены связанного с namespace префикса.
Комментарий:<xsl:namespace-alias> является верхним уровнем элемента (top-level element) и должен быть подэлементом <xsl:stylesheet> или <xsl:transform>.
Иногда файлы XSLT генерируют другой файл XSLT. Это создает проблемы с namespace, так как нет ясного способа объявить два префикса для одного и того же namespace, и процессор не будет обрабатывать два префикса как один namespace. Использование команды <xsl:namespace-alias> позволяет назначить переходный namespace для резервного префикса, применить стиль, а затемemapнуть резервный namespace в namespace XSLT.
Хотя генерация файлов XSL из XSL является основным назначением этой команды, это не единственное назначение. Эта команда может быть использована в любом месте конфликта namespace (например, xsi: namespace для типов данных schemas).
Грамматика
<xsl:namespace-alias stylesheet-prefix="prefix|#default" result-prefix="prefix|"#default"/>
Атрибут
Атрибут | Значение | Описание |
---|---|---|
stylesheet-prefix |
|
Обязателен. Указывает namespace, который вы хотите изменить. |
result-prefix |
|
Обязателен. Указывает ожидаемый namespace для вывода. |
Пример
Пример 1
Префикс wxsl преобразуется в префикс xsl в выводе:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:wxsl="http://www.codew3c.com/w3style.xsl"> <xsl:namespace-alias stylesheet-prefix="wxsl" result-prefix="xsl"/> <xsl:template match="/"> <wxsl:stylesheet> <xsl:apply-templates/> </wxsl:stylesheet> </xsl:template> </xsl:stylesheet>