Элемент 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
  • prefix
  • #default
Обязателен. Указывает namespace, который вы хотите изменить.
result-prefix
  • prefix
  • #default
Обязателен. Указывает ожидаемый 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>