2. O RANGE C OUNTY A REA AND E XISTING C ONDITIONS
2.3 Existing Conditions and Inventory
2.3.1 Transit Management and Multi-modal
La llamada hoja de estilo, será: estilos.css, documento en el que están las reglas de estilo para obtener la salida deseada del documento origen XML; la referencia a la
hoja de estilo se pasa a través del parámetro href.
Con el parámetro type, se indica el tipo de hoja de estilo para el formato, en este caso se está utilizando CSS, por tanto es “text/css”.
3.2.3.
Limitaciones y desarrollo de las hojas de estilo
CSS
Con la utilización de las hojas de estilo CSS se tienen ciertas limitaciones, como puede ser el querer adaptarse a distintos medios y no solo a la publicación web para dar salida a documentos XML.
Existe también la limitación de tener que seleccionar el documento XML en su conjunto y no solo una parte deseada de ese documento origen. Es debido a estas limitaciones, por lo que surge una nueva iniciativa por parte de W3C (World Wide Web Consortium) y es impulsar el llamado lenguaje XSL (Extensible Stylesheet Language).
A pesar del desarrollo de XSL, se ha seguido explotando la idea de emular en XML lo que CSS hacía en HTML. Con lo que estas hojas de estilo CSS, no han perdido en su totalidad su función, y se han ido detallando de forma muy amplia, existiendo tres recomendaciones en este sentido: CSS1, CSS2, CSS3. Todas estas nuevas recomendaciones que han ido surgiendo, siempre han contado con el objetivo inicial de separar contenidos y presentaciones.
3.3
XSL
XSL (Extensible Stylesheet Language o Lenguaje de Estilos Extensible) es una especificación desarrollada dentro del W3C para aplicar formato a los documentos XML de forma estandarizada, el primer boceto de esta especificación aparece el 18 de agosto de 1998.
Es un lenguaje basado en XML y especialmente pensado para la publicación de documentos XML. Al estar basado en XML, las normas de estructuración y sintaxis de este lenguaje son idénticas a las utilizadas por cualquier otro lenguaje XML.
Las hojas de estilo XSL se almacenan en archivos independientes, con la extensión .xsl y son enlazadas desde el documento XML de forma similar a como se hace con las hojas de estilo CSS.
XSL no es un lenguaje para definir estilos como en el caso de CSS o XSL-FO (XSL Formatting Objects), sino un lenguaje que permite aplicar determinados formatos ya definidos a documentos XML.
CAPITULO 3.- PRESENTACIÓN DE UN DOCUMENTO XML 39
3.3.1.
Por qué XSL
Dentro de las carencias de CSS, decir que CSS es incapaz de ejecutar operaciones lógicas, tales como instrucciones < if – then >, que a veces son necesarias para poder adaptar un documento a un tipo de presentación en concreto.
Es entonces cuando se tomo conciencia de que las hojas de estilo CSS podían llegar a ser insuficientes para adaptar archivos XML a los distintos periféricos, y siguieron nuevos desarrollos. Esto hizo que W3C impulsara un metalenguaje para expresar hojas de estilo, lo que dio lugar a XSL.
Otra gran razón por la que tomó tanto auge XSL, es que CSS es eficaz para describir formatos y presentaciones, pero no sirve para decidir qué tipos de datos deben ser mostrados y cuáles no deben salir en la pantalla. Esto es, CSS se utiliza con documentos XML en los casos en los que todo su contenido debe mostrarse sin mayor miramiento.
XSL no solo permite especificar cómo queremos presentar los datos de un documento XML, sino que también sirve para filtrar los datos de acuerdo a ciertas condiciones. El XSL añade al XML, además del aspecto que ya incluía CSS referente a la presentación y estilo de los elementos del documento, una pequeña sintaxis de lenguaje script para poder procesar los documentos XML de forma más cómoda.
Por otro lado, también mencionar que CSS sigue siendo el método más utilizado a la hora de presentar documentos XML sobre navegadores web, y aunque no pueda ejecutar cualquier lógica basada en los datos, sigue también siendo muy útil en aplicaciones que no precisan de transformaciones importantes.
Además, XSL no es incompatible con las hojas CSS, es decir, podemos utilizar ambos formatos al unísono para la presentación de los documentos.
3.3.2.
Pasos para dar estilo a un documento XML
La idea consiste en utilizar una clase de documentos XML que definen una hoja
de estilo (XSL) y aportan la forma en que un archivo XML debe ser presentado en un
determinado medio. Es decir, llegar a conseguir lo que CSS consigue en la ventana de un navegador.
Para comenzar, describiremos las etapas en las que se divide el hecho de “dar
estilo” a un documento XML:
1. Transformarlo, existencia de un lenguaje para transformar el documento XML en cuestión.
2. Darle formato, utilizar un vocabulario XML para la especificación de una semántica para los formatos de presentación. Algo bastante complejo, debido a que existen presentaciones muy diversas, al existir igualmente gran variedad de periféricos.
Debido a esta división de tareas a la hora de dar estilo a un documento XML, la tecnología XSL está organizada en dos partes:
XSLT (XSL Transform o Transformaciones XSL), lenguaje para transformar documentos XML.
XSL-FO (XSL Formatting Objects u objetos para Formato de XSL), vocabulario XML para especificar objetos de formateo (FO) para la presentación de los documentos. Permite formatear los documentos para su impresión, es una tecnología para definir estilos de forma similar a las
hojas de estilo CSS.
A ellas, tenemos que añadir XPATH (XML Path Language), que es el lenguaje que se utiliza para la navegación sobre la estructura de un documento XML, y es por tanto utilizado para el proceso de transformación de XSLT haciendo referencia a la forma de acceder y moverse por los nodos de un documento XML. XPath no ha sido diseñado para utilizarlo de forma independiente sino desde XSLT.
En el siguiente árbol se muestra la jerarquía y la división de estas tecnologías:
CAPITULO 3.- PRESENTACIÓN DE UN DOCUMENTO XML 41
Mencionar, que en un comienzo, XSL era un único lenguaje para escribir hojas de estilo y constaba de dos partes: un lenguaje de transformación y un lenguaje de formateo. Sin embargo, durante su desarrollo, se decidió “sacar” fuera de la especificación XSL el lenguaje de transformación y desarrollarlo como una especificación “independiente” a la que se denominó XSLT.
Por tanto, desde entonces la especificación XSL se centraba en la definición del lenguaje de formateo. Ponemos las palabras “sacar” e “independiente” entre comillas porque no son del todo ciertas, ya que una especificación es inseparable de la otra debido a que XSL hace uso de XSLT, aunque la XSLT esté diseñada para ser utilizada independientemente de XSL.
Además, durante el desarrollo de la especificación XSLT también se decidió
“sacar” fuera de ella la parte del lenguaje de transformación que hacía referencia a la
forma de acceder y moverse por los nodos de un documento XML, debido esencialmente a que esta sintaxis era muy parecida a la que se estaba desarrollando en la especificación XPointer (XML Pointer Language), enlaces al interior de un documento XML. A esta nueva especificación se le denominó XPath, y ha sido desarrollada no para utilizarse de forma independiente, sino desde XSLT y XPointer.
3.3.3.
Creación de hojas de estilo XSL
Los documentos XSL comienzan por una línea de prólogo similar a la que se utiliza por los documentos XML. En dicha línea se debe de indicar al menos la versión de XML, en caso de utilización lenguas en las que se utilicen caracteres propios, también debemos mencionar el tipo de codificación correspondiente.
Ejemplo: