J'ai une connaissance limitée des fichiers XML/schéma.
Cela devrait donc être une question assez simple. Comment spécifiez-vous un fichier local pour la schémax?
<?xml version="1.0"?>
<note
xmlns="http://www.w3schools.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3schools.com note.xsd">
...
</note>
Il s'agit d'un échantillon de www.w3.org et la partie qui spécifie le schéma est en schéma. J'ai essayé de regarder la documentation, mais comment pouvez-vous spécifier un fichier local?
Quelque chose comme
xsi:schemaLocation="../relativepath/schemafolder not.xsd">
Merci
schemaLocation
doit contenir deux valeurs séparées par WhitSpace: l'URI de l'espace de noms (cela ne change pas) et l'URL de schéma.
Donc, dans votre cas
xsi:schemaLocation="http://www.w3schools.com ../relativepath/schemafolder/note.xsd">
Ne vous laissez pas berner par l'espace de noms URI étant une URL HTTP apparemment valide, ce n'est qu'une des petites folies XML XML inventées. :)
En fait, vous pouvez spécifier des schémas pour plusieurs espaces de noms dans un schemaLocation
:
xsi:schemaLocation="namespace1 schemaurl1 namespace2 schemaurl2 ..."
(Je vous conseille également d'utiliser des chemins relatifs avec soin: Bien qu'ils soient extrêmement utiles lorsque vous déplacez vos fichiers, tout en validant le même code (ou outil), lorsque vous déployez votre code de validation dans une application, le "répertoire de travail "Ce n'est peut-être pas ce que vous attendez. Cela ne veut pas dire que vous ne devriez pas utiliser des chemins relatifs, juste pour être conscient de cela lorsque vous obtenez une exception étrange à la recherche du schéma introuvable.)