XSLT

Advertencia

Los ejercicios está organizados según el XML que traducen y no según dificultad. Si prefiere hacerlos según su dificultad un orden apropiado (incluyendo sólo los que generan una salida de texto) es: 1, 7, 9, 10, 11, 8, 12, 21, 3, 22, 11, 5, 6, 15, 16, 17, 18 Terminar de ordenarlos…

Por hacer

Añadir problemas que consistan en manipular el XML original quitando o añadiendo nodos.

  1. Dada la solución propuesta para almacenar la información de un dibujo técnico en dos dimensiones, hacer una lista con las entidades que se encuentran en el dibujo: cada item constará del nombre de la entidad y, entre paréntesis, el identificador.

    Solución propuesta

  2. Haga una transformación semejante a la anterior, pero genere una salida HTML en forma de tabla de dos columnas, la primera columna contendrá el nombre de la entidad y la segunda el identificador.

  3. Ídem al ejercicio 1, pero cada ítem debe tener el siguiente aspecto:

    • Si es punto: P=(x,y).

    • Si es circunferencia: C=(x, y); R=r.

    • Si es recta: R=(x1, y1)-(x2, y2).

    • Si es rectángulo: R=(x1, y1)+(x2, y2).

    Solución propuesta

  4. Vuelva a hacer el ejercicio anterior, pero genere una tabla HTML como salida parecida a la del ejercicio 2. En este caso la segunda columna contendrá las expresiones anteriores para identificar a cada entidad, en vez del identificador.

  5. Sobre el mismo XML crear una lista con el siguiente aspecto:

    LISTA DE ENTIDADES
    
    1. circunferencia:
       - e03
    
    2. punto:
       - e01
       - e05
    
    3. recta:
       - e02
    
    4. rectangulo:
       - e04
    

    es decir, una lista organizada por tipos de entidad. De cada entidad sólo hay que indicar su identificador.

    Solución propuesta

  6. Haga una lista semejante a la del ejercicio 3, pero las entidades deberán estar ordenadas por tipo y junto a la información del tipo, deberá incluirse la cantidad de entidades que hay de ese tipo. Por ejemplo:

    a) circunferencia: 5
       1. C(3, 4); R=2
       2. ...
    
    b) punto: 2
       1. P(0, 25)
       2. P(-4, 10)
       3. ...
    

    Solución propuesta

  7. Tomando el XML introductorio, obtenga una lista numerada de profesores ordenada alfabéticamente por apellidos.

    Solución propuesta

  8. Haga lo mismo que en el caso anterior, pero la lista dividida en cuatro secciones:

    1. Profesores activos (incluye titulares y sustitutos).

    2. Profesores sustituidos.

    3. Profesores sin sustituto (son aquellos cuyo atributo id coincide con el valor del atributo sustituto).

    4. Profesores sustitutos.

    Solución propuesta

  9. Dada la solución propuesta para almacenar la información sobre las facturas de una empresa, muestre una lista numerada de clientes de la empresa.

    Solución propuesta

  10. Haga lo mismo que en el ejercicio anterior, pero muestre en la lista sólo los clientes que han comprado algo.

    Solución propuesta

  11. Haga una lista de facturas, en cada una de las cuales aparezca la cantidad de productos distintos que se han comprado.

    Solución propuesta

  12. Repita la lista, pero incluyendo sólo las facturas con más de un producto distinto.

    Solución propuesta

  13. A partir del XML de las facturas, haga una lista de clientes para cada uno de los cuales se desglosen sus facturas. De las facturas se debe mostrar el identificador y la fecha.

    Solución propuesta

  14. Haga lo mismo que en el ejercicio anterior, pero el documento resultante debe ser una tabla HTML de dos columnas: la primera indicará el cliente; y la segunda las facturas.

  15. Sobre el mismo XML devuelva una lista de facturas, de cada una de las cuales debe desglosarse cuáles son productos que incluye y qué cantidad de ellos. Por ejemplo:

    1. f01 (2018-10-15):
       + mollete: 3
       + tomate: 1
    2. f02 (2018-11-15):
       + tomate: 2
    

    Solución propuesta

  16. Dada la solución propuesta para almacenar la información sobre los libros y préstamos en una biblioteca, crear un listado de lectores que hayan pedido al menos dos préstamos.

    Solución propuesta

  17. Sobre el XML del ejercicio anterior, vuelva a hacer la lista de lectores, pero ordenados por el número de préstamos que han realizado.

    Solución propuesta

  18. Partiendo del XML anterior, devuelva un listado de libros ordenados por año de edición y en el que se indique el número de ejemplares de los que se dispone en la biblioteca.

    • Solución propuesta suponiendo que disponible significa que es propiedad de la biblioteca.

    • Solución propuesta suponiendo que disponible significa que está físicamente en la biblioteca y no en la casa de un lector.

  19. A partir del mismo XML, genere una lista de libros que incluya cuántas veces se ha prestado y que desglose para cada uno de ellos a quién se le prestó:

    - Don Quijote de la Mancha: 2 préstamos
       1. Lector 1.
       2. Lector 2.
    
    - Tirante el Blanco: 1 préstamo
       2. Lector 2.
    

    Órdene la lista del más prestado al menos prestado.

    Solución propuesta

  20. Sobre el mismo XML, cree una tabla HTML que cuyas columnas sean:

    • Los libros ordenados por número de prestamos.

    • Los préstamos realizados de ese libro (indíquese la fecha y el plazo).

    • El cliente que pidió el préstamo (su nombre y DNI).

  21. Dada la solución propuesta para almacenar la información sobre los coches que vende un concesionario, presente un listado de modelos de coche ordenados como primer criterio por marca y como segundo por potencia. De cada modelo deberá verse nombre del modelo (nombre de la marca): potencia.

    Solución propuesta

  22. Sobre el XML anterior, repita la lista, pero haciéndola de dos niveles: el primero serán las marcas y el segundo los modelos (incluya también la información sobre la potencia).

  23. Dada la solución propuesta para almacenar la información sobre los parques nacionales, devuelva el listado de parques nacionales y dentro de cada uno de ellos dos listas más: el de la fauna en alto peligro de extinción y el de la flora en alto peligro de extinción.

    Solución propuesta

  24. Sobre el XML anterior, devuelva un listado con primero la flora y luego la fauna. De cada uno de ellos habrá que indicar los parques nacionales en los que se encuentran.

    Solución propuesta

  25. Del mismo XML, saque un listado de animales en alto peligro de extinción en que se indique el total ejemplares que hay de cada uno.

    Solución propuesta

  26. Soble el mismo XML, obtener un listado de parques para cada uno de los cuales se indique la cantidad de especies animales y vegetales protegidas.

    Solución propuesta

  27. Dada la solución propuesta para almacenar la información sobre los habitantes de un municipio, muestre aquellos de los que se conoce padre y madre.

    Solución propuesta

  28. Sobre el mismo XML, saque un listado de padres y otro de madres.

  29. Sobre el mismo XML, saque un listado de habitantes con algún abuelo conocido.

  30. Sobre el XML de facturas tratado en el ejercicio 5, haga un listado de clientes que hayan comprado el producto Altramuces.

  31. Sobre el mismo XML de facturas haga un listado de facturas (incluya en ella el indentificador y el nombre del cliente) que indique cuál ha sido el gasto en cada producto.

  32. Saque el mismo listado de facturas, pero en el que se indique cuál ha sido el importe total de la factura, en vez de el importe en cada producto.