Tarea1

Definición de Hojas de Estilo para los documentos instancia XML.

Los fichero xml que resuelven cada ejercicio serán enviados todos en un unico fichero comprimido ( tipo zip o el que querais ).

1. Definir una hoja de estilo (editoriales1.xsl) que visualice, para el documento editoriales.xml, para cada editorial, toda su información.
El resultado estará en formato html. Incluir a modo de título “Información de Editorial” en fuente azul, itálica, subrayada y con un tamaño de fuente +2


<p> parrafo <b> negrita <i> italica <u> su.brayada
<font size="+2" color="blue" >

Documento editoriales.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE editoriales SYSTEM "editoriales2.dtd">
<editoriales>
<editorial>
<nombre> Prentice Hall</nombre>
<email>prenticehall@computersciences.com</email>
<homepage>http://www.prentice_hall.com/</homepage>
<direccion>170 West 74th St. NY NY 10023</direccion>
<tfno>212-362-8900</tfno>
<fax>212-874-8605</fax>
</editorial>
<editorial>
<nombre>Universidad de Málaga</nombre>
<email>edicion@publicaciones.uma.es</email>
<homepage>http://www.uma.es/publicaciones</homepage>
<direccion>Biblioteca General. Campus de Teatinos, s/n</direccion>
<tfno>952139999</tfno>
<fax>952131313</fax>
</editorial>
</editoriales>


Resultado de visualización editoriales.xml

Introduciendo marcas de formato HTML en la hoja de estilo:


captura para tarea XSLT


2. Modificar la hoja de estilo anterior para que el título sólo lo muestre una vez, antes de listar las distintas editoriales (editoriales2.xsl).


captura para tarea XSLT



3. Diseñar una hoja de estilo (fichas_ordenadas.xsl) para el documento XML
(fichas.xml, que aparece a continuación ) que muestre las fichas ordenadas por orden alfabético ascendente de apellido.


<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT fichas (ficha)*>
<!ELEMENT ficha (nombre, apellido, email, direccion)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT apellido (#PCDATA)>
<!ELEMENT email (#PCDATA)>
<!ELEMENT direccion (#PCDATA)>


4. Diseñar una hoja de estilo (lista.xsl) para el documento lista.xml (que aparece a continuación) que muestre la lista ordenada por el atributo codigo_ordenacion generando el siguiente documento de salida:


<?xml version="1.0" encoding="UTF-16"?>
<lista_ordenada xmlns:fo="http://www.w3.org/1999/XSL/Format">
<elemento> a </elemento>
<elemento> b </elemento>
<elemento> c </elemento>
</lista_ordenada>

Documento lista.xml original:

<lista>
<item codigo_ordenacion="c">
<subitem>c</subitem>
</item>
<item codigo_ordenacion="b">
<subitem>b</subitem>
</item>
<item codigo_ordenacion="a">
<subitem>a</subitem>
</item>
</lista>


5. Diseñar una hoja de estilo (fichas_orden_apelnom.xsl) para el documento XML (fichas.xml) que muestre las fichas ordenadas :

a) según apellido y nombre.
b) Sólo por 1º apellido

6. Diseñar una hoja de estilo (libro_numeracion.xsl) para el siguiente documento XML (libro_numeracion.xml) que muestre una tabla con 2 columnas:
la primera columna etiquetada Numero contendrá la numeración asignada a cada elemento y la segunda columna contendrá el texto correspondiente a ese elemento.

Ten en cuenta el uso de <xsl:for-each select="">, <xsl:number/> y <xsl:valueof select="./text()"/>


<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="libro_numeracion.xml"?>
<libro>
<capitulo>Capitulo Primero</capitulo>
<capitulo>Capitulo Segundo
<capitulo>Subcapitulo 1</capitulo>
<capitulo>Subcapitulo 2</capitulo>
</capitulo>
<capitulo>Tercer capitulo
<capitulo>Subcapitulo A</capitulo>
<capitulo>Subcapitulo B
<capitulo>sub a</capitulo>
<capitulo>sub b</capitulo>
</capitulo>
<capitulo>Subcapitulo C</capitulo>
</capitulo>
</libro>


7. Diseñar un documento (pedido.xml) que almacene información sobre el pedido de un cliente a una tienda (libertad para elegir tipo de producto/tienda). Diseñar una hoja de estilo que a partir de la información del pedido genere una factura calculando: el coste por artículo teniendo en cuenta la cantidad pedida para cada artículo, el importe de la factura, y el IVA al 16%.



(Utiliza el enlace que aparece abajo para enviar la tarea).