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,descuentoycantidad. - Un título no puede sobrepasar los 100 caracteres.
- El valor de
<stock>es un entero positivo. - El atributo
eanes un número de 13 cifras. - El atributo
descuentoes un valor entero positivo. Su valor por defecto es0. Su valor mínimo es0y su valor máximo100. - El atributo
ivaes un valor entero positivo. Su valor por defecto es21. Su valor mínimo es0y su valor máximo100. - El atributo
divisapuede tomar como valores:EURoUSD. - El atributo
idPes el identificador de un producto. - El atributo
idCes el identificador de un cliente. - Los atributos
creadoyfechatienen el formatoYYYY-MM-DD(año, mes y día). - El atributo
horatiene el formatoHH:mm:ss(hora, minuto y segundo). - El elemento
dnicontiene 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
refes una referencia al identificador de un producto que forzosamente debe estar en el fichero. - El atributo
cantidades un valor entero positivo. Su valor por defecto es1. Su valor mínimo es1y su valor máximo30.
Además, documenta el esquema.