XSLT <xsl:namespace-alias> 要素

定義と使用法

<xsl:namespace-alias> 要素は、スタイルシートの命名空間を出力で別の命名空間に置き換えるために使用されます。言い換えれば、他の接頭辞を使用して指定された命名空間に関連付けられた接頭辞を置き換えます。

注記:<xsl:namespace-alias> はトップレベル要素(top-level element)であり、<xsl:stylesheet> または <xsl:transform> の子要素でなければなりません。

時には、XSLT ファイルが別の XSLT を生成します。これにより、同じ命名空間の二つの接頭辞を宣言する明確な方法がなく、プロセッサーも二つの接頭辞を同じ命名空間として処理しません。この場合、<xsl:namespace-alias> コマンドを使用して、代替接頭辞に过渡命名空間を割り当て、スタイルシートを適用し、その後、代替命名空間を XSLT 命名空間にマッピングします。

XSL から XSL のファイル生成はこのコマンドの主な用途ですが、それ以外にも用途があります。このコマンドは、命名空間の衝突が発生する場所(例えば xsi: 架構データタイプの命名空間)で使用できます。

文法

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

属性

属性 説明
stylesheet-prefix
  • prefix
  • #default
必須。変更したい命名空間を指定します。
result-prefix
  • prefix
  • #default
必須。出力に期待する命名空間を指定します。

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