I have this xml message:
<Orders xmlns="http://AU.InputOrders"> <Order> <OrderRef>D04004451</OrderRef> <ABN>9780571244461</ABN> <OrderQty>1</OrderQty> </Order> <Order> <OrderRef>D04004451</OrderRef> <ABN>9780571254057</ABN> <OrderQty>1</OrderQty> </Order> <Order> <OrderRef>D04004452</OrderRef> <ABN>9781864489545</ABN> <OrderQty>1</OrderQty> </Order> </Orders>
and this XSLT 1.0:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://AU.InputOrders"> <xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes" indent="no"/> <xsl:template match="/"> <xsl:element name="Orders" namespace="http://AU.OutputOrders"> <xsl:apply-templates select="ns0:Orders/ns0:Order[1]" /> </xsl:element> </xsl:template> <xsl:template match="*"> <xsl:element name="{local-name()}"> <xsl:copy-of select="@*" /> <xsl:apply-templates select="node()" /> </xsl:element> </xsl:template> </xsl:stylesheet>
The above XSLT gives me the following output:
<Orders xmlns="http://AU.OutputOrders"><Order xmlns=""> <OrderRef>D04004451</OrderRef> <ABN>9780571244461</ABN> <OrderQty>1</OrderQty> </Order></Orders>
This is almost what I need, but I do not want xlmns = "" after the Order node.
I want it:
<Orders xmlns="http://AU.OutputOrders"><Order> <OrderRef>D04004451</OrderRef> <ABN>9780571244461</ABN> <OrderQty>1</OrderQty> </Order></Orders>
Can someone help me? Thanks.
source share