<xsl:template match="CarYard">
<xsl:apply-templates select="//CarYard/*[1]" mode="addNamespace"/>
</xsl:element>
</xsl:template>
<xsl:template match="node() | @*" mode="addNamespaceToAllChild">
<xsl:variable name="ELEM_NAME" select="concat('ns1:',local-name())"/>
<xsl:element name="{$ELEM_NAME}" xmlns:ns1="http://test.namespace/generic">
<xsl:apply-templates select="@* | node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="node() | @*" mode="addNamespace">
<xsl:variable name="ELEM_NAME" select="concat('ns1:',local-name())"/>
<xsl:element name="{$ELEM_NAME}" xmlns:ns1="http://schemas.test.namespace/generic">
<xsl:apply-templates select="@* | node()" mode="addNamespaceToAllChild"/>
</xsl:element>
</xsl:template>
今すぐ出たプットは、あなたのコードが1つの名前空間(HTTPでCarYardの子供を置くために、その道の出入りしているようだ
<CarYard>
<ns1:Cars>
<ns1:A>honda</ns1:A>
<ns1:B>BMW</ns1:B>
<ns1:C>AUDI</ns1:C>
</ns1:Cars>
になります。ネームスペース/ジェネリック)、他の孫(http://schemas.test.namespace/generic)、孫の孫(もしあれば)があります。しかし、これはあなたの要件またはあなたが示すサンプル出力には反映されません。 –
私が追加するもう一つのことは、あなたがgoogleで検索することによってこの問題を解決しようとするべきであることが少し悲しいことです。 Googleでは、特定のエラーメッセージの意味を追跡するなど、いくつかのプログラミング上の問題にはかなり効果がありますが、実際には新しいプログラミング言語で技術を学ぶ方法ではありません。いくつかの良い本を手に入れ、読んでください! –