2012-04-05 10 views
2

私は、次があります。XSLT名前空間は変更

所望の出力:

<Data xmlns:x="TheNewNamespace.com"> 
    <Node></Node> 
    <Node2></Node2> 
    <Node3></Node3> 
</Data> 

事前

答えて

2

使用中ありがとう:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output method="xml" indent="yes"/> 

    <xsl:template match="*"> 
    <xsl:element name="{name()}" namespace="TheNewNamespace.com"> 
     <xsl:copy-of select="@*"/> 
     <xsl:apply-templates/> 
    </xsl:element> 
    </xsl:template> 

</xsl:stylesheet> 
+0

パーフェクトアンサーTYは、かつて分に許さ受け付けます。 @マイケー、ありがとう。 – Mike

+0

しかし、あなたのサンプルでは、​​すべての要素が 'Namespace.com'ではなくデフォルトの名前空間にあることに注意してください。私のソリューションはすべての要素を 'TheNewNamespace.com'名前空間に入れます。 –

+0

サンプルは私の実際のXML文書のレイアウトを反映していますが、XSLTは名前空間にあるかのようにXSLTを読み込んでいます:/もしパースしようとすると宣言しないと、ノードなどは見つかりません。 – Mike