Was bewirkt das Attribut noNamespaceSchemaLocation auf XML-parsing?

Per definition:

Den noNamespaceSchemaLocation-Attribut referenziert eine XML-Schema-Dokument, das keinen Ziel-Namensraum.

Wie wird dieses Attribut immer verändern das Ergebnis der Analyse?

Nehmen wir zum Beispiel das XML:

<?xml version="1.0"?>
<name
  xmlns="http://www.example.com/name"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.example.com/name schema/schema.xsd"
  title="Mr.">
   <first>John</first>
   <middle>M</middle>
   <last>Doe</last>
</name>

unter Bezugnahme auf dieses schema:

<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:target="http://www.example.com/name"
targetNamespace="http://www.example.com/name" elementFormDefault="qualified">
  <element name="name">
    <complexType>
      <sequence>
        <element name="first" type="string"/>
        <element name="middle" type="string"/>
        <element name="last" type="string"/>
      </sequence>
      <attribute name="title" type="string"/>
    </complexType>
  </element>
</schema>

Habe ich entfernt, diese namespace-Deklarationen aus dem schema:

xmlns:target="http://www.example.com/name" 
targetNamespace="http://www.example.com/name" 

ohne auch nur mit der noNamespaceSchemaLocation-Attribut in den verweisen auf XML, wird kein Fehler geworfen wurde. Warum brauchen wir überhaupt dieses Attribut in Erster Linie?

InformationsquelleAutor Jops | 2013-03-24
Schreibe einen Kommentar