Element <xsl:namespace-alias> w XSLT

Definicja i zastosowanie

Element <xsl:namespace-alias> służy do zastępowania przestrzeni nazw w stylizacji inną przestrzenią nazw w wyjściu, innymi słowy, używając innego prefixu do zastąpienia przypisanego do danej przestrzeni nazw prefixu.

Komentarz:<xsl:namespace-alias> jest elementem wierzchołkowym (top-level element) i musi być dzieckiem <xsl:stylesheet> lub <xsl:transform>.

Czasami plik XSLT generuje inny plik XSLT. To powoduje problemy z przestrzenią nazw, ponieważ nie ma jasnego sposobu deklarowania dwóch prefixów dla tej samej przestrzeni nazw, a procesor nie traktuje dwóch prefixów jako jednej przestrzeni nazw. Komenda <xsl:namespace-alias> może przypisać przejściową przestrzeń nazw do alternatywnego prefixu, zastosować stylizację, a następnie przypisać alternatywną przestrzeń nazw do przestrzeni nazw XSLT.

Choć generowanie plików XSL do XSL jest głównym celem tej komendy, nie jest to jedyna jej funkcja. Można jej używać w każdej sytuacji konfliktu nazw przestrzeni (np. przestrzeń danych typu xsi).

gramatyka

<xsl:namespace-alias
stylesheet-prefix="prefix|#default"
result-prefix="prefix|"#default"/>

atrybut

atrybut wartość opis
stylesheet-prefix
  • prefix
  • #default
Wymagane. Określ przestrzeń nazw, którą chcesz zmienić.
result-prefix
  • prefix
  • #default
Wymagane. Określ oczekiwaną przestrzeń nazw dla wyjścia.

Przykład

Przykład 1

Przedrostek wxsl jest przekształcany na przedrostek xsl w wyjściu:

<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>