2009-06-19 3 views
0

J'essaye d'analyser les fichiers XML et je voudrais fournir un schéma à valider cependant, puisque je ne me soucie pas de certains des noms de balises, je voudrais permettre aux utilisateurs de spécifier quoi que ce soit pour certaines balises.Comment puis-je spécifier dans un schéma XML où le nom d'un élément ne me concerne pas?

Exemple XML:

<root> 
    <record> 
     <data1>foo</data1><data2>bar</data2> 
    </record> 
    <record> 
     <data2>foo2</data2><data1>bar2</data1> 
    </record> 
</root> 

Dans cet exemple, les noms de balises « data1 » et « données2 » sont importants pour le programme (principalement parce qu'ils peuvent apparaître dans un ordre quelconque, comme indiqué ci-dessus), mais les noms de balises , 'record' et 'root' ne le sont pas.

Ce serait bien de permettre aux utilisateurs de spécifier du XML avec n'importe quelle chaîne (non vide) pour 'record' et 'root' qui validerait encore contre mon schéma.

+0

Je ne pense pas que cela soit possible avec XML Schema. Dès que vous introeuce éléments génériques, vous perdez tout contrôle de la spécification de leur contenu contenu. – skaffman

+0

L'objectif est de définir une structure. Vous pouvez avoir des décomptes d'enregistrements facultatifs et des champs facultatifs, mais les champs et la structure d'enregistrement doivent être définis. – eschneider

Répondre

1

Cela va à l'encontre du but d'avoir un schéma et de définir un contrat. Ce qu'il fait, c'est que l'utilisateur doit contacter le développeur (vous) pour savoir comment consommer votre service. Vous ne voulez pas entrer dans une situation où les lignes directrices pour savoir comment consommer un service est "contacter Jack".

Questions connexes