title: How to create XElement with default namespace for children without using XNamespace in all child nodes
body: <p>I'm trying to use <code>System.Xml.Linq</code> to create XHTML documents. Thus, the vast majority of the nodes in my trees ought to use this namespace:</p>
  
  <pre><code>http://www.w3.org/1999/xhtml
  </code></pre>
  
  <p>I can create <code>XElement</code> nodes scoped to this namespace easily enough, using an <code>XNamespace</code>, like this:</p>
  
  <pre><code>XNamespace xhtml = "http://www.w3.org/1999/xhtml";
  // ...
  new XElement(xhtml + "html", // ...
  </code></pre>
  
  <p>However, I don't want to have to make an <code>XNamespace</code> available throughout all the code that creates HTML nodes, and have to prefix every single <code>XElement</code> (and <code>XAttribute</code>) name I create accordingly.</p>
  
  <p>The XML text format itself takes this requirement into account, and permits setting a default namespace in an ancestor which is inherited by descendants, using the reserved <code>xmlns</code> attribute. I'd like to do something similar using <code>System.Xml.Linq</code>.</p>
  
  <p>Is this possible?</p>