Sunteți pe pagina 1din 5

Enunciado de la prcticade XSD

1. Una franquicia de videoclubs ha fijado el fichero esquema_01.xsd como XML


Schema para sus documentos XML. Crea un fichero llamado
ejer_esquemas_01.xml (que tenga asociado el citado esquema) que contenga una
pelcula y que sea vlido.

Fichero esquema_01.xsd

<?xml version="1.0" encoding="UTF-8"?>


<schema xmlns="http://www.w3.org/2001/XMLSchema">
<element name="pelicula">
<complexType>
<sequence>
<element name="titulo" type="string"/>
<element name="minutos" type="integer"/>
</sequence>
</complexType>
</element>
</schema>

2. Modifica el fichero esquema_01.xsd para que quede claro que se est utilizando
el namespace de esquemas de la w3c utilizando el prefijo :xs. Guarda la
modificacin con el nombre esquema_02.xsd. Modifica el fichero
ejer_esquemas_01.xml contra ese esquema y comprueba si sigue siendo vlido.
Guarda la modificacin con el nombre ejer_esquemas_02.xml.

3. Otra franquicia de videoclubs ha fijado el fichero esquema_03.xsd como XML


Schema para sus documentos XML. Crea un fichero llamado
ejer_esquemas_03.xml (que tenga asociado el citado esquema) que contenga una
pelcula y que sea vlido.

Fichero esquema_03.xsd

<?xml version="1.0" encoding="UTF-8"?>


<schema xmlns="http://www.w3.org/2001/XMLSchema">
<element name="pelicula">
<complexType>
<sequence>
<element name="director" type="string"/>
<element name="actor" type="string"/>
</sequence>
<attribute name="titulo" type="string" use="required"/>
<attribute name="minutos" type="integer" use="optional" default="90"/>
</complexType>
</element>
</schema>

Pgina 1
4. Modifica el fichero ejer_esquema_03.xml para que sea vlido con respecto a la
especificacin realizada en esquema_04.xsd. Guarda las modificaciones con el
nombre ejer_esquemas_04.xml.

Fichero esquema_04.xsd

<?xmlversion="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema">
<element name="pelicula">
<complexType>
<sequence>
<element name="director" type="string"/>
<element name="reparto">
<complexType>
<sequence>
<element name="interprete" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
</sequence>
<attribute name="titulo" type="string" use="required"/>
<attribute name="minutos" type="integer" use="optional" default="90"/>
</complexType>
</element>
</schema>

5. Escribe el fichero esquema_05.xsd que valida el documento


ejer_esquemas_05.xml.

Fichero ejer_esquemas_05.xml

<?xmlversion="1.0" encoding="UTF-8"?>
<persona nacimiento="1999-10-20"
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:noNamespaceSchemaLocation="esquema_05.xsd">
<datos>
<nombre>Pepe</nombre>
<apellidos>Garcia</apellidos>
<dni>25390952A</dni>
</datos>
<comentario>buena gente...</comentario>
</persona>

Pgina 2
6. Escribe el fichero esquema_07.xsd que valida el documento
ejer_esquemas_07.xml.

Fichero ejer_esquemas_07.xml

<?xmlversion="1.0" encoding="UTF-8"?>
<agenda xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:noNamespaceSchemaLocation="esquema_07.xsd">
<persona nacimiento="1999-10-20">
<datos>
<nombre>Pepe</nombre>
<apellidos>Garcia</apellidos>
<dni>25390952A</dni>
</datos>
<comentario>buena gente...</comentario>
</persona>
<persona>
<datos>
<nombre>Dolores</nombre>
<apellidos>Gutierrez</apellidos>
<dni>15390983Z</dni>
</datos>
</persona>
</agenda>
7. Escribe el fichero esquema_08.xsd que valida el documento
ejer_esquemas_08.xml, teniendo en cuenta que para hacerlo ms legible y
compacto se desea que el elemento persona sea un tipo propio llamado
TipoPersona y el elemento datos sea un tipo propio llamado TipoDatos.

Fichero ejer_esquemas_08.xml

<?xmlversion="1.0" encoding="UTF-8"?>
<agenda xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:noNamespaceSchemaLocation="esquema_08.xsd">
<persona nacimiento="1999-10-20">
<datos>
<nombre>Pepe</nombre>
<apellidos>Garcia</apellidos>
<dni>25390952A</dni>
</datos>
<comentario>buena gente...</comentario>
</persona>
<persona>
<datos>
<nombre>Dolores</nombre>
<apellidos>Gutierrez</apellidos>
<dni>15390983Z</dni>
</datos>
</persona>
</agenda>

Pgina 3
8. Escribe un esquema XML llamado esquema_09.xsd para validar un documento
XML llamado ejer_esquemas_09.xml que gestione prstamos bibliotecarios. Se
desea que de cada prstamo se guarden los siguientes datos:
El nombre y apellidos del bibliotecario
Fecha del prstamo y de devolucin
Datos del lector (dni, nombre, apellidos, telfono y direccin) La direccin
se dividir en tipo de calle (que puede ser calle, avenida o plaza), nombre
calle, nmero, piso y una letra, c.p., localidad y provincia
Un mximo de tres ejemplares en prstamo. Para cada uno de ellos: el
nmero de registro, ttulo, autor(es)
El prstamo tendr un atributo numrico que servir como identificador.

Fichero ejer_esquemas_09.xml

<?xmlversion="1.0" encoding="UTF-8"?>
<prestamos xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:noNamespaceSchemaLocation="esquema_09.xsd">
<prestamo identificador="38">
<bibliotecario>
<nombre>Fulano</nombre>
<apellidos>Fulanez</apellidos>
</bibliotecario>
<fechas presta="2013-01-14" devo="2013-02-14"/>
<lector>
<dni>89462175K</dni>
<datos>
<nombre>Mengano</nombre>
<apellidos>Menganez</apellidos>
</datos>
<tfno>976-15-49-65</tfno>
<dire>
<tipo>calle</tipo>
<nombre>yoquese</nombre>
<num>1</num>
<piso>4</piso>
<letra>A</letra>
<cp>50002</cp>
<localidad>Zaragoza</localidad>
<provincia>Zaragoza</provincia>
</dire>
</lector>
<ejemplar>
<num_reg>a-11</num_reg>
<titulo>El Quijote</titulo>
<autor>Cervantes</autor>
</ejemplar>
</prestamo>
</prestamos>

Pgina 4
9. Crear un esquema XML (esquema_10.xsd) para validar un documento
(ejer_esquemas_10.xml) que codifica datos de pedidos a proveedores. Para cada
pedido se indicarn los datos del proveedor (nif, nombre, direccin, localidad,
telfono), datos del pedido (referencia y departamento solicitante) y el listado de
productos que se han solicitado. Para cada producto se indicar el nmero de
unidades, precio y si se desea un comentario.

Fichero ejer_esquemas_10.xml

<?xmlversion="1.0" encoding="UTF-8"?>
<pedidos xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:noNamespaceSchemaLocation="esquema_10.xsd">
<pedido>
<datos_prov>
<cif>L-23457123-H</cif>
<nombre>sysnsy</nombre>
<direccion>astrgatga</direccion>
<localidad>atnajnoa</localidad>
<tfno>976234512</tfno>
</datos_prov>
<datos_ped>
<referencia>aahhgh</referencia>
<departamento>attathaaratbag</departamento>
</datos_ped>
<datos_prod>
<unidades>6</unidades>
<precio>12.97</precio>
<comentarios>Urgente</comentarios>
</datos_prod>
</pedido>
</pedidos>

Pgina 5