EXES
¿Qué problema tiene HTML?
¿Que es XML?
Análisis de documentos XML
Validación de documentos XML
Diseño y creación de DTD’s
Sintaxis de las DTD
Esquemas
Diseño y creación de esquemas
Herramientas XML
Presentacion de documentos XML
Dar formato a documentos XML
Aplicaciones XML
Estudio del API DOM
Utilizacion de las interfaces DOM
Acceso a datos con XML
Utilizacion del API SAX
Créditos
La Compañía
 
Área de Programación y Desarrollo
  Manual de XML
www.exes.es
Tel: 902 360 417
 Exes   Contactar 

HOJAS DE ESTILOS XSL

Fundamentos

  • Las hojas de estilos XSL transforman el contenido de los documentos XML (XSLT), y les aplican formato (objetos de formato) de cara a su visualización en un navegador.
  • Actualmente, ningún navegador soporta los Objetos de Formato.
  • Sólo Internet Explorer 5.0 soporta XSLT, por lo que se utiliza para transformar documentos XML en XHTML.
  • También es posible utilizar XSLT en el servidor para transformar XML en HTML y poder visualizar así, el contenido del documento en navegadores que no cuenten con soporte para XML.
Fundamentos de las hojas de estilos XLS

Estructura de una hoja de estilo XSL

  • Una hoja de estilos XSL es un documento XML con extensión .xsl, en el que se define las transformaciones a realizar en el documento, mediante una serie de elementos y atributos.
  • La hoja de estilo incluye el elemento stylesheet, que declara el espacio de nombres para poder utilizar los elementos y atributos XSL:
    <xsl:stylesheet xmlns:xsl=“http://www.w3.org/TR/WD-xsl”>
  • Para utilizar una hoja de estilos XSL en un documento, se utiliza la instrucción de procesamiento xml-stylesheet:
    <?xml-stylesheet type=“text/xsl” href=“estilo.xsl”>
  • El elemento utilizado en la hoja de estilos para realizar las transformaciones, es la plantilla.

Plantillas

  • Establece las transformaciones a realizar en el documento.
  • Se definen utilizando el elemento xsl:template.
  • A través del atributo match, se establece el patrón.
  • El patrón indica la rama del árbol XML sobre la que se aplica la plantilla.
  • El atributo name que dará nombre a la plantilla para poder ser invocada desde la instrucción
    <xsl:call-template name=nombre_de_plantilla>
  • Para seleccionar el árbol del documento completo, se utiliza el patrón raíz (/): <xsl:template match=“/”>
    instrucciones de plantilla
    </xsl:template>
  • Las instrucciones de plantilla indican la transformación a realizar sobre el patrón. Este ejemplo, transforma el elemento nombre en su valor con formato título:
    <xsl:template match=“nombre”>
    <h2><xsl:value-of/><h2>
    </xsl:template>

XPATH

  • Otros caracteres empleados para la construcción de patrones son:
      • . Nodo actual
      • .. Primario del nodo actual
      • | Alternativas (nombre|apellido)
      • // Hace que coincidan los descendientes en vez de los secundarios
      • * Comodín; hace que coincidan todos los elementos
      • @ Selección de atributo
      • [] Filtro para afinar
      • $all$ Todos los nodos deben de cumplir condición
      • $any$ Algun nodo debe de cumplir la condición

Operadores

    • and
    • or
    • not()
    • =
    • !=
    • < $lt$
    • <= $ile$
    • > $gt$
    • >= $ige$

Elementos de plantilla

  • Se utilizan para construir las instrucciones de plantilla.
  • Pertenecen al vocabulario XSLT, definido en el espacio de nombres XSL.
  • Los más utilizados son:
    • xsl:value-of
    • xsl:if
    • xsl:for-each
    • xsl:apply-templates
    • xsl:choose
    • xsl:output
    • xsl: include

EJEs (Axes)

  • Un eje especifica la relación dentro de un árbol que existe entre los nodos seleccionados y el nodo contexto.
  • Sintaxis
    eje:: nodo de comprobación [predicados]
    ejemplo
    child::cliente[attribute::NIF =“53343246X”]

Ejes existentes

  • ancestor*   Antecesores del nodo contexto
  • attribute   Atributos del nodo contexto
  • child   Contiene los ojos de nodo contexto
  • descendent*   Todos los descendientes de nodo contexto
  • parent   Contiene el padre de nodo contexto
  • self   Contiene nodo contexto
  • namespace   El namespace del nodo contexto
* llevan -or-self para incluirse en el grupo

xsl:value-of

  • Inserta el valor de un elemento o atributo en la salida resultante.
  • En el caso de que se utilice en una plantilla cuyo patrón contiene nodos secundarios, puede utilizarse el atributo select para seleccionar el atributo o subelemento cuyo valor se va a utilizar:

    xsl:value-of

xsl:apply-templates

  • Aplica, en el lugar donde aparece, la plantilla definida para el elemento indicado en el atributo select.

    xsl:apply-templates

  • apply-templates aparece en el contexto de etiquetas de marcado HTML, para indicar que en ese punto del documento, se aplicará la transformación definida para un elemento del documento XML.

xsl:if

  • Aplica una serie de instrucciones si se cumple la condición establecida en el atributo test:

    xsl:if

  • condición es una cadena de caracteres con la estructura:
    “elemento operador valor”

    xsl:if

xsl:for-each

  • Se utiliza para recorrer los elementos de un documento, y realizar una serie de operaciones con los mismos.
  • El atributo select, determina que elementos se van a recorrer.

    xsl:for-each

  • También puede llevar el atributo order-by, para ordenar los datos procesados por el bucle.

    xsl:for-each

xsl:choose

  • Permite seleccionar entre varias opciones, estas se establecen mediante <xsl:when>:

    xsl:choose

  • El formato de xsl:when es el mismo que el de xsl:if.
  • Si no se cumple ninguna condición xsl:when, se ejecutará xsl:otherwise:

    xsl:choose

  • En el siguiente ejemplo, se muestra un documento (addressBook.xml), su hoja de estilos (addressbook.xsl) y su visualización en el IE5.0:

Ejemplo de xsl:choose

Ejemplo de xsl:choose

Ejemplo de xsl:choose

Ejemplo de xsl:choose

Resultado del ejemplo de xsl:choose

Ejercicio

Dado el siguiente documento xml:

Ejercicio de hojas de estilo XSL

Ejercicio de hojas de estilo XSL

Diseñar una hoja de estilo que genere el siguiente resultado:

Resultado del ejercicio de hojas de estilo XSL

La solución es:

Solución del ejercicio de hojas de estilo XSL
Solución del ejercicio de hojas de estilo XSL

Transformación del documento en el servidor.

  • Realizando la transformación del documento en el servidor, es posible generar HTML que pueda ser visible desde cualquier plataforma.
  • Esto permite, por ejemplo, personalizar la presentación de los documentos mediante la utilización de distintas hojas de estilo.
  • Transformación del documento en el servidor

    Transformación del documento en el servidor

··> Ver todos los cursos
··> Si necesitas más información, contáctanos aquí
 
 
 
Sello de Calidad   Sello de Calidad
  EXES - C/ Albasanz, 14 Bis, 1-C. 28037 Madrid - Tel: 902 360 417 Fax: 902 931 305 - exes@exes.es