Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Abschnitt enthält eine Übersicht darüber, wie das relationale Schema eines elements DataSet aus einem XSD-Schemadokument (XML Schema Definition Language) erstellt wird. Im Allgemeinen wird für jedes complexType Kindelement eines Schemaelements eine Tabelle im DataSet erstellt. Die Tabellenstruktur wird durch die Definition des komplexen Typs bestimmt. Tabellen werden im DataSet für Elemente auf der obersten Ebene des Schemas erstellt. Eine Tabelle wird jedoch nur für ein Element auf oberster Ebene complexType erstellt, wenn das complexType Element in einem anderen complexType Element geschachtelt ist. In diesem Fall wird das geschachtelte complexType Element einem DataTable innerhalb des DataSetElements zugeordnet.
Weitere Informationen zum XSD finden Sie im XML-Schemateil 0 des World Wide Web Consortiums (W3C): Primer-Empfehlung, im XML-Schemateil 1: Strukturen-Empfehlung und im XML-Schemateil 2: Datentyp-Empfehlung.
Im folgenden Beispiel wird ein XML-Schema veranschaulicht, bei dem customers das untergeordnete Element des MyDataSet Elements ist, welches ein DataSet Element ist.
<xs:schema id="SomeID"
xmlns=""
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="MyDataSet" msdata:IsDataSet="true">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="customers" >
<xs:complexType >
<xs:sequence>
<xs:element name="CustomerID" type="xs:integer"
minOccurs="0" />
<xs:element name="CompanyName" type="xs:string"
minOccurs="0" />
<xs:element name="Phone" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
Im vorherigen Beispiel ist das Element customers ein komplexes Typelement. Daher wird die komplexe Typdefinition analysiert, und der Zuordnungsprozess erstellt die folgende Tabelle.
Customers (CustomerID, CompanyName, Phone)
Der Datentyp jeder Spalte in der Tabelle wird vom XML-Schematyp des entsprechenden Elements oder Attributs abgeleitet.
Hinweis
Wenn das Element customers einen einfachen XML-Schemadatentyp aufweist, z. B. eine ganze Zahl, wird keine Tabelle generiert. Tabellen werden nur für die Elemente auf oberster Ebene erstellt, die komplexe Typen sind.
Im folgenden XML-Schema hat das Schema-Element zwei untergeordnete Elemente: InStateCustomers und OutOfStateCustomers.
<xs:schema id="SomeID"
xmlns=""
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="InStateCustomers" type="customerType" />
<xs:element name="OutOfStateCustomers" type="customerType" />
<xs:complexType name="customerType" >
</xs:complexType>
<xs:element name="MyDataSet" msdata:IsDataSet="true">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element ref="customers" />
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
Sowohl die InStateCustomers als auch die OutOfStateCustomers Kind-Elemente sind komplexe Typ-Elemente (customerType). Daher generiert der Zuordnungsprozess die folgenden beiden identischen Tabellen in der DataSet.
InStateCustomers (CustomerID, CompanyName, Phone)
OutOfStateCustomers (CustomerID, CompanyName, Phone)
In diesem Abschnitt
Zuordnen von XML-Schemaeinschränkungen zu DataSet-Einschränkungen Beschreibt die XML-Schemaelemente, die zum Erstellen eindeutiger und Fremdschlüsseleinschränkungen in einem DataSet.
Generieren von DataSet-Beziehungen aus dem XML-Schema (XSD) Beschreibt die XML-Schemaelemente, die zum Erstellen von Beziehungen zwischen Tabellenspalten in einer DataSet.
XML-Schemaeinschränkungen und -beziehungen Beschreibt, wie Beziehungen implizit erstellt werden, wenn XML-Schemaelemente verwendet werden, um Einschränkungen in einem DataSet zu erstellen.
Verwandte Abschnitte
Verwenden von XML in einem DataSet Beschreibt, wie die relationale Struktur und die Daten in einem DataSet XML-Format geladen und beibehalten werden.