Partager via


Limitations de l’inférence

Le processus d’inférence d’un DataSet schéma à partir de XML peut entraîner des schémas différents en fonction des éléments XML de chaque document. Par exemple, tenez compte des documents XML suivants.

Document1 :

<DocumentElement>
  <Element1>Text1</Element1>
  <Element1>Text2</Element1>
</DocumentElement>

Document2 :

<DocumentElement>
  <Element1>Text1</Element1>
</DocumentElement>

Pour « Document1 », le processus d’inférence produit un DataSet « DocumentElement » nommé et une table nommée « Element1 », car « Element1 » est un élément répétitif.

Jeu de données: DocumentElement

Table: Élément1

Element1_Text
Texte1
Texte2

Toutefois, pour « Document2 », le processus d’inférence produit un DataSet « NewDataSet » nommé « NewDataSet » et une table nommée « DocumentElement ». « Element1 » est déduit sous forme de colonne, car il n’a aucun attribut et aucun élément enfant.

DataSet : NewDataSet

Table: DocumentElement

Élément1
Texte1

Ces deux documents XML peuvent avoir été destinés à produire le même schéma, mais le processus d’inférence produit des résultats très différents en fonction des éléments contenus dans chaque document.

Pour éviter les différences qui peuvent se produire lors de la génération d’un schéma à partir d’un document XML, nous vous recommandons de spécifier explicitement un schéma à l’aide du langage XSD (XML Schema Definition Language) ou XML-Data Réduit (XDR) lors du chargement d’un DataSet code XML. Pour plus d’informations sur la spécification explicite d’un DataSet schéma avec le schéma XML, consultez Dérivation de la structure relationnelle dataSet à partir du schéma XML (XSD).

Voir aussi