Rückschlusseinschränkungen
Beim Herleiten eines DataSet-Schemas aus XML können sich in Abhängigkeit von den XML-Elementen jedes Dokuments verschiedene Schemata ergeben. Betrachten Sie beispielsweise den folgenden XML-Code:
Document1:
<DocumentElement>
<Element1>Text1</Element1>
<Element1>Text2</Element1>
</DocumentElement>
Document2:
<DocumentElement>
<Element1>Text1</Element1>
</DocumentElement>
Für „Document1“ ergibt der Rückschlussprozess ein DataSet mit dem Namen „DocumentElement“ und eine Tabelle mit dem Namen „Element1“, da „Element1“ ein sich wiederholendes Element ist.
DataSet: DocumentElement
Tabelle: Element1
Element1_Text |
---|
Text1 |
Text2 |
Für „Document2“ erzeugt der Rückschlussprozess jedoch ein DataSet namens „NewDataSet“ und eine Tabelle mit dem Namen „DocumentElement“. „Element1“ wird als Spalte abgeleitet, da sie keine Attribute und keine untergeordneten Elemente aufweist.
DataSet: NewDataSet
Tabelle: DocumentElement
Element1 |
---|
Text1 |
Es war möglicherweise beabsichtigt, dass sich für beide XML-Dokumente dasselbe XML-Schema ergibt, aber die Herleitung führt aufgrund der in den Dokumenten enthaltenen Elemente zu sehr verschiedenen Ergebnissen.
Zur Vermeidung von Abweichungen, die beim Generieren eines Schemas aus einem XML-Dokument auftreten können, wird empfohlen, beim Laden eines DataSet aus XML explizit ein Schema in XSD (XML Schema Definition Language) oder XDR (XML-Data Reduced) anzugeben. Weitere Informationen zum expliziten Angeben eines DataSet-Schemas mit einem XML-Schema finden Sie unter Ableiten der relationalen DataSet-Struktur aus dem XML-Schema (XSD).