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