Limitações de inferência
O processo de inferir um DataSet esquema a partir de XML pode resultar em esquemas diferentes, dependendo dos elementos XML em cada documento. Por exemplo, considere os seguintes documentos XML.
Documento1:
<DocumentElement>
<Element1>Text1</Element1>
<Element1>Text2</Element1>
</DocumentElement>
Documento2:
<DocumentElement>
<Element1>Text1</Element1>
</DocumentElement>
Para "Document1", o processo de inferência produz um DataSet chamado "DocumentElement" e uma tabela chamada "Element1", porque "Element1" é um elemento repetitivo.
DataSet: DocumentElement
Tabela: Element1
Element1_Text |
---|
Texto1 |
Texto2 |
No entanto, para "Document2", o processo de inferência produz um DataSet chamado "NewDataSet" e uma tabela chamada "DocumentElement". "Element1" é inferido como uma coluna porque não tem atributos nem elementos filho.
DataSet: NewDataSet
Tabela: DocumentElement
Elemento1 |
---|
Texto1 |
Esses dois documentos XML podem ter sido destinados a produzir o mesmo esquema, mas o processo de inferência produz resultados muito diferentes com base nos elementos contidos em cada documento.
Para evitar as discrepâncias que podem ocorrer ao gerar esquema a partir de um documento XML, recomendamos que você especifique explicitamente um esquema usando XSD (XML Schema Definition Language) ou XDR (XML-Data Reduced - XML) ao carregar um DataSet a partir de XML. Para obter mais informações sobre como especificar explicitamente um esquema DataSet com esquema XML, consulte Deriving DataSet Relational Structure from XML Schema (XSD).