Saltar al contenido principal

Actividad 402

Entrega
  • La entrega será un fichero DTD que cumpla los requisitos solicitados.
  • El nombre del fichero debe ser 402.dtd.
Se valorará

Para la valoración de este ejercicio, se tendrán en cuenta los siguientes aspectos:

  • Funcionalidad. El DTD 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 DTD.

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/marca.
  • Modelo.
  • Precio.
  • Divisa (atributo).
  • Descuento sobre el precio (atributo).
  • Stock.
  • Si es reacondicionado o no.
  • 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).
  • 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 documento DTD para validar el tipo de documento XML descrito, 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.
  • El valor por defecto de descuento es 0.
  • El atributo iva puede tomar como valores: general, reducido o superreducido.
  • 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 elementos <fabricante> y <marca> tienen el mimso fin, pero no se pueden utilizar simuláteamente.
  • El elemento <reacondicionado />, cuando aparece, siempre es un elemento vacío.
  • En un cliente, se utilizan los elementos <nombre> y <apellidos> o el elemento <nombre-completo>, pero no a la vez.
  • Un cliente puede tener un teléfono, varios o ninguno.
  • 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 valor por defecto de cantidad es 1.

En cada atributo, se debe elegir el tipo de dato más restrictivo posible (siendo CDATA el más permisivo) para las características de la información que se almacena en él.

Además, incluye comentarios explicando el código DTD.