Ejercicios de XML: conceptos básicos

  1. El programa AplicaXPath que se proporciona en las plantillas del tema aplica una expresión XPath a un fichero, tomando como nodo de contexto el elemento raíz. Por otro lado, el fichero paises.xml contiene diversos datos (nombre, capital, población, área, ...) de un gran número de países del mundo. Utilizando dicho programa para comprobar el resultado, escribir expresiones XPath que seleccionen los siguientes nodos del fichero paises.xml:
  2. El fichero articulo.xml representa un formato muy simple de artículo, escrito por ejemplo para una revista. Un artículo contiene un título, uno o más autores, un resumen y un texto. El texto está dividido en párrafos, y entre ellos pueden aparecer imágenes. El fichero articulo.dtd contiene la gramática, expresada mediante un DTD.

    1. Desarrollar un XSLT que efectúe las siguientes transformaciones sobre el fichero articulo.xml:
      • Deben omitirse las imágenes.
      • Las etiquetas <parrafo> deben sustituirse por la etiqueta <p>.
      • Los autores deben aparecer todos juntos, dentro de la etiqueta <autores>, sin las etiquetas <autor>.
      • Las etiquetas <articulo>, <texto> y <titulo> deben conservarse tal cual.
    2. Modificar el XSLT del apartado anterior para que la etiqueta <resumen> aparezca al principio del documento (justo después de <articulo>).
    3. Modificar el XSLT desarrollado en el apartado anterior para que la etiqueta <autores> tenga un contenido del estilo "por Autor1 , Autor2, ... y AutorN". Es decir:
      • El primer autor debe venir precedido de la palabra "por"
      • El último autor debe venir precedido de la palabra "y".
      • Los restantes autores deben venir precedidos por una coma.

      Para implementar este ejercicio, tener en cuenta que si un nodo encaja con varios templates, se aplica primero el template con la condición match "más específica" (por ejemplo (match="autor" es más específica que match="*").

  3. Para realizar las transformaciones XSLT, utilizar el programa AplicaXSLT, que se proporciona con las plantillas de ejemplo. El programa toma como primer parámetro de entrada el nombre de un fichero XML y como segundo el nombre de un fichero XSLT, imprimiendo la transformación en la salida estándar. Alternativamente, se puede usar una llamada a la clase org.apache.xalan.xslt.Process -IN ficheroXML -XSL ficheroXSLT -OUT ficheroSalida.