Pobieranie relacyjnej struktury elementu DataSet ze schematu XML (XSD)
Ta sekcja zawiera omówienie sposobu tworzenia schematu relacyjnego elementu DataSet
na podstawie dokumentu schematu języka definicji schematu XML (XSD). Ogólnie rzecz biorąc, dla każdego complexType
elementu podrzędnego elementu schematu tabela jest generowana w obiekcie DataSet
. Struktura tabeli jest określana przez definicję typu złożonego. Tabele są tworzone w elemecie DataSet
dla elementów najwyższego poziomu w schemacie. Jednak tabela jest tworzona tylko dla elementu najwyższego poziomu, gdy complexType
element jest zagnieżdżony wewnątrz innego complexType
elementu, w tym przypadku zagnieżdżony complexType
element jest mapowany na element DataTable
w obiekcie DataSet
.complexType
Aby uzyskać więcej informacji na temat XSD, zobacz Schemat XML World Wide Web Consortium (W3C) Schema Part 0: Primer Recommendation,the XML Schema Part 1: Structures Recommendation, and the XML Schema Part 2: Datatypes Recommendation ( Zalecenie dotyczące schematu XML — część 2: zalecenie dotyczące typów danych).
W poniższym przykładzie pokazano schemat XML, gdzie customers
jest elementem podrzędnym elementu, który jest elementem MyDataSet
Zestawu danych .
<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>
W poprzednim przykładzie element customers
jest elementem typu złożonego. W związku z tym definicja typu złożonego jest analizowana, a proces mapowania tworzy poniższą tabelę.
Customers (CustomerID, CompanyName, Phone)
Typ danych każdej kolumny w tabeli pochodzi od typu schematu XML odpowiedniego elementu lub określonego atrybutu.
Uwaga
Jeśli element customers
jest prostym typem danych schematu XML, takim jak liczba całkowita, nie jest generowana żadna tabela. Tabele są tworzone tylko dla elementów najwyższego poziomu, które są typami złożonymi.
W poniższym schemacie XML element Schemat ma dwa elementy podrzędne i InStateCustomers
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>
Zarówno elementy podrzędne, jak InStateCustomers
i OutOfStateCustomers
są elementami typu złożonego (customerType
). W związku z tym proces mapowania generuje następujące dwie identyczne tabele w tabeli DataSet
.
InStateCustomers (CustomerID, CompanyName, Phone)
OutOfStateCustomers (CustomerID, CompanyName, Phone)
W tej sekcji
Mapowanie ograniczeń schematu XML (XSD) na ograniczenia elementu DataSet
Opisuje elementy schematu XML używane do tworzenia unikatowych i obcych ograniczeń klucza w obiekcie DataSet
.
Generowanie relacji elementu DataSet na podstawie schematu XML (XSD)
Opisuje elementy schematu XML używane do tworzenia relacji między kolumnami tabeli w obiekcie DataSet
.
Relacje i ograniczenia schematu XML
Opisuje sposób tworzenia relacji niejawnie podczas używania elementów schematu XML do tworzenia ograniczeń w obiekcie DataSet
.
Sekcje pokrewne
Używanie języka XML w elemencie DataSet
Opisuje sposób ładowania i utrwalania relacyjnej struktury i danych w DataSet
postaci danych XML.