title: What is the difference between using XSLT <xsl:element> and declaring elements literally?
body: <p>I have started using XSLT just recently and am wondering what the effective difference is between using <code>&lt;xsl:element&gt;</code> for defining elements vs. just declaring them as literals in the XSLT. For example, lets take a simplified case where I'm converting the contents of a tiny XML document into (x)HTML. </p>
  
  <p><strong>1.I could go with the <code>&lt;xsl:element&gt;</code> way:</strong> </p>
  
  <pre><code>&lt;xsl:element name="h1"&gt;
      &lt;xsl:value-of select="heading"/&gt;
  &lt;/xsl:element&gt;
  </code></pre>
  
  <p><strong>2. Or define the element by hand:</strong></p>
  
  <pre><code>&lt;h1&gt;
      &lt;xsl:value-of select="heading"/&gt;
  &lt;/h1&gt;
  </code></pre>
  
  <p>What is the actual difference between these two and if a difference exists, which of them is considered <em>'good-style'</em>?</p>