Validation XML avec XSD dans IDE Visual Studio

Je sais que je l’ai déjà fait, mais ça ne marche pas aujourd’hui, et je ne trouve nulle part qui explique comment le faire. Cela pourrait être mon manque de sumil, mais je soupçonne des gremlins.

J’ai un document XML et un répertoire complet de XSD qui le définissent. Comment configurer Visual IDE pour qu’il m’informe des échecs de validation, puis fournir une liste intellisense de balises et d’atsortingbuts valides dans un contexte donné?

Ce que j’ai essayé:

  • J’ai ajouté les XSD au projet avec le document XML.
  • J’ai ajouté les fichiers XSD à la liste XML Schema (sous l’élément de menu XML / Schemas …).
  • J’ai même inclus les atsortingbuts schemaLocation et noNamespaceSchemaLocation dans le document XML.

Visual Studio n’abandonne toujours pas d’informations de débogage ou d’édition utiles. J’ai essayé les deux 2010 et 2008 (je l’ai déjà fait en 2008 je pensais)

Mise à jour: un autre développeur a essayé ceci et il a échoué pour lui aussi. Il sait qu’il l’a fait avec d’autres documents XML et qu’il a fonctionné. J’ai ensuite téléchargé l’éditeur XML d’Oxygen et cela fonctionnait très bien sur les mêmes fichiers XML et XSD, de sorte que les fichiers semblent bien se passer (ou que Oxygen est plus flexible et plus indulgent…)

    Jim,

    Vous devez associer le document XML dans Visual Studio au fichier XSD dont vous disposez – vous devriez voir quelque chose comme ceci dans votre fenêtre Propriétés du document XML:

    texte alt

    Miroir 1

    Dans l’éditeur d’ensembles de schémas XML (s’ouvre lorsque vous cliquez sur les points de suspension (…) dans la zone de texte “Schémas” de votre fenêtre Propriétés), vous devez vous assurer que votre schéma est présent. Assurez-vous également que la colonne Use pour ce schéma est activée – sinon, cliquez dessus – vous obtiendrez une liste déroulante d’options, sélectionnez l’option Use la coche verte:

    texte alt

    Miroir 1

    Assurez-vous que les fenêtres de liste des erreurs de Visual Studio sont visibles (menu Affichage> Liste des erreurs). Cela affichera toutes les incohérences entre les définitions de schéma XML et XSD.

    Une fois que tout cela est en place, l’éditeur XML de Visual Studio doit mettre en évidence les problèmes liés à votre code XML dans l’éditeur en utilisant des squigglies bleus:

    texte alt

    Miroir 1

    Vous n’avez pas besoin d’associer manuellement les fichiers dans Visual Studio – cela fera automatiquement correspondre un fichier XML à un fichier XSD si vous les avez tous deux ouverts et si votre espace de noms est défini correctement.

    Pour définir l’espace de noms:

    Dans l’élément racine du fichier XML:

      ...  

    Dans l’élément de schéma du fichier XSD:

      ...  

    Une note sur l’utilisation des types dans votre schéma lorsque vous avez un targetNamespace

    Comme vous spécifiez un targetNamespace dans votre schéma, toute référence à des types définis dans le schéma devra être précédée d’un espace de noms (c’est pourquoi nous avons ajouté l’atsortingbut xmlns:this dans l’élément ) ci-dessus.

              

    Un autre sharepoint défaillance réside dans le “blocage” des fichiers de schéma de Windows 7: faites un clic droit sur le fichier xsd sur le disque, Propriétés> Général et, s’il est bloqué, vous aurez un bouton “Débloquer”. Cela entraînait l’échec de ma validation XML dans VS2012.

    Votre fichier xsd contient-il un atsortingbut “targetNamespace” / schema / @ targetNamespace similaire à celui que vous référencez dans le XML?

    Exemple:

    xsd:

    xml:

    voir aussi XML / XSD intellisense ne fonctionne pas dans Visual Studio 2010

    J’ai eu le même problème, mais VS faisait déjà référence à mon schéma correctement. Éteint le fichier que j’essayais de valider sans extension de fichier ‘xml’. Ajout de .xml à la fin de mon nom de fichier et la validation a commencé à fonctionner.