title: How to preserve XML namespace in XSLT output?
body: <p>XSL stylesheet should output following code to Internet Explorer:</p>
  
  <pre><code>&lt;xml:namespace prefix="vml" ns="urn:schemas-microsoft-com:vml"/&gt;
  </code></pre>
  
  <p>But when I execute following template with any XML</p>
  
  <pre><code>&lt;xsl:template match="*|node()"&gt;
      &lt;xml:namespace prefix="vml"
                     ns="urn:schemas-microsoft-com:vml"/&gt;
  &lt;/xsl:template&gt;
  </code></pre>
  
  <p>IE throws parsing error: <em>The stylesheet does not contain document element</em>.
  In the same time Firefox removes <strong>xml</strong> namespace in the output...</p>
  
  <p>So, how can I preserve <strong>xml</strong> namespace in my output?</p>
  
  <p><strong>Important</strong> </p>
  
  <p>a. Output method I use is <strong>html</strong></p>
  
  <p>b. Following code does not fix my problem:</p>
  
  <pre><code>&lt;xsl:template match="*|node()"&gt;
      &lt;namespace prefix="vml"
                 xmlns="http://www.w3.org/XML/1998/namespace"
                 ns="urn:schemas-microsoft-com:vml"/&gt;
  &lt;/xsl:template&gt;
  </code></pre>