Per definizione:Che effetto ha l'attributo noNamespaceSchemaLocation sull'analisi XML?
L'attributo noNamespaceSchemaLocation fa riferimento a un documento XML Schema che non dispone di uno spazio dei nomi di destinazione.
In che modo questo attributo modifica il risultato dell'analisi?
Per esempio, prendete questo 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>
riferimento a questo 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>
ho tolto queste dichiarazioni di namespace dallo schema:
xmlns:target="http://www.example.com/name"
targetNamespace="http://www.example.com/name"
senza nemmeno utilizzare il attributo noNamespaceSchemaLocation nel riferimento XML, nessun errore è stato generato. Perché abbiamo persino bisogno di questo attributo in primo luogo?
Grazie per la risposta Michael. Suppongo che la mia domanda avrebbe dovuto essere "Quale effetto ha l'attributo noNamespaceSchemaLocation su XML * validation *?". Se una parte del mio documento non ha uno spazio dei nomi, vuoi dire che è l'ora in cui l'effetto noNamespaceSchemaLocation potrebbe dare il via e rimediare ai "spazi dei nomi" non sovrapposti dei dati e dello schema? – Jops
L'attributo indica al processore dello schema dove cercare uno schema che può essere utilizzato per convalidare elementi che non si trovano nello spazio dei nomi. Nel tuo esempio, non ci sono tali elementi. –
Ah, fantastico. Grazie per il chiarimento Michael. Completamente capito ora. – Jops