Во-первых, ваш входной образец не совпадает с вашим выходным.
Второй, от http://www.w3.org/TR/xslt#copy-of
Когда результатом является набор узлов, все
узлы в наборе копируются в
порядок документов в дереве результатов;
копирование узла элемента копирует
узлы атрибутов, узлы пространства имен и
дочерние элементы узла элемента, а также
как сам узел элемента.
Итак, это поведение является намеренным. И это совершенно логично, потому что в области имен пространства являются частью структуры.
Чтобы разделить пространства имен области, вы должны использовать этот вид таблицы стилей:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:tns="http://schemas.microsoft.com/sharepoint/soap/"
xmlns:s0="http://Sharepoint.Batch"
exclude-result-prefixes="s0">
<xsl:output omit-xml-declaration="yes"/>
<xsl:template match="s0:updates">
<tns:UpdateListItems>
<tns:listName>
<xsl:value-of select="listName" />
</tns:listName>
<tns:updates>
<xsl:apply-templates select="Batch" />
</tns:updates>
</tns:UpdateListItems>
</xsl:template>
<xsl:template match="*">
<xsl:element name="{name()}">
<xsl:copy-of select="@*" />
<xsl:apply-templates select="node()" />
</xsl:element>
</xsl:template>
</xsl:stylesheet>
С этим входом:
<ns0:updates xmlns:ns0="http://Sharepoint.Batch">
<listName>list</listName>
<Batch OnError="Continue" ListVersion="1" ViewName="">
<Method ID="1" Cmd="New">
<Field Name="UserName">FalcoLannoo</Field>
<Field Name="Title">Task1</Field>
<Field Name="Description">Description_0</Field>
<Field Name="Library">Library_0</Field>
<Field Name="DueDate">1999-05-31</Field>
<Field Name="Priority">10</Field>
</Method>
</Batch>
</ns0:updates>
Выход:
<tns:UpdateListItems
xmlns:tns="http://schemas.microsoft.com/sharepoint/soap/">
<tns:listName>list</tns:listName>
<tns:updates>
<Batch OnError="Continue" ListVersion="1" ViewName="">
<Method ID="1" Cmd="New">
<Field Name="UserName">FalcoLannoo</Field>
<Field Name="Title">Task1</Field>
<Field Name="Description">Description_0</Field>
<Field Name="Library">Library_0</Field>
<Field Name="DueDate">1999-05-31</Field>
<Field Name="Priority">10</Field>
</Method>
</Batch>
</tns:updates>
</tns:UpdateListItems>
Редактировать : более компактный код.