| <xsl:namespace-alias> | |
| 名前空間を直接使用すると処理が複雑になる場合に、名前空間のエイリアスを定義できます。この使用頻度が低い要素を使用すると、別のスタイルシートを生成するスタイルシートを最も簡単に作成できます。 | |
| カテゴリ | |
|
トップレベル要素 |
|
| 必須の属性 | |
|
|
| 省略可能な属性 | |
|
なし。 |
|
| コンテンツ | |
|
なし。<xsl:namespace-alias> は空の要素です。 |
|
| 指定先 | |
|
<xsl:stylesheet>。<xsl:namespace-alias> は、トップレベル要素であり、<xsl:stylesheet> の子としてのみ使用できます。 |
|
| 定義先 | |
|
XSLT 7.1.1 節「リテラル結果要素」 |
|
| 例 | |
|
この要素の使用頻度は高くありませんが、別の XSLT スタイルシートを生成する XSLT スタイルシートが複雑な場合に使用します。このテストケースでは、ID 変換を生成するスタイルシートが作成されます。このスタイルシートは、単に結果ツリーに入力ドキュメントをコピーします。名前空間エイリアスを使用する元のスタイルシートを次に示します。
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xslout="(the namespace URI doesn't matter here)">
<xsl:output method="xml" indent="yes"/>
<xsl:namespace-alias stylesheet-prefix="xslout"
result-prefix="xsl"/>
<xsl:template match="/">
<xslout:stylesheet version="1.0">
<xslout:output method="xml"/>
<xslout:template match="/">
<xslout:copy-of select="."/>
</xslout:template>
</xslout:stylesheet>
</xsl:template>
</xsl:stylesheet>
このスタイルシートを XML ドキュメントに適用すると、新しいスタイルシートが作成されます。 <?xml version="1.0" encoding="UTF-8"?> <xslout:stylesheet xmlns:xslout="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xslout:output method="xml"/> <xslout:template match="/"> <xslout:copy-of select="."/> </xslout:template> </xslout:stylesheet> この生成したスタイルシートを使用して XML ドキュメントをコピーできます。元のスタイルシートでは、処理する XSLT 要素と、出力に渡すリテラルとして処理する XSLT 要素を XSLT プロセッサで識別する方法が他にないため <xsl:namespace-alias> を使用しています。名前空間エイリアスを使用すると、出力で必要な XSLT 要素を生成できます。結果ドキュメントでは、<xslout:stylesheet> 要素を使用して正しい名前空間の値が自動的に宣言されます。 |
|