<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> 要素を使用して正しい名前空間の値が自動的に宣言されます。 |