2009-04-15 3 views
0

J'ai trouvé quelques outils sur le Web qui génèrent un schéma XML pour une instance de données XML donnée. Quelque chose comme - link textÉvaluation de la précision du schéma XML généré

Je pense aussi à développer un, mais je suis un peu confus avec l'évaluation du schéma généré.

Comment le schéma généré peut-il être évalué, c'est-à-dire que le schéma généré confirme les données données? Existe-t-il un moyen de formuler une sorte de mesure de précision qui indique que le schéma XML généré est correct à 80% ou correct à 90% pour les données XML données?

S'il vous plaît aidez-moi avec des pointeurs.

acclamations

Répondre

2

Je crois que vous demandez l'impossible. Un schéma généré automatiquement (j'utilise Examplotron) ne peut jamais être parfaitement précis car l'outil de génération n'a pas assez d'informations. Par exemple, s'il existe un élément <foobar> dans le document XML, comment l'outil de génération peut-il savoir s'il est obligatoire ou non? Si plus d'une valeur est acceptée? Sans connaître le schéma d'origine, vous n'avez aucun moyen de dire si le schéma généré est exact ou non. (Examplotron résout le problème en permettant à l'auteur de mettre des commentaires structurés dans le fichier XML, pour guider le programme.)

Voici un exemple. Avec ce fichier XML:

<data> 
<foo>1</foo> 
<bar>text</bar> 
<baz/> 
</data> 

Examplotron généré ce schéma (un peu modifié):

start = 
    element data { 
    element foo { xsd:integer }, 
    element bar { text }, 
    element baz { empty } 
    } 

Notez le xsd:integer dans l'élément <foo>. Belle inférence mais, est-ce exact? Mai être <foo> était censé être d'un type plus général comme xsd:any ...

+0

Merci pour la réponse. Ca a du sens. J'avais l'impression sournoise que je frappais le mur. :) – Arnkrishn

-1

Un schéma généré à partir d'un document XML existant ne sera aussi bon que le XML d'origine. Si votre exemple XML est un exemple complet du code XML qui sera utilisé, votre schéma généré fonctionnera. Si c'est incomplet ou mal formé, ce ne sera pas le cas.

+0

Je me demande si je peux évaluer la précision du schéma généré dans le cas où je n'ai pas le schéma XML original et je viens d'avoir un document XML et le schéma XML correspondant généré par l'outil? – Arnkrishn

+0

Ce n'est tout simplement pas vrai: un échantillon est juste un échantillon. Même s'il est complet, il ne peut tout simplement pas représenter toutes les variantes légales du contenu XML. – bortzmeyer

+0

@bortzmeyer: Je faisais référence à la définition du schéma. Un exemple complet générera un schéma pouvant être utilisé pour la validation. –

Questions connexes