Compatibilidad con enlaces del elemento Include
Este tema es específico de una tecnología heredada. Ahora, los servicios Web XML y los clientes de servicios Web XML deben crearse con Windows Communication Foundation.
.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 solo 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 encuentran 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. Consulte Compatibilidad con enlaces del elemento Import. |
Atributos posibles | Compatibilidad de enlace |
---|---|
id |
La utilidad Xsd.exe omite el atributo id, que está pensado para proporcionar un identificador único. |
schemaLocation |
Consulte el texto anterior. |
Posibles elementos primarios: <schema>
Posibles elementos secundarios: <annotation>