XSLT

Marzo 9, 2007

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>


XSL-FO

Marzo 9, 2007

XSL-FO es una W3C Recommendation perteneciente al grupo de los lenguajes XLL, junto con XSLT.
Es un documento XML que indica cómo formatear la salida o publicación de otro documento XML.
La salida generada tras aplicar XSL-FO se expresa en paginas. Cada pagina contiene varias regiones: body, header, footer, …. Cada región contiene bloques de área y cada bloque de área contiene a otros bloques de área o bloques de líneas.

La extensión del archivo: .fo / .fob

Para definir una plantilla el elemento raíz es:
<fo:root> …. </fo:root>

<fo:root xmlns:fo=”http://www.w3.org/1999/XSL/Format“>
  <!– El documento XSL-FO aqui –>
</fo:root>

Descripción de los elementos principales XSL-FO:

  • El elemento <fo:layout-master-set> contiene 1 o mas paginas de plantillas
  • Cada elemento <fo:simple-page-master> contiene una pagina simple plantilla
  • El elemento <fo:page-sequence> describe el contenido de una pagina.
  • El elemento <fo:flow> contiene los bloques que conforman la pagina

Ejemplo

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

<fo:root xmlns:fo=”http://www.w3.org/1999/XSL/Format“>

<fo:layout-master-set>
  <fo:simple-page-master master-name=”A4″>
  </fo:simple-page-master>
</fo:layout-master-set>

<fo:page-sequence master-reference=”A4″>
  <fo:flow flow-name=”xsl-region-body”>
    <fo:block>Hola lectores de Xperimentos </fo:block>
  </fo:flow>
</fo:page-sequence></fo:root>


Catálogo de distribuciones de LiveCD

Marzo 9, 2007

Navegando por la red, he encontrado livecdlist una página en la cuál aparece un listado conmás o menos 300 distribuciones de liveCD/DVD para gnu/linux perfectamente catalogadas, todas tienen su link para la descarga.

Link: livecdlist


XSL

Marzo 9, 2007

XSL son las iniciales de EXtensible Stylesheet Language. Una familia de recomendaciones del W3C.

Los sublenguajes XSL son: XSLT, Xpath y XSL-FO.

  • XSLT (XSL Transformations): Transforma un documento XML en otro XHTML o XML.
  • XSL-FO (Extensible Stylesheet Language Formatting Objects): formatear un documento XML
  • Xpath: navegar entre partes de un documento XML