Saltar al contenido principal

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 y cantidad.
  • 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 es 0. Su valor mínimo es 0 y su valor máximo 100.
  • El atributo iva es un valor entero positivo. Su valor por defecto es 21. Su valor mínimo es 0 y su valor máximo 100.
  • El atributo divisa puede tomar como valores: EUR o USD.
  • El atributo idP es el identificador de un producto.
  • El atributo idC es el identificador de un cliente.
  • Los atributos creado y fecha tienen el formato YYYY-MM-DD (año, mes y día).
  • El atributo hora tiene el formato HH: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 es 1. Su valor mínimo es 1 y su valor máximo 30.

Además, documenta el esquema.