Je vois il y a au moins cinq erreurs majeures, même très majeures.
[1] Il faut mettre une déclaration de l'espace de nom sur le document (ou retirer le targetNamespace sur le xsd, peu probable comme intention). Par exemple, comme ceci.
<meteo xmlns="http://www.example.org/meteo">
[2] Toutes les références de types dans le xsd doit être qualifié, comme par exemple:
<element name="mesure" minOccurs="1" maxOccurs="unbounded" type="tns:listemesure" />
et dans bien d'autre endroits. Pour les types innés de xs, ce ne sont pas en apparant pour la seule raison que xs soit une espace defaute de nom.
[3] Le type d'un attribut ne soit jamais d'un type complexe. Et...
[3.1] ...complexType ne contient jamais simpleType comme un enfant direct. Donc, l'attribut date, vous fermez la définition du complexType tout de suite.
1 2
| <attribute name="date" type="date" />
</complexType> |
[4] Comme suite de [3], quoi faire pour le type simple listeville? Vous le mettez comme une définition/élément globale, directement sous la racine schema. Et un type local (opposant de global) ne puisse jamais acquérir un attribut de "name", jamais. Mais, maintenant, comme il est placé comme une élément globale, il peut l'avoir (listeville) sans problème et même comme obligatoire.
Et puis, il y a des soucis mineurs comme base="String" doit être s'écrire comme base="string"...
Partager