Compatibilidad con enlaces del elemento Import
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 <import>.
En el caso del elemento <import>, la herramienta Xsd.exe omite el atributo schemaLocation y espera archivos importados como argumentos de línea de comandos adicionales.
Explicación
El elemento <import> se parece al elemento <include>. 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 por el 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.
A continuación, se muestra un ejemplo sobre el uso del elemento <import>:
<xsd:import namespace="http://example.org/attr" schemaLocation="http://example.org/definitions/attr.xsd" />
Atributo SchemaLocation
El atributo schemaLocation está pensado para especificar la ubicación del archivo .xsd importado. Sin embargo, 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.
El archivo de código fuente generado obtiene el nombre del último archivo XSD que se haya pasado como argumento. Por ejemplo, la siguiente invocación de línea de comandos de Xsd.exe:
xsd importedAttribute.xsd attributeRef.xsd /classes /language:CS
Al archivo de código fuente resultante se le asigna el nombre attributeRef.cs.
Nota: |
---|
Xsd.exe utiliza el atributo schemaLocation cuando aparece en el elemento <include>. Cuando se genera código fuente a partir de un documento de esquemas XML, Xsd.exe reconoce una ruta de acceso absoluta al sistema de archivos para el valor. Para obtener más información, vea Compatibilidad con enlaces del elemento Include. |
Atributo namespace
El atributo namespace se utiliza para identificar el espacio de nombres de destino importado, que debe ser distinto del espacio de nombres de destino del documento XSD que lleva a cabo la importación (el que contiene el elemento <import>).
Cuando se genera código fuente a partir de un documento de esquemas XML, Xsd.exe establece una propiedad Namespace en el atributo de .NET Framework que se aplica a cada uno de los tipos o campos que corresponde a una entidad que se importa. Aunque no se importen espacios de nombres adicionales, Xsd.exe establece la propiedad Namespace de los dos atributos siguientes en el espacio de nombres de destino del documento XSD original:
XmlTypeAttribute: si se define cualquier tipo de datos en el esquema.
Un espacio de nombres importado puede especificarse con la propiedad Namespace de ciertas clases de atributos relacionados con XML. La propiedad aparece de la siguiente forma:
Atributos posibles | Compatibilidad de enlace |
---|---|
id |
La utilidad Xsd.exe omite el atributo id, que está pensado para proporcionar un identificador único. |
namespace |
Consulte la sección anterior, Namespace Attribute. |
schemaLocation |
Consulte la sección anterior, SchemaLocation Attribute. |
Posibles elementos primarios:<schema>
Posibles elementos secundarios:<annotation>