J'ai le code XML suivant:XSD avec des éléments nécessaires et des éléments inconnus
<product>
<name>beef</name>
<category>food</category>
<unknownfield1>..</unknownfield1>
<unknownfield2>..</unknownfield2>
</product>
Je dois valider cette xml pour assurer l'élément racine est produit et il contient le nom des éléments requis et la catégorie. Le hic est que ce n'est pas toujours structuré comme l'exemple ci-dessus. Ça pourrait être comme ça.
<product>
<category>food</category>
<unknownfield4>..</unknownfield4>
<name>beef</name>
<unknownfield4>..</unknownfield4>
</product>
Si la structure na pas le changement, je pourrais utiliser les éléments suivants:
<xs:element name="product">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="category" type="xs:string" />
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"></xs:any>
</xs:sequence>
</xs:complexType>
</xs:element>
mais que le travail ne marche pas évidemment lorsque la séquence d'élément est inconnu. Toute aide à ce sujet est appréciée.
mais l'élément all n'accepte pas l'élément any qui est nécessaire en raison des éléments inconnus. – jeslas
C'est compliqué, mais vous pouvez ajouter des éléments '' entre chaque élément connu. –
pmartin
Je ne pense pas que cela fonctionnerait non plus. Parfois, l'élément name vient avant l'élément category et parfois l'inverse. Pouvez-vous donner un exemple qui fonctionne avec les 2 exemples XML dans la question? – jeslas