XSLT - Transformación


Estudio de caso: Cómo usar XSLT para transformar XML a XHTML.

Explicaremos los detalles de este ejemplo en el próximo capítulo.


Declaración correcta de la hoja de estilo

El elemento raíz que declara el documento como una hoja de estilo XSL es <xsl:stylesheet> o <xsl:transform>.

Nota:<xsl:stylesheet> y <xsl:transform> son completamente sinónimos, ¡ambos pueden utilizarse!

Según el estándar XSLT del W3C, la forma correcta de declarar una hoja de estilo XSL es:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

O bien:

<xsl:transform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

Para acceder a los elementos, atributos y características de XSLT, debemos declarar el espacio de nombres XSLT en la parte superior del documento.

xmlns:xsl="http://www.w3.org/1999/XSL/Transform" apunta al espacio de nombres oficial XSLT del W3C. Si utiliza este espacio de nombres, debe incluir el atributo version="1.0".


Empezar con un documento XML original

Ahora vamos a tomar el siguiente documento XML ("cdcatalog.xml")y transformarloa XHTML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
.
.
</catalog>

Ver archivos XML en Firefox e Internet Explorer:Abra el archivo XML (normalmente haciendo clic en un enlace): el documento XML mostrará el elemento raíz y los elementos secundarios en forma de código coloreado. Haga clic en el signo más (+) o menos (-) a la izquierda del elemento para expandir o contraer la estructura del elemento. Para ver el archivo fuente XML original (sin signos más ni menos), seleccione "Ver código fuente de la página" o "Ver código fuente" en el menú del navegador.

Ver archivos XML en Netscape 6:Abra el archivo XML, luego haga clic derecho en el archivo XML y seleccione "Ver código fuente de la página". El documento XML mostrará el elemento raíz y los elementos secundarios en forma de código coloreado.

Ver archivos XML en Opera 7:Abra el archivo XML, luego haga clic derecho en el archivo XML y seleccione "Marcos"/"Ver código fuente". El documento XML se mostrará como texto plano.


Crear una hoja de estilo XSL

Luego cree una hoja de estilo XSL con una plantilla de transformación ("cdcatalog.xsl"):

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>

</xsl:stylesheet>


Enlazar la hoja de estilo XSL al documento XML

Añada la referencia de la hoja de estilo XSL al documento XML ("cdcatalog.xml"):

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="cdcatalog.xsl.html"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
.
.
</catalog>

Si su navegador es compatible con XSLT, tomará su XML y lotransformaráa XHTML sin problemas.

Explicaremos los detalles del ejemplo anterior en el próximo capítulo.


Otras extensiones