1 pièce(s) jointe(s)
Problème KeyRef unbounded
Bonjour à tous,
Je débute tout juste le langage XML et notamment les XSD. Je me suis beaucoup renseigné et j'ai un peu prêt compris l'ensemble (mis à part certaine subtilité).
J'ai un code un peu compliqué à faire sur la gestion d’évènement.
Pour simplifier j'ai des utilisateurs, et des évènements. Pour chaque évènement je souhaiterai pouvoir mettre plusieurs utilisateurs en tant que participant et un autre utilisateur en tant que créateur de l’évènement.
Pour cela j'ai fait une Key sur l'attribut id des utilisateurs :
Code:
1 2 3 4
| <xs:key name="PkUtilisateur">
<xs:selector xpath="utilisateur"/>
<xs:field xpath="@id"/>
</xs:key> |
Et dans mon type evenement j'ai créé un champ utilisateur avec un entier.
J'ai ensuite rajouter un keyref sur ce champ
Code:
1 2 3 4
| <xs:keyref name="FkRefParticipantEvnt" refer="PkUtilisateur">
<xs:selector xpath="evenement"/>
<xs:field xpath="participant"/>
</xs:keyref> |
Mon schéma xsd est validé à l'aide de XMLSpy que j'utilise, mais lorsque je fait mon fichier XML lorsque je crée un évenement j'ai un problème. Si je souhaite ajouté plusieurs participants (comme ci dessous) j'ai le message d'erreur suivant:
Citation:
Field '{anonymous}' of identity constraint 'FkRefParticipantEvnt' evaluates to a node-set with more than one member.
Code:
1 2 3 4 5 6 7 8 9 10 11
| <evenement>
<nom>Lancement Iphone4</nom>
<horaire>
<dateDebut>2010-12-12</dateDebut>
<dateFin>2010-12-13</dateFin>
</horaire>
<localisation>2</localisation>
<createur>8</createur>
<participant>1</participant>
<participant>2</participant>
</evenement> |
Si je met un seul participant ça marche par contre très bien, je ne comprends pas se que je fait de mal?
Je met mon xsd en pièce jointe pour plus de précision, si quelqu'un peut m'aider ou me conseiller
Cordialement
Guillaume