Es una W3C Recommendation empleado para transforma un documento XML en otro XHTML o XML.
Usa XPath para localizar la parte del documento que debe coincidir con la plantilla definida.

Para definir una plantilla XSLT se emplea el elemento raíz indistintamente cualquiera de estas dos:

<xsl:stylesheet> o <xsl:transform>

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

La hoja de estilos contiene uno o más conjuntos de reglas, llamados plantillas. Para definir las plantillas se utiliza el elemento <xsl:template>. El atributo match permite asociar la plantilla con la parte concreta del documento XML. El valor del atributo match es una expresión XPath.

El elemento <xsl:value-of> permite extraer contenido del documento XML y volcarlo en la salida transformada generada. Para ello emplea una expresión XPath.

Elemento <xsl:for-each> , permite seleccionar varios nodos del documento XML y aplicarles la plantilla.

Ejemplo

<?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=»catalog/cd/title» />  </td>
      <td>   <xsl:value-of select=»catalog/cd/artist» /> </td>
    </tr>
  </xsl:for-each>
  </table>
  </body>
  </html>
  </xsl:template>
  </xsl:stylesheet>

Como transformar XML a XHTML en el navegador (Usando Javascript)

<html>
<body><script type=»text/javascript»>
// Load XML
var xml = new ActiveXObject(«Microsoft.XMLDOM»)
xml.async = false
xml.load(«cdcatalog.xml»)
// Load XSL
var xsl = new ActiveXObject(«Microsoft.XMLDOM»)
xsl.async = false
xsl.load(«cdcatalog.xsl»)
// Transform
document.write(xml.transformNode(xsl))</script></body>
</html>

Be Sociable, Share!