実行時に名前空間を動的に設定する<xsl:element>
には、属性値テンプレートを使用します。
<xsl:element name="SomeElement" namespace="{$some_ns}">
<!-- ... -->
</xsl:element>
動的名前空間を設定する必要がない場合は、それらのプレフィックスを宣言して使用します。
<xsl:stylesheet
version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:foo="http://something.com/misc/blah/1.0"
>
<xsl:template match="/">
<foo:SomeElement>
<!-- ... -->
</foo:SomeElement>
</xsl:template>
</xsl:stylesheet>
または、名前空間をデフォルトとしてマークすることもできます:
<xsl:stylesheet
version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://something.com/misc/blah/1.0"
>
<xsl:template match="/">
<SomeElement>
<!-- ... -->
</SomeElement>
</xsl:template>
</xsl:stylesheet>