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?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das Attribut hat keine Auswirkung auf ein XML-parser. Es kann Einfluss auf das Verhalten einer XML-Schema-Prozessor, wenn die entsprechenden Optionen gesetzt sind; und es kann ähnliche Auswirkungen auf das Verhalten von einem Programm vereint die Funktionen der XML-parsing-und XML-schema-Validierung. Es erzählt ein schema-Prozessor, wo Sie sich nach einem schema das Dokument beschrieben wird.
Aber auch mit einem schema-Prozessor, der
noNamespaceSchemaLocation
- Attribut wird nicht auf die Validierung eines Dokuments, wie dem ihrigen, wo die Elemente sind alle in einem Namensraum.