Inicio Tarea: DTD
Artículo
Cancelar

Tarea: DTD

Entrega y presentación

La entrega será en formato ZIP manteniendo la estructura de carpetas original. Leer Entrega y presentación de tareas.

Ejemplo de entrega
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
mruizg_t09.zip
├───mruizg_a01
│   ├───01_componentes.xml
│   ├───02_persona.xml
│   ├───03_burro.xml
│   ├───04_silla.xml
│   ├───05_partes.xml
│   ├───06_paises.xml
│   ├───07_ropa.xml
│   ├───08_paises.xml
│   ├───09_comidas.xml
│   └───10_herramientas.xml
│
├───mruizg_a02
│   ├───01_forma.xml
│   ├───02_sitios.xml
│   ├───03_ciudades.xml
│   ├───04_trabajadores.xml
│   └───05_elementos.xml
│
├───mruizg_a03
│   ├───01_formas.xml
│   ├───02_empresas.xml
│   ├───03_articulos.xml
│   ├───04_lugares.xml
│   └───05_pizzas.xml
│
├───mruizg_a04
│   ├───01_declaraciones.xml
│   ├───02_despedidas.xml
│   ├───03_netflix.xml
│   └───04_estrellas.xml
│
├───mruizg_a05_vuelos.xml
├───mruizg_a06_factura.xml
└───mruizg_a07_liga
    ├───01.xml
    ├───02.xml
    └───03.xml

El ejemplo de entrega solo es una referencia de entrega, si se necesita eliminar o crear algún fichero o carpeta siéntete libre de hacerlo.

Calificación y duración

La tarea se calificará con una nota de 0 a 10.

Duración

Actividades

Descarga enunciado_tarea_dtd.zip y realiza las siguientes actividades.

Se recomienda usar Visual Studio Code con la extensión XML de Red Hat para la realización de esta tarea o XML Copy Editor. Si decides usar XML Copy Editor te puede servir de ayuda el artículo Cómo validar con XML Copy Editor un documento XML asociado a una DTD.

Elementos: Corrige los errores sin modificar la DTD

Los documentos XML de la carpeta “a01” están bien formados. Sin embargo, no son válidos. Realiza los cambios necesarios en cada documento para que sean válidos sin modificar las DTDs.

Elementos: Corrige los errores modificando la DTD

Los documentos XML de la carpeta “a02” están bien formados. Sin embargo, no son válidos. Realiza los cambios necesarios en las DTDs para que dichos documentos sean válidos.

Tipos de atributos: Corrige los errores sin modificar la DTD

Los documentos XML de la carpeta “a03” están bien formados. Sin embargo, no son válidos. Realiza los cambios necesarios en cada documento para que sean válidos sin modificar las DTDs.

Tipos de atributos: Corrige los errores modificando la DTD

Los documentos XML de la carpeta “a04” están bien formados. Sin embargo, no son válidos. Realiza los cambios necesarios en las DTDs para que dichos documentos sean válidos.

Panel de vuelos

Escribir un documento XML con una DTD interna que represente la siguiente información ficticia:

PANEL DE VUELOS DE SALIDA DEL AEROPUERTO JFK – 20/12/2013:

CódigoSemanalOrigenDestinoHora salidaHora llegadaEstado
V22SINew YorkChicago9:3511:35R
V23NONew YorkMiami10:2011:20C

Consideraciones respecto a la DTD:

  1. Hay que guardar el nombre del aeropuerto, los datos de cada vuelo agrupados y la fecha del panel, en ese orden.
  2. En la DTD, sólo el código de un vuelo y su estado deben representarse mediante atributos.
  3. Se tiene que indicar que el código ha de ser único y obligatorio para cada vuelo.
  4. Los posibles estados de un vuelo son C (Cancelado), E (En hora), R (Retrasado). El valor por defecto debe ser E.
  5. En la DTD debe indicarse que al menos tiene que aparecer un vuelo y, para cada uno de ellos, se tiene que guardar la información en el mismo orden en el que aparece en el panel.
  6. Para indicar si un vuelo es semanal, se debe utilizar un elemento vacío que, respecto a cada vuelo, podrá aparecer (en el caso de sí ser semanal) o no aparecer (en el caso contrario).

Factura

Escribir un documento XML con una DTD interna que represente la información contenida en la siguiente factura ficticia:

FACTURA NÚMERO 27 – FECHA: 18/12/2013:

DATOS EMISOR:DATOS CLIENTE:
Librería PérezBiblioteca Txantrea
CIF: 25489194LCIF: 68147997D
Teléfono: 777888999Teléfono: 333999444

Detalle de la factura:

CÓDIGO-ARTÍCULOTIPODESCRIPCIÓNCANTIDADREACONDICIONADOPVP
AW7LibroAnalítica Web 2.01SI35€
CP5VariosCurso de HTML2NO40€
IMPORTE:    95€

Consideraciones respecto a la DTD:

  1. Hay que guardar los datos del emisor de la factura agrupados. A continuación, los datos del cliente, también agrupados. Y finalmente, los datos de detalle donde se escriben (en líneas) los datos de cada artículo, así como, el importe total.
  2. Obsérvese que en cada línea se indica el código de un artículo, el tipo al que pertenece, su descripción, la cantidad facturada, si está reacondicionado o no, y el PVP (Precio de Venta al Público). Ahora bien, de los datos que aparecen en cada línea, sólo el código del artículo y el tipo deben representarse mediante atributos en la DTD.
  3. Se tiene que indicar que el código del artículo ha de ser único y obligatorio para cada artículo.
  4. Los posibles tipos de un artículo son Libro, DVD o Varios, no permitiéndose otro valor. Ahora bien, este atributo debe indicarse que es opcional.
  5. El importe debe representarse por medio de un elemento, que debe ser obligatorio.
  6. En la DTD debe indicarse que al menos tiene que aparecer una línea de detalle y, para cada una de ellas, se tiene que guardar la información en el mismo orden en el que aparece en la factura.
  7. Para indicar si un artículo está reacondicionado, se debe utilizar un elemento vacío que, respecto a cada artículo, podrá aparecer (en el caso de sí estar reacondicionado) o no aparecer (en el caso contrario).
  8. Respecto al número de la factura y su fecha de emisión, deben representarse mediante atributos obligatorios donde se estime más apropiado.

(Voluntaria) Liga de futbol

Se quiere definir un lenguaje de marcas para representar los resultados de una liga de fútbol. La información que se quiere almacenar de cada partido es:

  • El nombre del equipo local
  • El nombre del equipo visitante
  • Los goles marcados por el equipo local
  • Los goles marcados por el equipo visitante

Escribe tres documentos que incluyan los siguientes resultados:

  • Nottingham Miedo: 0 - Inter de Mitente: 1
  • Vodka Juniors: 3 - Sparta da Risa: 3
  • Aston Birra: 4 - Esteaua no beberé: 2

Cada documento incluirá un DTD diferente para representar ese lenguaje de marcas:

  • Una DTD en la que no haya atributos, sino únicamente etiquetas.
  • Una DTD en la que los goles sean atributos.
  • Una DTD en la que toda la información se guarde en forma de atributos.

Bibliografía

Este artículo está licenciado bajo CC BY 4.0 por el autor.

¿Qué es XQuery?

Tarea: XSD