title: lxml xsi:schemaLocation namespace URI validation issue
body: <p>I'm trying to use <code>lxml.etree</code> to reproduce the CDA example found in the <a href="http://www.lantanagroup.com/resources/free-tools/" rel="noreferrer">CDA QuickStart Guide found here</a>.</p>
  
  <p>In particular, I'm running into issues with namespaces trying to recreate this element.</p>
  
  <pre><code>&lt;ClinicalDocument xmlns="urn:hl7-org:v3" xmlns:mif="urn:hl7-org:v3/mif" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="urn:hl7-org:v3 CDA.xsd"&gt;
  </code></pre>
  
  <p>The code I'm using is as follows</p>
  
  <pre><code>root = etree.Element('ClinicalDocument',
                      nsmap={None: 'urn:hl7-org:v3',
                             'mif': 'urn:hl7-org:v3/mif',
                             'xsi': 'http://www.w3.org/2001/XMLSchema-instance',
                             '{http://www.w3.org/2001/XMLSchema-instance}schemaLocation': 'urn:hl7-org:v3 CDA.xsd'})
  </code></pre>
  
  <p>The problem is with the <code>schemaLocation</code> entry in <code>nsmap</code>. <code>lxml</code> appears to be trying to validate the value and gives the error </p>
  
  <pre><code>ValueError: Invalid namespace URI u'urn:hl7-org:v3 CDA.xsd'
  </code></pre>
  
  <p>Am I specifying the <code>schemaLocation</code> value incorrectly? Is there a way to force <code>lxml</code> to accept any string value? Or is the value in the example simply intended to be a placeholder that I am supposed to replace with something else?</p>