Compatibilidad con enlaces del elemento Include

.NET Framework proporciona compatibilidad parcial con enlaces para el elemento <include>.

Al generar código fuente a partir del elemento <include>, Xsd.exe busca un documento XSD incluido como una ruta de acceso absoluta del sistema de archivos que se especifica a través del atributo schemaLocation.

Explicación

El elemento <include> se parece al elemento <import>. Ambos aparecen como secundarios del elemento raíz <schema>; deben aparecer antes que cualquier otro elemento secundario. Los dos extraen una definición <schema> independiente, que normalmente figura en otro archivo .xsd. Hay una distinción fundamental, tal como se indica a continuación:

  • <import>: Importa definiciones y declaraciones de esquema dentro de un espacio de nombres independiente, especificado a través del atributo namespace.

  • <include>: Incluye definiciones y declaraciones de esquema adicionales dentro del mismo espacio de nombres, especificado como targetNamespace para la definición de esquema XML existente.

Una definición de esquema XML que utiliza elementos <include> es equivalente desde el punto de vista sintáctico a una definición de esquema XML en la que aparecen directamente las definiciones incluidas.

Al generar documentos de esquema XML a partir de un conjunto de clases en un ensamblado, Xsd.exe crea sólo un archivo .xsd por espacio de nombres de destino. Es decir, no hay dos archivos .xsd generados que tengan el mismo valor para el atributo targetNamespace del elemento raíz <schema>. Por consiguiente, nunca se genera el elemento <include>. Un desarrollador siempre puede dividir manualmente un archivo .xsd generado en varios archivos, mediante el elemento <include>.

Al generar código fuente a partir de un documento de esquema XML, Xsd.exe reconoce el elemento <include>. Los documentos XSD incluidos no se deberían pasar como argumentos adicionales a Xsd.exe. En su lugar, se ubicarán a través del atributo schemaLocation. El valor de atributo debe ser una ruta de acceso absoluta del sistema de archivos.

En el siguiente ejemplo se muestra un valor schemaLocation válido:

<xsd:include schemaLocation="c:\\projectRoot\\source\\xsd\\included1.xsd" />

Nota

Xsd.exe omite el atributo schemaLocation cuando aparece en el elemento <import>. En su lugar, todos los archivos importados se especifican para Xsd.exe como argumentos de línea de comandos adicionales. Vea Compatibilidad con enlaces del elemento Import.

Atributos posibles Compatibilidad con enlaces

id

La utilidad Xsd.exe omite el atributo id, que está pensado para proporcionar un identificador único.

schemaLocation

Vea el texto anterior.

Elementos principales posibles: <schema>

Elementos secundarios posibles: <annotation>

Vea también

Referencia

XmlSchemaInclude