Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En esta sección se proporciona información general sobre cómo se compila el esquema relacional de un DataSet
objeto a partir de un documento de esquema del lenguaje de definición de esquemas XML (XSD). En general, para cada complexType
elemento secundario de un elemento de esquema, se genera una tabla en .DataSet
La estructura de la tabla viene determinada por la definición del tipo complejo. Las tablas se crean en el DataSet
para los elementos de nivel superior del esquema. Sin embargo, una tabla solo se crea para un elemento de nivel complexType
superior cuando el complexType
elemento está anidado dentro de otro complexType
elemento, en cuyo caso el elemento anidado complexType
se asigna a un DataTable
elemento dentro de DataSet
.
Para obtener más información sobre el XSD, consulte el Consorcio World Wide Web (W3C) XML Schema Parte 0: Recomendación de Introducción, la XML Schema Parte 1: Recomendación de Estructuras y la XML Schema Parte 2: Recomendación de Tipos de Datos.
En el ejemplo siguiente se muestra un esquema XML donde customers
es el elemento secundario del MyDataSet
elemento , que es un elemento 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>
En el ejemplo anterior, el elemento customers
es un elemento de tipo complejo. Por tanto, se analiza la definición del tipo complejo y el proceso de asignación crea la tabla siguiente.
Customers (CustomerID, CompanyName, Phone)
El tipo de datos de cada columna de la tabla se deriva del tipo de esquema XML del elemento o atributo correspondiente especificado.
Nota:
Si el elemento customers
es de un tipo de datos de esquema XML simple, como entero, no se genera ninguna tabla. Las tablas solo se crean para los elementos de nivel superior que son tipos complejos.
En el siguiente esquema XML, el elemento Schema tiene dos elementos secundarios y 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>
Los elementos secundarios InStateCustomers
y OutOfStateCustomers
son elementos de tipo complejo (customerType
). Por tanto, el proceso de asignación genera las dos siguientes tablas idénticas en el DataSet
.
InStateCustomers (CustomerID, CompanyName, Phone)
OutOfStateCustomers (CustomerID, CompanyName, Phone)
En esta sección
Asignar restricciones de un esquema XML (XSD) a restricciones de conjuntos de datos
Describen los elementos del esquema XML usados para crear restricciones de clave única y clave externa en un DataSet
.
Generación de relaciones de conjuntos de datos a partir del esquema XML (XSD)
Describe los elementos de esquema XML usados para crear relaciones entre columnas de tabla en un DataSet
.
Restricciones y relaciones de esquema XML
Describe cómo se crean las relaciones implícitamente al usar elementos de esquema XML para crear restricciones en .DataSet
Secciones relacionadas
Uso de XML en un conjunto de datos
Describe cómo cargar y conservar la estructura relacional y los datos en un DataSet
como datos XML.