Una sencilla transformación[]
En el capítulo de introducción del libro se muestra una sencilla transformación de un documento XML en uno HTML utilizando XSL. El documento XML, llamado brazil.xml, es el siguiente:
<?xml version="1.0" encoding="iso-8859-15"?>
<pelicula titulo="Brazil" estreno="1985" minutos="132">
<direccion>
<director nombre="Terry" apellidos="Gilliam"/>
</direccion>
<produccion>
<productor nombre="Patrick" apellidos="Cassavetti"/>
<productor nombre="Arnon" apellidos="Milchan"/>
</produccion>
<guion>
<guionista nombre="Terry" apellidos="Gilliam"/>
<guionista nombre="Tom" apellidos="Stoppard"/>
<guionista nombre="Charles" apellidos="McKeown"/>
</guion>
<reparto>
<interprete nombre="Jonathan" apellidos="Pryce"
papel="protagonista"/>
<interprete nombre="Robert" apellidos="De Niro"
papel="protagonista"/>
<interprete nombre="Kim" apellidos="Greist"
papel="protagonista"/>
<interprete nombre="Michael" apellidos="Palin"
papel="secundario"/>
<interprete nombre="Ian" apellidos="Holm"
papel="secundario"/>
<interprete nombre="Bob" apellidos="Hoskins"
papel="secundario"/>
</reparto>
</pelicula>
La transformación se logra gracias al brazil.xsl, cuyo código es el siguiente:
<?xml version="1.0" encoding="iso-8859-15"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:preserve-space elements="*"/>
<xsl:template match="/">
<html>
<head>
<title>
<xsl:value-of select="/pelicula/@titulo"/>
</title>
</head>
<body>
<b><xsl:value-of select="/pelicula/@titulo"/></b><br/>
<u>Director</u>:<xsl:text> </xsl:text>
<xsl:value-of
select="/pelicula/direccion/director/@nombre"/>
<xsl:text> </xsl:text>
<xsl:value-of
select="/pelicula/direccion/director/@apellidos"/>
<br/>
<u>Intérpretes</u>:<br/>
<xsl:for-each select="/pelicula/reparto/interprete">
<xsl:if test="@papel = 'protagonista'">
<xsl:value-of select="@nombre"/>
<xsl:text> </xsl:text>
<xsl:value-of select="@apellidos"/><br/>
</xsl:if>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Y esta transformación se logra añadiendo esta línea al documento XML, para indicarle qué transformación XSL debe realizar:
<?xml version="1.0" encoding="iso-8859-15"?>
<?xml-stylesheet type="text/xsl" href="brazil.xsl"?>
<pelicula titulo="Brazil" estreno="1985" minutos="132">
...
Interfaces de usuario con XUL[]
El código fuente necesario para crear el cuadro de diálogo visto en el capítulo de introducción es el siguiente:
<?xml version="1.0" encoding="iso-8859-15"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="Nueva película">
<script src="11-filmoteca.js"/>
<vbox>
<hbox>
<groupbox>
<caption label="Personal"/>
<label value="Título:"/>
<textbox id="titulo"/>
<label value="Director:"/>
<textbox id="director"/>
<label value="Productor:"/>
<textbox id="productor"/>
<label value="Guionista:"/>
<textbox id="guionista"/>
<label value="Protagonista:"/>
<textbox id="protagonista"/>
</groupbox>
<vbox>
<label value="Género:"/>
<checkbox id="genero_drama"
checked="true" label="Drama"/>
<checkbox id="genero_comedia"
label="Comedia"/>
<checkbox id="genero_aventuras"
label="Aventuras"/>
<checkbox id="genero_romance"
label="Romance"/>
<checkbox id="genero_cifi"
label="Ciencia ficción"/>
</vbox>
<vbox>
<label value="Calificación:"/>
<radiogroup>
<radio id="calificacion_0" value="0"
label="Lo peor"/>
<radio id="calificacion_1" value="1"
label="Mala"/>
<radio id="calificacion_3" value="2"
label="Regular"/>
<radio id="calificacion_4" value="3"
selected="true"
label="Buena"/>
<radio id="calificacion_5" value="4"
label="Imprescindible"/>
<radio id="calificacion_5" value="5"
label="Obra maestra"/>
</radiogroup>
</vbox>
</hbox>
<hbox align="right">
<button
id="aceptar"
label="Aceptar"
default="false"
onclick="boton_aceptar()"/>
<button
id="cancelar"
label="Cancelar"
default="true"/>
</hbox>
</vbox>
</window>
Enlaces[]
- Rayuela, de Julio Cortázar.