Hi,
I have an xml I want to make an exact copy of it. Here is my input/xsl but in the output I get all the elements but namespace prefix is not coming for all the elements. See the red highlighted section
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope
xmlns:env = "http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd = "http://www.w3.org/2001/XMLSchema"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance">
<env:Header>
<wsse:Security env:mustUnderstand = "1" xmlns:wsse = "www.kk.com">
<wsse:UsernameToken xmlns:wsse = "www.kk.com">
<wsse:Username xmlns:wsse = "www.kk.com">user</wsse:Username>
<wsse:Password xmlns:wsse = "www.kk.com">password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</env:Header>
<env:Body>
<ns0:MyInfo xmlns:ns0 = "http://www.myinfo.org/">
<xmlString xsi:type = "def:string" xmlns:def = "http://www.w3.org/2001/XMLSchema"></xmlString>
</ns0:MyInfo>
</env:Body>
</env:Envelope>
My XSL
<?xml version="1.0" encoding="windows-1252" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<xsl:output omit-xml-declaration="yes" />
<xsl:template match="*">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
My Output
<env:Envelope
xmlns:env = "http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd = "http://www.w3.org/2001/XMLSchema"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance">
<env:Header>
<wsse:Security env:mustUnderstand = "1" xmlns:wsse = "www.kk.com">
<wsse:UsernameToken>
<wsse:Username>user</wsse:Username>
<wsse:Password>password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</env:Header>
<env:Body>
<ns0:MyInfo xmlns:ns0 = "http://www.myinfo.org/">
<xmlString xsi:type = "def:string" xmlns:def = "http://www.w3.org/2001/XMLSchema"></xmlString>
</ns0:MyInfo>
</env:Body>
</env:Envelope>