Escenario librería con XSLT

De MediaWiki
Ir a la navegación Ir a la búsqueda

Enunciado

XML orixinal:

<?xml version="1.0" encoding="UTF-8"?>
<lib url="http://www.milibreria.es/compras/"> 
  <libro ano="1994">
    <titulo>TCP/IP Illustrated</titulo> 
    <autor> 
      <apelido>Stevens</apelido> 
      <nome>W.</nome> 
    </autor> 
    <editorial>Addison-Wesley</editorial> 
    <prezo>65.95</prezo> 
  </libro> 
  <libro ano="1992"> 
    <titulo>Advance Programming for Unix environment</titulo> 
    <autor>
      <apelido>Stevens</apelido> 
      <nome>W.</nome> 
    </autor> 
    <editorial>Addison-Wesley</editorial> 
    <prezo>65.95</prezo> 
  </libro> 
  <libro ano="2000"> 
    <titulo>Data on the Web</titulo> 
    <autor> 
      <apelido>Abiteboul</apelido> 
      <nome>Serge</nome> 
    </autor> 
    <autor> 
      <apelido>Buneman</apelido> 
      <nome>Peter</nome> 
    </autor> 
    <autor> 
      <apelido>Suciu</apelido> 
      <nome>Dan</nome> 
    </autor> 
    <editorial>Morgan Kaufmann editorials</editorial> 
    <prezo>39.95</prezo> 
  </libro> 
  <libro ano="1999"> 
    <titulo>Economics of Technology for Digital TV</titulo> 
    <editor> 
      <apelido>Gerbarg</apelido> 
      <nome>Darcy</nome> 
      <afiliacion>CITI</afiliacion> 
    </editor> 
    <editorial>Kluwer Academic editorials</editorial> 
    <prezo>129.95</prezo> 
  </libro> 
</lib>

Realiza as seguintes transformacións XSLT de dous xeitos distintos:

  • Utilizando unha plantilla (template) para cada elemento e atributo que se necesite transformar
  • Utilizando so a plantilla raíz e bucles (for-each) para cada elemento que se necesite transformar

Transformacións

1. Amosar unha lista enumerada con todos os autores ordenados por apelidos

2. Amosar unha lista enumerada con todos os títulos de libros con prezo menor de 100

3. Amosar nunha taboa ordenada sen encabezado

Amosar coas seguintes columnas:

  • Prezo do libro, ordenando os resultados por este campo (Nota: tes que usar data-typa para que se ordenen como números e non cadeas).
  • Título do libro:
  • co fondo de la celda en cor vermella se o prezo é maior de 100.
  • Ano de publicación. Co texto en cursiva.

4. Amosar nunha táboa con encabezado

Amosar coas seguintes columnas:

  • Título do libro
  • en cor vermella se o prezo é maior de 100, engadindolle o texto "(Timo)" a continuación, e ordenando os resultados por este campo.
  • Autores do libro amosando primeiro o nome e logo o apelido.
  • Se hai máis dun autor amósanse todos na mesma celda.
  • Se non hai autor deixase en branco.
  • Separar as palabras con espazo en branco.
  • Editores do libro amosando o nome, o apelido e a afiliación.
  • Se hai máis dun editor amósanse todos na mesma celda.
  • Se non hai editor indícase "Descoñecido".
  • Separar palabras con espazo en branco

Referencias