Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette section fournit une vue d’ensemble de la façon dont le schéma relationnel d’un schéma DataSet est généré à partir d’un document de schéma XSD (XML Schema Definition Language). En général, pour chaque complexType élément enfant d’un élément de schéma, une table est générée dans le DataSet. La structure de table est déterminée par la définition du type complexe. Des tables sont créées dans DataSet, qui concerne les éléments de niveau supérieur du schéma. Toutefois, une table est créée uniquement pour un élément de niveau complexType supérieur lorsque l’élément complexType est imbriqué à l’intérieur d’un autre complexType élément, auquel cas l’élément imbriqué complexType est mappé à un DataTable élément dans le DataSet.
Pour plus d’informations sur le XSD, consultez la partie 0 du schéma XML W3C (World Wide Web Consortium) : Recommandation d’introduction, la partie schéma XML 1 : Recommandation de structures et la recommandation de schéma XML 2 : Recommandations sur les types de données.
L’exemple suivant illustre un schéma XML où customers est l’élément enfant de l’élément MyDataSet , qui est un DataSet élément.
<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>
Dans l’exemple précédent, l’élément est un élément customers de type complexe. Par conséquent, la définition de type complexe est analysée et le processus de mappage crée le tableau suivant.
Customers (CustomerID, CompanyName, Phone)
Le type de données de chaque colonne de la table est dérivé du type de schéma XML de l’élément ou de l’attribut correspondant spécifié.
Remarque
Si l’élément customers est d’un type de données de schéma XML simple tel que l’entier, aucune table n’est générée. Les tables sont créées uniquement pour les éléments de niveau supérieur qui sont des types complexes.
Dans le schéma XML suivant, l’élément Schema a deux éléments enfants, InStateCustomers et 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>
Les éléments enfants InStateCustomers et OutOfStateCustomers sont des éléments de types complexes (customerType). Par conséquent, le processus de mappage génère les deux tables identiques suivantes dans le DataSet.
InStateCustomers (CustomerID, CompanyName, Phone)
OutOfStateCustomers (CustomerID, CompanyName, Phone)
Dans cette section
Mappage des contraintes du schéma XML (XSD) aux contraintes de DataSet Décrit les éléments du schéma XML utilisés pour créer des contraintes uniques et de clé étrangère dans un DataSet.
Génération de relations DataSet à partir du schéma XML (XSD) Décrit les éléments de schéma XML utilisés pour créer des relations entre les colonnes de table dans un DataSet.
Contraintes et relations de schéma XML Décrit comment les relations sont créées implicitement lors de l’utilisation d’éléments de schéma XML pour créer des contraintes dans un DataSet.
Sections connexes
Utilisation de XML dans un DataSet Décrit comment charger et rendre persistantes la structure relationnelle et les données dans un DataSet fichier XML.