Aucune déclaration globale correspondante disponible pour la racine de validation

Contexte

Valider un document XML à l’aide d’un schéma.

Problème

La forme la plus simple du problème est affichée dans deux fichiers.

Document XML

   sugar cookies   

Document XSD

                     

Erreur

Le message d’erreur complet de xmllint :

file.xml: 4: élément recette: erreur de validité des schémas: élément ‘recette’: aucune déclaration globale correspondante disponible pour la racine de validation.

Question

Quelle est la syntaxe correcte (ou quels atsortingbuts de schéma sont manquants) pour garantir que le schéma donné peut être utilisé pour valider avec succès le document XML donné?

Vous devez changer votre instance XML. Votre actuel dit qu’il recherche un type appelé description dans l’espace de noms http://www.namespace.org/recipe . Cependant, les seuls types exposés dans cet espace de noms sont appelés recipe et descriptionType .

Donc, soit définissez un type appelé description dans le schéma XSD, soit modifiez votre instance afin de référencer correctement le type de recette :

    sugar cookies   

Seules les définitions d’éléments globales peuvent être utilisées comme éléments racine. Votre schéma n’a que des types complexes et donc l’erreur. Changez le en

        

En savoir plus à ce sujet ici

Dans ma pratique, j’ai obtenu la No matching global declaration available for the validation root dans deux cas:

  • Si XSD ne contient pas de expliqué dans la réponse de @ aravind-r-yarram.
  • Si dans XML ne contient pas d’atsortingbut xmlns . Dans ce cas, l’ajout des xmlns aidera:

      ...