Gérer les références et les attributs d'une balise + question element maxOccurs
Bonjour à tout le monde,
Je débute avec le XML/XSD et j'ai un petit problème avec un schéma XSD que je voudrais faire. Voici le contexte (exemple purement fictif, je ne peux pas partager l'entièreté du code) :
J'ai une balise "Ident" qui contient elle même trois balises (Sex, FirstName, LastName), mais qui contient aussi deux attributs pour elle : type (passport obligatoirement), et le pays qui doit être dans contenu dans les trois pays suivants : France, Anglette, ou Pays-Bas.
Je ne sais pas trop comment je dois faire pour aller les deux dans mon XSD. Voici le code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
<xsd:element name="Ident">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="sex"/>
<xsd:element ref="firstName"/>
<xsd:element ref="lastName"/>
</xsd:sequence>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="type" use="optional" fixed="passport"/>
<xsd:attribute name="Country" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="France"/>
<xsd:enumeration value="Angleterre"/>
<xsd:enumeration value="Pays-Bas"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element> |
J'ai entré mon XML et mon XSD dans un validateur en ligne et j'obtiens ce warning : The content of '#AnonType_livre' is invalid. Element 'simpleContent' is invalid, misplaced, or occurs too often.
Il indique clairement les lignes simpleContent du code que j'indique plus haut.
Je voudrais déjà savoir si un XSD avec des warnings uniquement peut être considéré comme correct ou non.
Ensuite, pourriez-vous m'aiguiller pour ce que je souhaite faire ?
Enfin j'ai une question bonus au sujet des maxOccurs, j'en ai mis plein dans mon XSD sur des elements, j'ai vu ça sur Internet. Mais j'ai des warnings : Attribute 'maxOccurs' cannot appear in element 'element'.
Par exemple sur ce code-ci :
Code:
<xsd:element name="firstName" type="xsd:string" maxOccurs="1"/>
Avez-vous une idée ? Des versions différentes de XSD/XML utilisées ? Je ne sais pas...
Merci beaucoup,
alers