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 MyDataSetZestawu 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 InStateCustomersOutOfStateCustomers.

<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.

Używanie języka XML w elemencie DataSet
Opisuje sposób ładowania i utrwalania relacyjnej struktury i danych w DataSet postaci danych XML.

Zobacz też