Los últimos tutoriales de desarrollo web
 

XSLT - Transformación


Ejemplo de estudio: ¿Cómo transformar XML en XHTML mediante XSLT?

Los detalles de este ejemplo se explicarán en el capítulo siguiente.


Declaración Hoja correcta Estilo

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

Note: <xsl:stylesheet> y <xsl:transform> son completamente sinónimos, y cualquiera de ellos puede ser utilizado!

La forma correcta de declarar una hoja de estilo XSL de acuerdo con la Recomendación W3C XSLT es:

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

o:

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

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

El xmlns: xsl = "http://www.w3.org/1999/XSL/Transform" apunta al espacio de nombre oficial del W3C XSLT. Si se utiliza este espacio de nombres, debe incluir también la versión atributo = "1.0".


Comience con un documento XML sin procesar

Queremos transform el siguiente documento XML ("cdcatalog.xml") en XHTML:

<?xml version="1.0" encoding="UTF-8"?>
<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>

Viewing XML Files in IE, Chrome, Firefox, Safari, and Opera: Abrir el archivo XML (haga clic en el enlace de más abajo) - El documento XML se mostrará con la raíz de un código de colores y elementos secundarios (except in Safari) . A menudo, hay un plus (+) o signo menos (-) a la izquierda de los elementos que se puede hacer clic para expandir o contraer la estructura del elemento. Consejo: Para ver el origen XML sin procesar, haga clic en el archivo XML y seleccione "Ver código fuente"!

Ver "cdcatalog.xml"


Crear una hoja de estilo XSL

A continuación, se crea una hoja de estilo XSL ("cdcatalog.xsl") con una plantilla de transformación:

<?xml version="1.0" encoding="UTF-8"?>

<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>

Ver "cdcatalog.xsl"


Vincular la hoja de estilo XSL al documento XML

Añadir la referencia de hoja de estilo XSL a un documento XML ("cdcatalog.xml") :

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>
<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 usted tiene un navegador compatible con XSLT va muy bien transform el XML en XHTML.

Ver el resultado

Los detalles del ejemplo anterior se explicarán en los siguientes capítulos.