title: What is the difference between targetNamespace and xmlns:target?
body: <p>What is <code>targetNamespace</code>'s function?</p>
  
  <pre><code>&lt;schema xmlns="http://www.w3.org/2001/SchemaXML"
          targetNamespace="http://www.example.com/name"
          xmlns:target="http://www.example.com/name"&gt;
  </code></pre>
  
  <p>I understand that <code>xmlns="http://www.w3.org/2001/SchemaXML</code> defines the Schema XML namespace.</p>
  
  <p>I also understand that <code>xmlns:target="http://www.example.com/name"</code> defines the namespace for my own vocabulary if I'm creating my own schema using the prefix "target"; this acts as a proxy or placeholder for the URI <code>http://www.example.com/name</code>.</p>
  
  <p>That seems like enough to define the needed boundries and vocabularies of namespace participants. So why do I need a <code>targetNamespace</code> attribute which duplicates the <code>http://www.example.com/name</code> namespace?</p>