Quel est l'effet de l'attribut noNamespaceSchemaLocation sur l'analyse XML?
Par définition:
La noNamespaceSchemaLocation attribut fait référence à un document de Schéma XML qui ne dispose pas d'un espace de noms cible.
Comment cet attribut jamais modifier le résultat de l'analyse?
Par exemple, prendre ce 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>
en se référant à ce schéma:
<?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>
J'ai enlevé ces déclarations d'espace de noms du schéma:
xmlns:target="http://www.example.com/name"
targetNamespace="http://www.example.com/name"
sans même l'aide de la noNamespaceSchemaLocation attribut dans le référencement XML, aucune erreur n'a été levée. Pourquoi avons-nous besoin de cet attribut en premier lieu?
OriginalL'auteur Jops | 2013-03-24
Vous devez vous connecter pour publier un commentaire.
L'attribut n'a aucun effet sur un analyseur XML. Il peut d'influer sur le comportement d'un Schéma XML d'un Processeur, si les options appropriées; et il peut de même d'influer sur le comportement d'un programme qui combine les fonctions d'analyse XML et XML schéma de validation. Il raconte un schéma processeur où chercher pour un schéma décrivant le document.
Mais même avec un schéma de processeur, la
noNamespaceSchemaLocation
attribut n'affectera pas la validation d'un document, comme la vôtre, où les éléments sont tous dans un espace de noms.L'attribut indique le schéma processeur où chercher pour un schéma qui peut être utilisé pour valider des éléments qui sont à aucun espace de noms. Dans votre exemple, il n'y a pas de tels éléments.
Ah, c'est cool. Merci pour la clarification de Michael. Pleinement compris maintenant.
OriginalL'auteur Michael Kay