Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 elemencie DataSet dla elementów schematu najwyższego poziomu. Jednak tabela jest tworzona tylko dla elementu complexType najwyższego poziomu, gdy element complexType jest zagnieżdżony wewnątrz innego elementu complexType, w takim przypadku zagnieżdżony element complexType jest mapowany na element DataTable w obiekcie DataSet.
Aby uzyskać więcej informacji na temat XSD, zobacz XML Schema World Wide Web Consortium (W3C) Zalecenie Schemat XML, Część 0: Podręcznik, Zalecenie Schemat XML, Część 1: Struktury oraz Zalecenie Schemat XML, Część 2: Typy danych.
W poniższym przykładzie pokazano schemat XML, gdzie customers jest elementem MyDataSet podrzędnym elementu, który jest elementem DataSet .
<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 / Notatka
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 Schema ma dwa elementy podrzędne: InStateCustomers oraz 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 zestawu danych Opisuje elementy schematu XML używane do tworzenia unikatowych i obcych ograniczeń klucza w obiekcie DataSet.
Generowanie relacji zestawu danych na podstawie schematu XML (XSD) Opisuje elementy schematu XML używane do tworzenia relacji między kolumnami tabeli w obiekcie DataSet.
Ograniczenia schematu XML i relacje Opisuje sposób tworzenia relacji niejawnie podczas używania elementów schematu XML do tworzenia ograniczeń w obiekcie DataSet.
Powiązane sekcje
Używanie kodu XML w zestawie danych Opisuje sposób ładowania i utrwalania relacyjnej struktury i danych w DataSet postaci danych XML.