Sammanfattning av datauppsättningens schemainferensprocess
Slutsatsdragningsprocessen avgör först, från XML-dokumentet, vilka element som ska härledas som tabeller. Från återstående XML avgör slutsatsdragningsprocessen kolumnerna för dessa tabeller. För kapslade tabeller genererar inferensprocessen kapslade DataRelation objekt och ForeignKeyConstraint objekt.
Följande är en kort sammanfattning av slutsatsdragningsregler:
Element som har attribut härleds som tabeller.
Element som har underordnade element härleds som tabeller.
Element som upprepas härleds som en enda tabell.
Om dokumentet eller rotelementet inte har några attribut och inga underordnade element som skulle härledas som kolumner, härleds det som en DataSet. Annars härleds dokumentelementet som en tabell.
Attribut härleds som kolumner.
Element som inte har några attribut eller underordnade element, och som inte upprepas, härleds som kolumner.
För element som härleds som kapslade tabeller i andra element som också härleds som tabeller skapas en kapslad DataRelation mellan de två tabellerna. En ny primärnyckelkolumn med namnet TableName_Id läggs till i båda tabellerna och används av DataRelation. En ForeignKeyConstraint skapas mellan de två tabellerna med hjälp av kolumnen TableName_Id .
För element som härleds som tabeller och som innehåller text men inte har några underordnade element skapas en ny kolumn med namnet TableName_Text för texten i vart och ett av elementen. Om ett element härleds som en tabell och har text, men även har underordnade element, ignoreras texten.