Limitazioni delle inferenze

Il processo di inferenza di uno schema di un DataSet da un documento XML non è deterministico, poiché diverse istanze di documenti XML con lo stesso schema previsto possono dare come risultato diversi schemi, a seconda degli elementi XML presenti in ogni documento. Si considerino ad esempio i seguenti documenti XML:

Document1:

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

Document2:

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

Nel caso di "Document1", il processo di inferenza consente di produrre un DataSet denominato "DocumentElement" e una tabella denominata "Element1", poiché "Element1" è un elemento ripetuto.

DataSet: DocumentElement

Table: Element1

Element1_Text
Text1
Text2

Nel caso di "Document2" tuttavia, il processo di inferenza consente di produrre un DataSet denominato "NewDataSet" e una tabella denominata "DocumentElement". "Element1" viene inferito come colonna in quanto privo di attributi o elementi figli.

DataSet: NewDataSet

Table: DocumentElement

Element1
Text1

È possibile che lo scopo di tali documenti XML fosse la produzione dello stesso schema, ma il processo di inferenza consente di produrre risultati molto diversi sulla base degli elementi contenuti in ogni documento.

Per evitare eventuali discrepanze nella generazione di uno schema da un documento XML, si consiglia di specificare esplicitamente uno schema tramite il linguaggio XSD (Schema Definition Language) di XML o XDR (XML-Data Reduced) durante il caricamento di un DataSet da XML. Per informazioni su come specificare in modo esplicito uno schema di DataSet con uno schema XML, vedere Generazione della struttura relazionale di un DataSet dallo schema XML (XSD).

Vedere anche

Inferenza della struttura relazionale del DataSet da XML | Caricamento di un DataSet da XML | Caricamento delle informazioni relative allo schema di un DataSet da XML | XML e il DataSet | Creazione e utilizzo di DataSet