Herleitungseinschränkungen
Der Prozess der Herleitung eines DataSet-Schemas von XML ist nicht deterministisch, d. h. verschiedene Instanzen von XML-Dokumenten, für die eigentlich das gleiche Schema gilt, können, abhängig von den XML-Elementen in den einzelnen Dokumenten, unterschiedliche Schemas ergeben. Betrachten Sie z. B. die folgenden XML-Dokumente:
Document1:
<DocumentElement>
<Element1>Text1</Element1>
<Element1>Text2</Element1>
</DocumentElement>
Document2:
<DocumentElement>
<Element1>Text1</Element1>
</DocumentElement>
Bei "Document1" erstellt der Rückschlussprozess ein DataSet namens "DocumentElement" und eine Tabelle namens "Element1", weil es sich bei "Element1" um ein sich wiederholendes Element handelt.
DataSet: DocumentElement
Table: Element1
Element1_Text |
---|
Text1 |
Text2 |
Für "Document2" erstellt der Rückschlussprozess jedoch ein DataSet namens "NewDataSet" und eine Tabelle namens "DocumentElement1". "Element1" wird als Spalte hergeleitet, da es weder Attribute noch untergeordnete Elemente aufweist.
DataSet: NewDataSet
Table: DocumentElement
Element1 |
---|
Text1 |
Ursprünglich sollten diese beiden XML-Dokumente wohl das gleiche Schema erstellen, der Rückschlussprozess ergibt jedoch anhand der im jeweiligen Dokument enthaltenen Elemente sehr unterschiedliche Resultate.
Beim Laden eines DataSets von XML ist es deshalb empfehlenswert, explizit ein Schema mit der XML-Schema Definition (XSD)-Sprache oder XML-Data Reduced (XDR) anzugeben, damit die Abweichungen, die beim Erstellen eines Schemas von XML auftreten können, vermieden werden. Weitere Informationen über das explizite Angeben eines DataSet-Schemas mit einem XML-Schema finden Sie unter Generieren einer relationalen DataSet-Struktur aus einem XML-Schema (XSD).
Siehe auch
Herleiten der relationalen DataSet-Struktur aus XML | Laden eines DataSets aus XML | Laden von DataSet-Schemainformationen aus XML | XML und das DataSet | Erstellen und Verwenden von DataSets