Actividad 404
Entrega
- La entrega será un fichero XSD que cumpla los requisitos solicitados.
- El nombre del fichero debe ser
404.xsd
.
Se valorará
Para la valoración de este ejercicio, se tendrán en cuenta los siguientes aspectos:
- Funcionalidad. El XSD debe validar correctamente cualquier documento XML que tenga las características descritas en el enunciado.
- Documentación. Se deben añadir comentarios explicando las decisiones tomadas durante el diseño del XSD.
Una tienda de informática utiliza un fichero XML para almacenar:
- Los productos disponibles en su catálogo.
- Los clientes de la tienda.
- Las ventas realizadas.
Para cada producto, se guarda:
- Identificador (atributo).
- Título.
- Fabricante.
- Modelo.
- Precio.
- Divisa (atributo).
- Descuento sobre el precio.
- Stock.
- IVA (atributo).
- EAN (atributo).
De los clientes se quiere almacenar:
- Identificador (atributo).
- DNI.
- Nombre.
- Apellidos.
- Teléfono.
- Dirección postal.
- Fecha de creación (atributo).
Para cada venta, se almacena:
- Fecha de la venta (atributo).
- Hora de la venta (atributo).
- Cliente (atributo).
- Lista de productos vendidos:
- Identificador del producto (atributo).
- Cantidad vendida (atributo).
- Precio total.
- Divisa.
Documento XML
Ejemplo de documento XML que cumple los requisitos.
Escribe un XML Schema para validar el tipo de documento XML descrito, eligiendo los tipos de datos más apropiados y teniendo en cuenta que:
- El documento debe tener, al menos, un producto.
- El documento puede no tener ningún cliente ni ninguna venta registrada.
- Todos los atributos son obligatorios excepto
ean
,descuento
ycantidad
. - Un título no puede sobrepasar los 100 caracteres.
- El valor de
<stock>
es un entero positivo. - El atributo
ean
es un número de 13 cifras. - El atributo
descuento
es un valor entero positivo. Su valor por defecto es0
. Su valor mínimo es0
y su valor máximo100
. - El atributo
iva
es un valor entero positivo. Su valor por defecto es21
. Su valor mínimo es0
y su valor máximo100
. - El atributo
divisa
puede tomar como valores:EUR
oUSD
. - El atributo
idP
es el identificador de un producto. - El atributo
idC
es el identificador de un cliente. - Los atributos
creado
yfecha
tienen el formatoYYYY-MM-DD
(año, mes y día). - El atributo
hora
tiene el formatoHH:mm:ss
(hora, minuto y segundo). - El elemento
dni
contiene una cadena de texto formada por 8 cifras y una letra mayúscula (no se debe validar si la letra es correcta). - El contenido del elemento
<precio>
y<total>
es un valor numérico con 2 cifras decimales. No puede ser un número negativo. - Un cliente puede tener un teléfono, varios o ninguno. El formato de un teléfono es
+00 123456789
(lo único que varían son las cifras). - Un cliente puede tener registrada una dirección o no.
- En el caso de haberlas, una venta está formada por, al menos, un producto (
<item>
). - El atributo
ref
es una referencia al identificador de un producto que forzosamente debe estar en el fichero. - El atributo
cantidad
es un valor entero positivo. Su valor por defecto es1
. Su valor mínimo es1
y su valor máximo30
.
Además, documenta el esquema.