0% encontró este documento útil (0 votos)
131 vistas13 páginas

LMSGI05 Ejemplo Explicado

Este documento presenta un ejemplo de transformación XSLT utilizando la página web w3schools. Explica la estructura del XML de origen y el XSLT de transformación, incluyendo elementos como for-each y choose. Muestra cómo se pueden realizar modificaciones en el código y ver los resultados. Alienta al lector a explorar más ejemplos en la web para practicar con XSLT.

Cargado por

Adri
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
131 vistas13 páginas

LMSGI05 Ejemplo Explicado

Este documento presenta un ejemplo de transformación XSLT utilizando la página web w3schools. Explica la estructura del XML de origen y el XSLT de transformación, incluyendo elementos como for-each y choose. Muestra cómo se pueden realizar modificaciones en el código y ver los resultados. Alienta al lector a explorar más ejemplos en la web para practicar con XSLT.

Cargado por

Adri
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 13

Ejercicio de ejemplo

Tarea 5
ASIR - Lenguajes de marcas y sistemas de gestión de información
(LMGSI)
Ejercicio de xslt
• Vamos a ver un ejemplo de un ejercicio similar al de la tarea 5
• Para este ejemplo vamos a utilizar la web w3schools, que nos ofrece
mucha información, ejemplos y utilidades que podremos usar en este
y otros casos.
• Vamos a ver el ejemplo de
https://www.w3schools.com/xml/xsl_choose.asp
Editar ejemplos en w3schools
En la web de w3schools podemos ver tutoriales de muchos
contenidos, con ejemplos en los que podemos probar
modificaciones.
En este caso, dentro del tutorial de XSLT vamos a ver la
estructura choose.
En el menú de la izquierda tenemos información de otras
estructuras que pueden ser interesantes.
Para modificar el primero de los ejemplos que vienen y así
comprender mejor cómo funciona pulsamos el botón de
justo debajo que pone Try it Yourself.
Editar ejemplos en
w3schools
En la página que se nos abre tenemos
tres secciones:
- Primero el código XML que servirá de
fuente para la transformación
- Luego el código XSLT de
transformación
- Abajo el resultado obtenido en
formato web
Cuando modifiquemos algo de las dos
primeras, pulsamos el botón verde y
veremos los cambios que se producen en
el resultado
Estructura del XML
El código XML que sirve de fuente en este caso
es un catálogo de CDs con información de éstos.
Hay muchos elementos, pero la estructura es
muy sencilla:
- La raíz es catalog
- Hay elementos cd que son hijos de catalog
- De cada elemento cd a su vez cuelgan: title,
artist, country, company, price y year
Estructura del XSLT
El código XSLT, que es el que en la tarea 5 tenemos que
desarrollar, comienza con la raíz que indica que es un
documento xslt y la apertura de la plantilla.
Inmediatamente después comenzamos con el código html que
queremos que se genere en la transformación.
En este caso, comienza directamente con el body de la página,
pero podríamos poner también una cabecera si quisiéramos. En
este body hay un texto inicial “My CD Collection”.
Posteriormente se define una tabla en la que se va a mostrar la
información de los diferentes cd de la colección. La cabecera de
la tabla es fija y no cambiará en función del xml, por lo que
sigue siendo código html sin más.
Se crea la primera fila de la tabla (<tr> </tr>) con celdas de tipo
cabecera (<th> </th>)
Elementos XSLT
Ahora pasamos a generar las demás filas de la tabla en
función del contenido del XML.
Para ello, en primer lugar se utiliza el elemento xsl:for-
each, que recorre uno a uno los elementos del xml
indicados en la claúsula select, que son los distintos cd
del catálogo.
Con cada uno de esos cd crea una fila (<tr>) nueva para
la tabla:
- La primera celda (<td></td>) es el valor del
elemento title del cd que está recorriendo
- La segunda celda se crea de modo diferente según
se cumpla o no una condición. Esto se evalúa
mediante el elemento xsl: choose
Elementos XSLT
El elemento choose de xsl nos permite evaluar una condición y
hacer una acción si se cumple y otra diferente si no se cumple.
En este caso, se evalúa si el precio del cd es mayor que 10, en
cuyo caso, se pone un color de fondo en la celda además del
nombre del artista.
El choose tiene varias partes:
- “xsl:when test=” evalúa la condición indicada en test y dice
qué hacer si se cumple
- “xsl:otherwise” indica qué hacer si no se cumple la
condición
En este caso, siempre pone como contenido de la celda el valor
de artist recogido del xml (como la ruta no es absoluta, mira el
valor de artist del cd en que se encuentra en cada caso), pero si
se cumple price>10 además pone color de fondo.
Cierre de elementos
Finalmente, en el recuadro azul, vemos
cómo se cierran todos los elementos
de html y xsl que se han ido abriendo.

En el recuadro rojo podemos ver la


tabla que se genera como resultado de
la transformación, en la que las filas
correspondientes a CDs con precio
superior a 10 tienen el nombre del
artista resaltado en color rosa.
Modificaciones
Podemos hacer
modificaciones y ver el
resultado con el botón
verde.
En este caso he cambiado el
choose de modo que si el
precio es mayor que 10 en
lugar del nombre del artista
aparecerá el texto Muy caro.
Para ello he sustituido la
línea “<xsl:value-of
select=“artista”/>” de la
cláusula when por
“<text>Muy caro</text>”
Modificaciones
Podemos hacer modificaciones
también en el XML.
Aquí vemos que he eliminado el
price del primer CD.
Ahora el XSLT comprueba si
existe price para cada CD, en
cuyo caso pone el color rosa de
fondo. La comprobación es
simplemente test=“price”.
Es importante poner la ruta
relativa y no absoluta
(/catalog/cd/price) porque con la
ruta absoluta mira si existe algún
elemento que tenga price, y no
solo en el que está editando
ahora, por lo que siempre
encuentra alguno.
Ahora os toca a vosotros
• Se pueden hacer miles de pruebas, os animo a que visitéis la web de
w3schools e investiguéis distintos apartados.
• Hay también secciones muy interesantes para otros lenguajes de
programación.
• ¡Ánimo con el módulo!
IES Centro Integral de FP Distancia Ignacio Ellacuría

Sabina Martínez Blanco


sabina.martinez2@educa.madrid.org
https://www.ignacioellacuria.es

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy