Tecnología

Inicio

Cómo crear un XSD A partir de un XML existente

Cómo crear un XSD A partir de un XML existente


Un esquema XML, contenido en un documento XSD, se describe la estructura de un documento XML. Cuando un documento XML se suscribe a un esquema, el esquema impone el uso de la estructura descrita, asegurando XML válido. Esto permite el intercambio libre de errores de la información. Puede generar un XSD ya sea mediante la generación de un esquema manualmente o utilizando la herramienta xsd.exe SDK de Windows.

Instrucciones

Creación manual de un esquema de un archivo XML

1 Validar el código XML. Abra el documento XML en Internet Explorer. Si se muestra el documento completo con margen de beneficio y no un error, el XML es válido.

Por ejemplo, un documento XML creado para los fines de la organización de un partido podría tener este aspecto:

<? Xml version = \ "1.0 \" encoding = \ "ISO-8859-1 \"?>

<Xmlns del partido: xsi = \ "http://www.w3.org/2001/XMLSchema-instance\&quot;
xsi: noNamespaceSchemaLocation = \ "party.xsd \"
Fecha = \ "1/1/2011 \" name = \ "newYears2011 \">
Los huéspedes <>
<Huéspedes>
<FirstName> Jack </ FirstName>
<Apellido> Londres </ Apellidos>
<Género> Varón </ Sexo>
<ZodiacSign> Cáncer </ ZodiacSign>
</ Hostal>
<Huéspedes>
<FirstName> Jill </ FirstName>
<Apellido> Anderson </ Apellidos>
<Género> Mujer </ Sexo>
<ZodiacSign> Acuario </ ZodiacSign>
<RelationshipStatus> Individual </ RelationshipStatus>
</ Hostal>

</ Reducida>
<Suministros>
<Suministro>
<Descripción> Cerveza </ Description>
<Tipo> Bebidas Alcohólicas </ Type>
<Costo> 27.99 </ Costo>
<Cantidad> 24 </ Cantidad>
</ Suministro>
<Suministro>
<Descripción> Copas </ Description>
<Tipo> desechable </ Type>
<Costo> 3.99 </ Costo>
<Cantidad> 100 </ Cantidad>
</ Suministro>
</ Accesorios>
<Tostada> Aquí es 2011. Que su fabulousness poner 2010 para la vergüenza. </ Tostada>
</ Party>

2 Crear un esquema XSD basado en el XML. Describir cada elemento en cada nivel. En la segunda línea, declarar el esquema. Las dos primeras líneas de marcado para nuestro grupo XSD, salvado como \ "party.xsd, \" se vería así:

<? Xml version = \ "1.0 \" encoding = \ "ISO-8859-1 \"?>
<xs: schema xmlns: xs = \ "http://www.w3.org/2001/XMLSchema\&quot;>

3 A continuación describiremos cada etiqueta XML como un elemento dentro del margen de beneficio. El elemento puede ser un tipo primitivo, declaró en el atributo \ "tipo, \" o un tipo complejo, descrito en las etiquetas anidadas dentro del elemento.

Nuestro ejemplo tiene un elemento complejo tipo de huéspedes, un elemento de tipo complejo de Suministros y un elemento primitivo de tipo cadena, que declara el esquema según sea necesario. Los elementos de invitados y de suministro también son complejas y se describen abajo a los tipos primitivos que contienen. Por último, los atributos del tipo de la fiesta se definen justo antes de cerrar la \ "x: complexType \" etiqueta. Se le gustaría como esto:

<? Xml version = \ "1.0 \" encoding = \ "ISO-8859-1 \"?>
<xs: schema xmlns: xs = \ "http://www.w3.org/2001/XMLSchema\&quot;>
<Xs: element name = \ "partido \">
<Xs: complexType>

&lt;xs:sequence>
&lt;xs:element name=\&quot;Guests\&quot; >

<Xs: complexType>
<xs: sequence>
<Xs: element name = \ "Guest \" maxOccurs = \ "\ sin límites">
<Xs: complexType>
<Xs: element name = \ tipo "Nombre \" = \ "xs: string \" />

&lt;xs:element name=\&quot;LastName\&quot; type=\&quot;xs:string\&quot;/>

<Xs: element name = \ "Sexo \" type = \ "xs: string \" />

&lt;xs:element name=\&quot;RelationshipStatus\&quot; type=\&quot;xs:string\&quot;/>
&lt;xs:element name=\&quot;ZodiacSign\&quot; type=\&quot;xs:string\&quot;/>

</ Xs: complexType>
</ Xs: element>
</ Xs: sequence>

</ Xs: complexType>
</ Xs: element>
<Xs: element name = \ "Suministros \">
<Xs: complexType>
<xs: sequence>
<Xs: element name = \ "Suministro \" maxOccurs = \ "\ sin límites">
<Xs: complexType>
<Xs: element name = \ "Descripción \" type = \ "xs: string \" />

&lt;xs:element name=\&quot;Type\&quot; type=\&quot;xs:string\&quot;/>

<Xs: element name = \ "Costo \" type = \ "xs: decimal \" />

&lt;xs:element name=\&quot;Quantity\&quot; type=\&quot;xs: positiveInteger\&quot;/>

</ Xs: complexType>
</ Xs: element>
</ Xs: sequence>

</ Xs: complexType>
</ Xs: element>

&lt;xs:element name=\&quot;toast\&quot; type=\&quot;xs:string\&quot; use=\&quot;required\&quot;/>
&lt;/xs:sequence>

</ Xs: complexType>
</ Xs: element>
</ Xs: schema>

Generar un XSD con la herramienta xsd.exe

4 Utilice la herramienta xsd.exe para realizar el proceso de forma automática. En primer lugar guardar el archivo XML. Crear un directorio como \ "c: \ myxmlfiles \\" y guardar el archivo XML allí.

Utilizando el ejemplo en la sección 1, la ruta del archivo completo para el ejemplo party.xml sería \ "c: \ myxmlfiles \ party.xml \".

5 Descargar e instalar la última versión de Microsoft Windows SDK apropiado para su sistema operativo. (Ver Recursos).

6 Compruebe para la instalación de los últimos paquetes de servicios e instalarlos si es necesario. (Desde el botón \ "Inicio \" seleccione \ "Actualización de Windows. \" Permitir el sitio web para escanear su ordenador para las actualizaciones.)

7 Abra un símbolo del sistema. Si ha instalado el SDK en la carpeta predeterminada, se puede navegar a \ "C:... \ Archivos de programa \ Microsoft SDK \ Windows \ \ bin \", donde \ variará dependiendo de su versión de "\..." ventanas.

8 Desde el símbolo del sistema, escriba el comando \ "xsd c: \ myxmlfiles \ party.xml / outputdir: c: \ myxmlfiles \" (o sustituir la ruta y el nombre de su archivo xml). Un archivo XSD llamado party.xsd se generará automáticamente en c: \ myxmlfiles.

Consejos y advertencias

  • Si coloca su XSD en un sitio web a disposición del público, el esquema será accesible a cualquier persona o cualquier cosa que necesite para entender y validar el documento XML.
  • Aprender lo más que pueda acerca de los tipos de datos primitivos disponibles en XML. Ellos pueden hacer que el código mucho más eficiente.