title: Is xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" a special case in XML?
body: <p>When we use a namespace, we should also indicate where its associated XSD is located at, as can be seen in the following example:</p>
  
  <pre><code>&lt;?xml version="1.0"?&gt;
  &lt;Artist BirthYear="1958" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns="http://www.webucator.com/Artist"
   xsi:schemaLocation="http://www.webucator.com/Artist Artist.xsd"&gt;
   &lt;Name&gt;
    &lt;Title&gt;Mr.&lt;/Title&gt;
    &lt;FirstName&gt;Michael&lt;/FirstName&gt;
    &lt;LastName&gt;Jackson&lt;/LastName&gt;
   &lt;/Name&gt;
  &lt;/Artist&gt;
  </code></pre>
  
  <p>Here, we have indicated that Artist.xsd should be used for validating the <code>http://www.webucator.com/Artist</code> namespace. However, we are also using the <code>http://www.w3.org/2001/XMLSchema-instance</code> namespace, but we have not specified where its XSD is located at. How do XML parsers know how to handle this namespace?</p>
  
  <p><strong>Update (in response to the first commenter)</strong></p>
  
  <p>So, can we instead of using:</p>
  
  <pre><code>&lt;beans xmlns="http://www.springframework.org/schema/beans"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:ehcache="http://www.springmodules.org/schema/ehcache"
         xsi:schemaLocation="http://www.springframework.org/schema/beans 
              http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
              http://www.springmodules.org/schema/ehcache
              http://www.springmodules.org/schema/cache/springmodules-ehcache.xsd"&gt;
  ...
  &lt;/beans&gt;
  </code></pre>
  
  <p>use</p>
  
  <pre><code>&lt;beans xmlns="http://www.springframework.org/schema/beans"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:ehcache="http://www.springmodules.org/schema/ehcache"&gt;
  ...
  &lt;/beans&gt;
  </code></pre>
  
  <p>?</p>