2012-11-03 4 views
0

Création d'un petit fichier xsd/xml pour un système basé sur un restaurant.Erreur lors de la création d'un élément XSD unique

Voici le code que j'ai pour mon fichier XSD:

<xs:element name="table_cat"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element name="category" maxOccurs="unbounded"> 
      <xs:complexType> 
      <xs:sequence maxOccurs="unbounded"> 
       <xs:element name="category_id" type="CatID" /> 
       <xs:element name="catdescription" type="Length50"/> 
      </xs:sequence> 
      </xs:complexType> 
     </xs:element> 
     </xs:sequence> 
    </xs:complexType> 

    <xs:unique name="unique-catid"> 
     <xs:selector xpath="category" /> 
     <xs:field xpath="category_id"/> 

    </xs:unique> 

    </xs:element> 

mais chaque fois que j'ai plus de 1 champ category_id dans le fichier XML Je continue à obtenir l'erreur suivante:

The field 'category_id' is expecting at the most one value. 

J'ai essayé différentes solutions pour le faire fonctionner mais rien ne semble fonctionner.

J'espère que vous pouvez aider Merci!

Répondre

0

Vous n'avez pas réellement dit quelle contrainte vous essayez d'exprimer - il est difficile d'effectuer une ingénierie inverse de vos besoins à partir d'un code incorrect. Cela me semble tout de même médiocre: vous avez une séquence répétée de paires (id, description) sans élément conteneur autour de la paire. Cela va rendre le traitement des données inutilement difficile.

Peut-être que vous voulez

<xs:unique name="unique-catid"> 
    <xs:selector xpath="category_id" /> 
    <xs:field xpath="."/> 
</xs:unique> 

Mais je ne peux pas vraiment dire si c'est votre intention.

Questions connexes