Ograniczenia wnioskowania
Proces wnioskowania schematu DataSet z kodu XML może spowodować różne schematy w zależności od elementów XML w każdym dokumencie. Rozważmy na przykład następujące dokumenty XML.
Dokument1:
<DocumentElement>
<Element1>Text1</Element1>
<Element1>Text2</Element1>
</DocumentElement>
Dokument2:
<DocumentElement>
<Element1>Text1</Element1>
</DocumentElement>
W przypadku elementu "Document1" proces wnioskowania generuje element DataSet o nazwie "DocumentElement" i tabelę o nazwie "Element1", ponieważ element "Element1" jest elementem powtarzającym.
Zestaw danych: DocumentElement
Tabela: Element1
Element1_Text |
---|
Tekst1 |
Tekst2 |
Jednak w przypadku elementu "Document2" proces wnioskowania generuje zestaw danych o nazwie "NewDataSet" i tabelę o nazwie "DocumentElement". Wyrażenie "Element1" jest wnioskowane jako kolumna, ponieważ nie ma atrybutów i elementów podrzędnych.
Zestaw danych: NewDataSet
Tabela: DocumentElement
Element1 |
---|
Tekst1 |
Te dwa dokumenty XML mogły być przeznaczone do utworzenia tego samego schematu, ale proces wnioskowania generuje bardzo różne wyniki na podstawie elementów zawartych w każdym dokumencie.
Aby uniknąć rozbieżności, które mogą wystąpić podczas generowania schematu z dokumentu XML, zalecamy jawne określenie schematu przy użyciu języka XSD (XML Schema Definition Language) lub XML-Data Reduced (XDR) podczas ładowania zestawu danych z xml. Aby uzyskać więcej informacji na temat jawnego określania schematu Zestawu danych ze schematem XML, zobacz Wyprowadzanie struktury relacyjnej zestawu danych ze schematu XML (XSD).