title: XSLT creating content without namespace
body: <p>I'm transforming an XML to another XML inside wso2esb (uses saxon). There I have following input example:</p>
  
  <pre><code>&lt;soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"&gt;
      &lt;soapenv:Body&gt;
          &lt;root&gt;
              &lt;MyElement&gt;content&lt;/MyElement&gt;
          &lt;/root&gt;
      &lt;/soapenv:Body&gt;
  &lt;/soapenv:Envelope&gt;
  </code></pre>
  
  <p>My Problem is now that the my new content <code>&lt;NEW&gt;</code> should not get any namespace. But I get the following output after my XSLT:</p>
  
  <pre><code>&lt;soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"&gt;
     &lt;soapenv:Body&gt;
        &lt;root&gt;
           &lt;NEW xmlns="http://ws.apache.org/ns/synapse"&gt;content&lt;/NEW&gt;
        &lt;/root&gt;
     &lt;/soapenv:Body&gt;
  &lt;/soapenv:Envelope&gt;
  </code></pre>
  
  <p><strong>I do not want the <code>xmlns="http://ws.apache.org/ns/synapse"</code> declaration in the new Element </strong>. When I test with oXygen it does work, but when I run it inside wso2esb I get the I guess default namespace "<a href="http://ws.apache.org/ns/synapse" rel="nofollow">http://ws.apache.org/ns/synapse</a>".</p>
  
  <p>So I have tried out 3 different ways of creating the NEW element, and </p>
  
  <pre><code>&lt;xsl:stylesheet xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:avintis="http://www.avintis.com/esb" extension-element-prefixes="avintis" version="2.0" exclude-result-prefixes="#all" xpath-default-namespace=""&gt;
      &lt;xsl:output method="xml" encoding="UTF-8" indent="yes" omit-xml-declaration="yes"/&gt;
  
      &lt;xsl:template match="/soapenv:Envelope|soapenv:Body"&gt;
          &lt;xsl:copy&gt;
              &lt;xsl:apply-templates select="*|text()|@*"/&gt;
          &lt;/xsl:copy&gt;
      &lt;/xsl:template&gt;
  
      &lt;xsl:template match="root"&gt;
          &lt;xsl:copy&gt;
              &lt;!-- FIRST METHOD - THE METHOD I want to use! this will receive the  xmlns="http://ws.apache.org/ns/synapse" --&gt;
              &lt;NEW&gt;
                  &lt;xsl:value-of select="MyElement"/&gt;
              &lt;/NEW&gt;
              &lt;!-- Second methodworks - but I need to add xmlns="" to every element and there are a lot--&gt;
              &lt;NEW xmlns=""&gt;
                  &lt;xsl:value-of select="MyElement"/&gt;
              &lt;/NEW&gt;
              &lt;!-- Third method works: But not very readable - I would prefer the first method --&gt;
              &lt;xsl:element name="NEW"&gt;
                  &lt;xsl:value-of select="MyElement"/&gt;
              &lt;/xsl:element&gt;
           &lt;/xsl:copy&gt;
      &lt;/xsl:template&gt;
  &lt;/xsl:stylesheet&gt;
  </code></pre>
  
  <p><strong>Is there a way to remove this xmlns attribute when using the first method of element creation</strong>?
  Thanks</p>