XSLT <xsl:namespace-alias> 要素

定義と用法

<xsl:namespace-alias> 要素は、出力でスタイルシートの命名空間を別の命名空間に置き換えるために使用されます。つまり、他のプレフィックスを使用して、指定された命名空間に関連付けられたプレフィックスを置き換えます。

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

時には、XSLT ファイルが別の XSLT を生成します。これにより、同じ命名空間に対して2つの前缀を宣言する明確な方法がなく、処理器が2つの前缀を同じ命名空間として処理しないため、問題が発生します。この場合、<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>