Tecnología

Inicio

Cómo importar un archivo XSD

Si la mayor parte de la información de esquema que necesita ya está contenido dentro de otro archivo XSD, no hay ninguna razón para duplicar toda esa información en otro archivo. Si lo hace, es una receta para el desastre, porque mediante la difusión de información de esquema XSD a cabo en varios archivos, sólo se está creando una situación de pesadilla nunca debería ser necesario modificar el esquema XSD. En su lugar, se debe utilizar el "xsd: import" y "xsi: schemaLocation" etiquetas en los documentos XSD para importar archivos XSD en otra otros documentos XSD que requieren la misma información. Esto asegura que cuando llegue el momento de actualizar uno de sus documentos, los cuales se propagan a cualquier otro documento de forma automática.

Instrucciones

1 Abra el nuevo archivo XSD en un editor de texto. Para este ejemplo, se utilizará el siguiente documento XSD muy simple:

<? Xml version = "1.0"?>

<Xsd: schema xmlns: xsd = "http://www.w3.org/2001/XMLSchema">

&lt;xsd:element name="person">

& Lt; xsd: complexType>

& Lt; xsd: sequence>

& Lt; xsd: element name = tipo "nombre" = "xsd: string" />

& Lt; xsd: element name = tipo "teléfono" = "xsd: string" />

& Lt; xsd: element name = tipo de "dirección" = "xsd: string" />

& Lt; / xsd: sequence>

& Lt; / xsd: complexType>

& Lt; / xsd: element>

</ Xsd: schema>

Como se puede ver este XSD define la estructura de una base de datos de personas, cada una con su propio nombre, número de teléfono y dirección. Sin embargo, algunos de los detalles de la implementación son menos de lo deseable; ciertamente hay una definición de datos mejor que hay para los nombres, direcciones y números de teléfono que la cadena simple. Lo ideal es que nuestro documento XSD debe ser capaz de detectar obviamente no válido "números de teléfono" como "12" o, aún peor, algo completamente sin sentido como "No me siento como que le da mi número de teléfono."

2 Agregue la siguiente línea al archivo XSD, justo debajo de la "xsd: schema" línea:

<Xsd: import namespace = "kevinwalkersNS" schemaLocation = "phoneNumber.xsd" />

<Xsd: import namespace = "kevinwalkersNS" schemaLocation = "address.xsd" />

<Xsd: import namespace = "kevinwalkersNS" schemaLocation = "englishNames.xsd" />

Ahora, que haya importado tres archivos XSD: una que define un tipo de datos "phoneNumber", otro para una "dirección" tipo de datos, y un tercero para un tipo de datos "englishNames". Cada uno de ellos está en un espacio de nombres llamado "kevinwalkersNS," y esto evita conflictos con otros documentos que pueden tener nombres de variables similares dentro de ellos.

3 Editar los tipos de variables de los elementos que utilizan los documentos XSD que ha importado a utilizar el esquema que contiene. En este caso, el "xsd: string" se sustituya este modo:

&lt;xsd:element name="name" type="kevinwalkersNS:englishNames"/>

& Lt; xsd: element name = tipo "teléfono" = "kevinwalkersNS: phoneNumber" />

& Lt; xsd: element name = tipo de "dirección" = "kevinwalkersNS: la dirección" />