Compartir a través de


Limitaciones de la inferencia

El proceso de deducir un esquema de DataSet a partir de XML no es definitorio en el sentido de que distintas instancias de documentos XML que tengan el mismo esquema previsto pueden dar como resultado esquemas diferentes, dependiendo de los elementos XML contenidos en cada documento. Por ejemplo, considere los siguientes documentos XML:

Document1:

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

Document2:

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

En el caso de "Document1", el proceso de inferencia producirá un DataSet denominado "DocumentElement" y una tabla denominada "Element1", ya que "Element1" es un elemento que se repite.

DataSet: DocumentElement

Table: Element1

Element1_Text
Text1
Text2

Sin embargo, en el caso de "Document2", el proceso de inferencia producirá un DataSet denominado "NewDataSet" y una tabla denominada "DocumentElement". "Element1" se deducirá como una columna porque no tiene atributos ni elementos secundarios.

DataSet: NewDataSet

Table: DocumentElement

Element1
Text1

Podría parecer que estos dos documentos XML producirían el mismo esquema, pero el proceso de inferencia genera resultados muy diferentes basándose en los elementos contenidos en cada documento.

Para evitar las discrepancias que pueden producirse al generar el esquema a partir de un documento XML, se recomienda especificar explícitamente un esquema mediante el lenguaje de definición de esquemas XML (XSD) o el reducido de datos XML (XDR) al cargar un DataSet desde XML. Para obtener más información sobre cómo especificar explícitamente un esquema de DataSet mediante Esquema XML, vea Generar la estructura relacional de DataSet desde la definición de esquema XML (XSD).

Vea también

Deducir la estructura relacional de DataSet de XML | Cargar DataSet desde XML | Cargar la información de esquema de DataSet desde XML | XML y DataSet | Crear y utilizar DataSets