Condividi tramite


Limitazioni all'inferenza

Il processo di inferenza di uno schema di un tipo DataSet da un documento XML può fornire 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

Tuttavia, per "Document2", il processo di inferenza produce un DataSet denominato "NewDataSet " e una tabella denominata "DocumentElement". "Element1" viene dedotto come colonna perché non ha attributi né elementi figlio.

DataSet: NewDataSet

Table: DocumentElement

Element1
Text1

È possibile che lo scopo di tali documenti XML fosse la creazione dello stesso schema, ma il processo di inferenza consente di produrre risultati molto diversi in base agli 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 (XML Schema Definition Language) o XDR (XML-Data Reduced) durante il caricamento di un DataSet da XML. Per altre informazioni su come specificare in modo esplicito uno schema DataSet con XML Schema, vedere Derivazione della struttura relazionale di dataset da XML Schema (XSD).

Vedi anche