2009-10-14 4 views
3

Je fichier xml dont la structure est définie par xsd suivante:Comment éviter "L'élément 'x' dans l'espace de noms 'x.xsd' a un élément enfant 'Items' invalide dans l'espace de noms 'x.xsd'"?

<?xml version="1.0" encoding="utf-8"?> 
<xs:schema targetNamespace="http://schemas.TEST.com/TEST/TEST.xsd" elementFormDefault="qualified" xmlns="http://schemas.TEST.com/TEST/TEST.xsd" xmlns:mstns="http://schemas.TEST.com/TEST/TEST.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:element name="Element"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element name="Name" type="xs:string" /> 
     <xs:element name="Items"> 
      <xs:complexType> 
      <xs:sequence> 
       <xs:element name="ItemName" type="xs:string" /> 
      </xs:sequence> 
      </xs:complexType> 
     </xs:element> 
     </xs:sequence> 
    </xs:complexType> 
    </xs:element> 
</xs:schema> 

Maintenant, je suis en train de créer des données XML de test basé sur xsd précédemment défini:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<Element xmlns="http://schemas.TEST.com/TEST/TEST.xsd"> 
    <Name>John Blue</Name> 
    <Items> 
     <ItemName>test</ItemName> 
    </Items> 
    <Items> 
     <ItemName>test2</ItemName> 
    </Items> 
    <Items> 
     <ItemName>test3</ItemName> 
    </Items> 
</Element> 

Ce fichier XML est considéré comme invalide en raison d'éléments "Items" répétés. Y a-t-il un moyen de contourner cela?

Répondre

7

Que diriez-vous

<xs:element name="Items" maxOccurs="unbounded"> 
+0

merci beaucoup, je sens qu'il doit faire quelque chose avec « maxOccurs » mais pas assez intelligent pour tester :-) Merci – krul

+0

de moi aussi :-) – radbyx

Questions connexes