Lenguaje Extensible de Hojas de Estilo
XSL (siglas de Extensible Stylesheet Language, expresión inglesa traducible como "lenguaje extensible de hojas de estilo").
Es una familia de lenguajes basados en el estándar XML que permite describir cómo la información contenida en un documento XML cualquiera debe ser transformada o formateada para su presentación en un medio.
Esta familia está formada por tres lenguajes:
- XSLT (siglas de Extensible Stylesheet Language Transformations, lenguaje de hojas extensibles de transformación), que permite convertir documentos XML de una sintaxis a otra (por ejemplo, de un XML a otro o a un documento HTML).
- XSL-FO (lenguaje de hojas extensibles de formateo de objetos), que permite especificar el formato visual con el cual se quiere presentar un documento XML, es usado principalmente para generar documentos PDF.
- XPath, o XML Path Language, es una sintaxis (no basada en XML) para acceder o referirse a porciones de un documento XML.
Estas tres especificaciones son recomendaciones oficiales del W3C.
Desde el 2005 ya son soportadas por algunos navegadores, como por ejemplo Mozilla o Internet Explorer, aunque, en su lugar, se pueden usar las CSS que son 100% compatibles aunque con una codificación diferente.
XSL implementa el lenguaje de estilo de los documentos escritos para XML. Desde 1997 varias empresas informáticas como Arbortext, Microsoft e Inso se pusieron a trabajar en una propuesta de XSL (antes llamado "xml-style") que presentaron al W3C y cuyo fin era permitir modificar el aspecto de un documento. Con las Hojas de Estilo ya se podían lograr algunas mejoras en el aspecto del documento, pero XSL permite otras muchas aplicaciones como múltiples columnas, texto girado, orden de visualización de los datos de una tabla, múltiples tipos de letra con amplia variedad en los tamaños, etc.
El estándar XSL está basado en el lenguaje de semántica y especificación de estilo de documento (DSSSL, Document Style Semantics and Specification Language) y, por otro lado, se considera más potente que las hojas de estilo en cascada (CSS, Cascading Style Sheets), usado en un principio con el lenguaje HTML. Las CSS se usan para visualizar simples estructuras de documentos XML y hoy se ha conseguido una gran integración en XML con el protocolo CSS2 (Cascading Style Sheets, level 2) ofreciendo nuevas formas de composición y una más rápida visualización), pero XSL es sumamente útil cuando se requiere una mayor potencia de diseño en los documentos XML, sobre todo cuando éstos encierran datos estructurados como tablas, organigramas, etc.
Así pues, básicamente, XSL es un lenguaje de hojas de estilos diseñado para su utilización en la Web, que provee más funcionalidades que las hojas de estilo en cascada (CSS o Cascade Stylesheet) y proporciona un representación de forma independiente de la plataforma utilizada o del medio de representación de la información recogida en los documentos XML. Dicha representación se crea mediante la formación de un árbol de objetos de flujo (flow objects tree). Un objeto de flujo tiene una clase, la cual representa una tarea o actividad de representación. Asimismo, un objeto de flujo dispone de un conjunto de características, mediante las cuales se puede especificar mucho más la representación. La asociación de elementos en el árbol origen con los objetos de flujo se lleva a cabo mediante las reglas de construcción, las cuales contienen un patrón para identificar elementos específicos en el árbol origen, y una acción para especificar un subárbol resultante de objetos de flujo.
El procesador de hojas de estilo procesará de forma recursiva los elementos del origen para producir un completo árbol de objetos de flujo. Además de las reglas de construcción, XSL también soporta reglas de estilo, las cuales permiten la mezcla de características. Mientras que una sola regla de construcción puede ser invocada para un elemento en particular del origen, pueden ser invocadas todas las reglas de estilo aplicables, permitiendo la mezcla de características como en CSS.
Resumiendo, un hoja de estilo XSL describe el proceso de presentación a través de un pequeño conjunto de elementos XML. Esta hoja, puede contener elementos de reglas que representan a las reglas de construcción y elementos de reglas de estilo que representan a las reglas de mezcla de estilos.
Hojas de Estilo en Cascada
Las hojas de estilo en cascada (Cascading Style Sheets, o sus siglas CSS) hacen referencia a un lenguaje de hojas de estilos usado para describir la presentación semántica (el aspecto y formato) de un documento escrito en lenguaje de marcas. Su aplicación más común es dar estilo a páginas webs escritas en lenguaje HTML y XHTML, pero también puede ser aplicado a cualquier tipo de documentos XML, incluyendo SVG y XUL.
La información de estilo puede ser adjuntada como un documento separado o en el mismo documento HTML. En este último caso podrían definirse estilos generales en la cabecera del documento o en cada etiqueta particular mediante el atributo "<style>".
CSS tiene una sintaxis muy sencilla, que usa unas cuantas palabras claves tomadas del inglés para especificar los nombres de sus selectores, propiedades y atributos. Una hoja de estilos CSS consta de 3 reglas. Cada regla consiste en uno o más selectores y unbloque de estilos con los estilos a aplicar para los elementos del documento que cumplan con el selector que les precede. Cada bloque de estilos se define entre llaves, y está formado por una o varias declaraciones de estilo con el formato
propiedad:valor;.
En el CSS, los selectors marcarán qué elementos se verán afectados por cada bloque de estilo que les siga, pudiendo afectar a uno o varios elementos a la vez, en función de su tipo, nombre (name), ID, clase (class), posición dentro del Document Object Model, etcétera.
Abajo puede verse un ejemplo de una parte de una hoja de estilos CSS:
selector [, selector2, ...] [:pseudo-class][::pseudo-element] {
propiedad: valor;
[propiedad2: valor2;
...]
}
/* comentarios */
Ventajas
:
- Control centralizado de la presentación de un sitio web completo con lo que se agiliza de forma considerable la actualización del mismo.
- Separación del contenido de la presentación, lo que facilita al creador, diseñador, usuario o dispositivo electrónico que muestre la página, la modificación de la visualización del documento sin alterar el contenido del mismo, sólo modificando algunos parámetros del CSS.
- Optimización del ancho de banda de la conexión, pues pueden definirse los mismos estilos para muchos elementos con un sólo selector; o porque un mismo archivo CSS puede servir para una multitud de documentos.
- Mejora en la accesibilidad del documento, pues con el uso del CSS se evitan antiguas prácticas necesarias para el control del diseño (como las tablas), y que iban en perjuicio de ciertos usos de los documentos, por parte de navegadores orientados a personas con algunas limitaciones sensoriales.
La hoja de estilo refleja el hecho de que uno de los roles más importantes de XSLT es también añadir información de estilo a un documento fuente XML para transformarlo en un documento que consta de objetos de formato XSL, o en otro formato orientado a la presentación, tal como HTML, XHTML, o SVG. Sin embargo, lo que caracteriza a XSLT es que se usa para un gran número de tareas de transformación, no exclusivamente para aplicaciones de formato y presentación.
Una transformación expresada en XSLT describe reglas para transformar cero o
más recursos en árbol en cero o más recursos en árbol. La estructura de estos árboles se describe en el Modelo de Datos (Data Model).
La transformación se realiza mediante un conjunto de reglas de patrón. Una regla asocia un patrón, con nodos iguales en el documento fuente, con un constructor de secuencias. En algunos casos, la evaluación del constructor de secuencias originará la construcción de nuevos nodos, los cuales pueden usarse para producir parte del árbol resultante. La estructura de los árboles resultantes puede ser completamente diferente de la estructura de los árboles fuente. En la construcción del árbol resultante, los nodos de los árboles fuente pueden ser filtrados y reordenados, y puede añadirse una nueva estructura. Este mecanismo permite que las hojas de estilo sean aplicadas a una extensa clase de documentos que tienen estructuras de recursos similares.
Una hoja de estilo puede constar de varios módulos de hojas de estilo contenidos en diferentes documentos XML. Para una transformación dada, una de estas funciones es el módulo de hojas de estilo principal (principal stylesheet module.) La hoja de estilo completa se adjunta para encontrar los módulos de hojas de estilo directa o indirectamente referenciados desde el modulo de hoja de estilo principal usando los elementos
xsl:include yxsl:import .
Una aplicación concreta de XLT es, por ejemplo, su utilización para diseñar un portal. Al poder separar el contenido (XML) de la presentación (XLT) es posible utilizar un mismo entramado o esqueleto para diseñar un portal en XML y cambiar la apariencia gráfica utilizando una plantilla u hoja de estilo mediante XLT.
No hay comentarios:
Publicar un comentario