Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе представлен обзор того, как реляционная схема DataSet создается на основе документа схемы XSD. Как правило, для каждого дочернего элемента complexType элемента схемы создается таблица в DataSet. Структура таблицы определяется определением сложного типа. Таблицы создаются для элементов верхнего уровня схемы в DataSet. Однако таблица создается только для элемента верхнего уровня complexType , если complexType элемент вложен внутри другого complexType элемента, в этом случае complexType вложенный элемент сопоставляется с элементом DataTable внутри DataSet.
Для получения дополнительной информации о XSD см. рекомендации World Wide Web Consortium (W3C): "XML Schema Part 0: Primer Recommendation", "XML Schema Part 1: Structures Recommendation" и "XML Schema Part 2: Datatypes Recommendation".
В следующем примере показано XML-схема, где customers является дочерним элементом MyDataSet элемента, который является элементом DataSet .
<xs:schema id="SomeID"
xmlns=""
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="MyDataSet" msdata:IsDataSet="true">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="customers" >
<xs:complexType >
<xs:sequence>
<xs:element name="CustomerID" type="xs:integer"
minOccurs="0" />
<xs:element name="CompanyName" type="xs:string"
minOccurs="0" />
<xs:element name="Phone" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
В предыдущем примере элемент customers является сложным элементом типа. Поэтому определение сложного типа анализируется, а процесс сопоставления создает следующую таблицу.
Customers (CustomerID, CompanyName, Phone)
Тип данных каждого столбца в таблице является производным от типа СХЕМЫ XML соответствующего элемента или атрибута.
Замечание
Если элемент customers является простым типом данных схемы XML, например целым числом, таблица не создается. Таблицы создаются только для элементов верхнего уровня, которые являются сложными типами.
В следующей XML-схеме элемент Schema имеет два дочерних элемента: InStateCustomers и OutOfStateCustomers.
<xs:schema id="SomeID"
xmlns=""
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="InStateCustomers" type="customerType" />
<xs:element name="OutOfStateCustomers" type="customerType" />
<xs:complexType name="customerType" >
</xs:complexType>
<xs:element name="MyDataSet" msdata:IsDataSet="true">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element ref="customers" />
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
Как дочерние элементы InStateCustomers и OutOfStateCustomers являются сложными элементами типа customerType. Таким образом, процесс сопоставления создает следующие две идентичные таблицы в .DataSet
InStateCustomers (CustomerID, CompanyName, Phone)
OutOfStateCustomers (CustomerID, CompanyName, Phone)
В этом разделе
Сопоставление ограничений схемы XML (XSD) с ограничениями набора данных Описывает элементы схемы XML, используемые для создания ограничений уникальных и внешних ключей в объекте DataSet.
Создание отношений набора данных из схемы XML (XSD) Описывает элементы схемы XML, используемые для создания связей между столбцами таблицы в объекте DataSet.
Ограничения и связи схемы XML Описывает, как отношения создаются неявно при использовании элементов схемы XML для создания ограничений в объекте DataSet.
Связанные разделы
Использование XML в наборе данных Описывает загрузку и сохранение реляционной структуры и данных в DataSet виде XML-данных.