2009-04-15 8 views
0

Ich habe einige Tools im Web gefunden, die XML-Schema für eine bestimmte XML-Dateninstanz generieren. Etwas wie - link textAuswerten der Genauigkeit des generierten XML-Schemas

Ich denke auch daran, eine zu entwickeln, aber ich bin irgendwie verwirrt mit der Bewertung des generierten Schemas.

Wie kann das generierte Schema ausgewertet werden, d. H. Das erzeugte Schema bestätigt die gegebenen Daten? Gibt es irgendwelche Mittel, um eine Art Genauigkeitsmaß zu formulieren, das besagt, dass das erzeugte XML-Schema zu 80% korrekt oder zu 90% korrekt für die gegebenen XML-Daten ist?

Bitte helfen Sie mir mit irgendwelchen Zeigern.

prost

Antwort

2

Ich glaube, Sie fragen nach dem Unmöglichen. Ein automatisch generiertes Schema (ich benutze Examplotron) kann niemals perfekt genau sein, weil das Generierungstool nicht genug Informationen hat.

Wenn beispielsweise im XML-Dokument ein Element <foobar> vorhanden ist, wie könnte das Generierungstool wissen, ob es obligatorisch ist oder nicht? Wenn mehr als ein Wert akzeptiert wird? Ohne das ursprüngliche Schema zu kennen, können Sie nicht sagen, ob das generierte Schema korrekt ist oder nicht. (Exampllotron löst das Problem, indem es dem Autor erlaubt, strukturierte Kommentare in die XML-Datei zu schreiben, um das Programm zu führen.)

Hier ist ein Beispiel. Mit dieser XML-Datei:

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

Examplotron generiert dieses Schema (ein wenig bearbeitet):

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

Notiere die xsd:integer im Element <foo>. Schöne Schlussfolgerung, aber ist es richtig? Mai <foo> sollte von einem allgemeineren Typ sein wie xsd:any ...

+0

Danke für die Antwort. Es macht Sinn. Ich hatte ein hinterhältiges Gefühl, dass ich gegen die Wand schlug. :) – Arnkrishn

-1

Ein Schema aus einem vorhandenen XML-Dokument generiert wird nur so gut wie das Original XML sein. Wenn Ihre Beispiel-XML ein vollständiges Beispiel für die XML-Datei ist, die verwendet wird, funktioniert das generierte Schema. Wenn es unvollständig oder schlecht geformt ist, wird es nicht.

+0

Ich frage mich, kann ich die Genauigkeit des generierten Schemas bewerten, falls ich nicht das ursprüngliche XML-Schema habe und ich habe nur ein XML-Dokument und das entsprechende XML-Schema, das vom Tool generiert wurde? – Arnkrishn

+0

Das stimmt einfach nicht: Eine Probe ist nur eine Probe. Auch wenn es vollständig ist, kann es nicht alle rechtlichen Variationen des XML-Inhalts darstellen. – bortzmeyer

+0

@bortzmeyer: Ich bezog mich auf die Schemadefinition. Ein vollständiges Beispiel generiert ein Schema, das für die Validierung verwendet werden kann. –

Verwandte Themen