XSL es para XML lo que CSS es para HTML. Es un acrónimo en inglés de EXtensible Stylesheet Language (Lenguaje de hojas de estilo ampliable). Es un lenguaje diseñado para presentar datos XML en un formato legible. XSL consta realmente de dos partes:
XSLT significa Transformaciones XSL y es la parte más importante de XSL.
XSLT transforma un documento XML en otro documento XML, en una salida XHTML o en texto sencillo. Esto se suele hacer transformando cada elemento XML en un elemento HTML. El uso de XSL es imprescindible, ya que las etiquetas XML han sido definidas por el usuario y, por tanto, los navegadores no saben cómo interpretarlas o representarlas. Su significado se ha diseñado para ser entendido por las personas, no por las máquinas.
XSLT también puede realizar las siguientes operaciones en un árbol XML:
Si necesita revisar la sintaxis XML, le recomiendo que lea la sección Sintaxis XML de mi artículo anterior sobre XML.
Como recordará del artículo Introducción a XML, todos los documentos XML empiezan con una declaración XML. Lo mismo ocurre con las hojas de estilos XSL. La primera línea de cualquier documento XSL es una declaración XML:
<?xml version="1.0" encoding="ISO-8859-1"?>
Sí y no. Sí porque ambos siguen las mismas reglas de sintaxis (con unas pocas diferencias que mencionaré más adelante). No, porque tienen distintas funciones: XML almacena datos y XSL les aplica formato.
Después de la declaración XML hay una declaración XSL, como se muestra a continuación:
<xsl:stylesheet>
o bien
<xsl:transform>
No obstante, en la mayoría de las aplicaciones reales, la declaración XSL tiene un aspecto un poco más complejo:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
El motivo es que también incluye el espacio de nombres y la versión de la especificación XSL, según las recomendaciones del W3 Consortium.
A diferencia de la declaración XML, la cual se escribe en una única línea y no tiene etiqueta de cierre, la declaración XSL debe tener una etiqueta de cierre, que sirve para marcar el final de la hoja de estilos XSL:
</xsl:stylesheet>
Observe que lo anterior no infringe las reglas de sintaxis XML: una hoja de estilos XSL es un documento XML perfectamente válido, ya que tiene un único elemento raíz que viene especificado por la etiqueta <xsl:stylesheet>.
XSL ha sido diseñado para unas funciones determinadas. Por eso resulta la solución perfecta para algunos casos de desarrollo, mientras que puede ser inútil para otros.