Equipos Programas Media Internet Telecomunicaciones Seguridad Base de Datos Programación Calidad Desarrollo Empresa

Tutorial: El lenguaje XSLT

Tabla de Contenido

  1. Introducción a XSL
  2. XSL Conceptos
    1. Particularidades del documento XSL
  3. XSL Sintaxis
    1. El documento XSL
    2. Tipos de documento XSL
    3. Elementos Simples
    4. Elementos Compuestos

Contenido

  • Introducción a XSL

    XSL (Extensible Style Language)

    • XSL es un lenguaje que especifica el estilo y forma de los documentos xml.
    • Una hoja de estilo XSL especifica la representación de una clase de documento XML, describiendo como una instancia de dicha clase es transformada en un documento XML que usa el vocabulario de formateo.
    • A una hoja de estilo XSL se le puede añadir una hoja de estilo en cascada CSS, en la que se pueden definir colores, fuentes, fondos, texto, etc. Así se consigue separar la forma de presentación(XSL) del estilo superficial (CSS).


    • El lenguaje XSL consiste en tres partes:
      • Transformaciones XSL (XSLT). Lenguaje para transformar documentos XML.
      • Lenguajes de path (ruta) XML (XPath). Lenguaje usado por XSLT para acceder o referirse a partes de un documento XML. (También es usado por la espacificación de XML linking.
      • Objetos de formateo XSL (Formating objects). Vocabulario XML para especificar semánticas de formateo.

    • Por ejemplo:
  • XSL Conceptos

    • Particularidades del documento XSL

      Particularidades

      • La hoja de estilo de los archivos XML:
        • Indica la estructura con la que debe mostrarse el archivo XML.
        • Da formato al XML (aplica negrita, titulares, etc.)
        • Transforma el XML a otros formatos (HTML, DOC, PDF, etc) o a otro XML.
        • Maneja el contenido de los datos XML (ordenándolos por distintos criterios, haciendo operaciones con ellos, etc.)


      • XSL es al XML lo que el CSS al HTML, pero es mucho más potente.
      • Está escrito como un documento XML, por lo que tiene las particularidades de este (tags propios, cerrados, etc.)
      • Al igual que el XML, el XSL es un estándar.


      • Dentro del xSL se engloban otros lenguajes que son necesarios para desarrollar el estilo y transformación del lenguaje XML:
        • XSLT (Transformaciones XSL). Usado para hacer las transformaciones del XML a otros XML o a otro tipo de documentos (HTML, DOC, etc.)
        • XPath (Lenguaje de rutas). Define las zonas o los patrones en el XML.
        • XSL-FO (Formateo de objetos XML). Define como se mostrará el XML.


        • ¿Como funciona el XSL?
          • Mediante el XPath, XSLT identifica las partes del documento XSL que coinciden con patrones determinados.
          • Entonces XSLT realiza la transformación de esos datos y muestra el resultado.
  • XSL Sintaxis

    • El documento XSL

      ¿Que debe tener un documento XSL?

      • Una primera línea que indica que se trata de un documento XML y la codificación que este tiene.
        • <?xml version='1.0' encoding='ISO-8859-1'?>

      • Una referencia al documento XSL que le da el formato/transformación (si lo tiene):
        • <?xml-stylesheet type='text/xsl' href='xslejemplo.xsl'?>

      • El contenido:
        <Pag>
          <Titulo>Esta es la página HTML de la que partimos</Titulo>
          <PagDesc>Este HTML será el que transformemos a XML</PagDesc>
            <PersonaLista>
              <Persona>
                <Nombre>Ana</Nombre>
                <Apellido>López</Apellido>
              </Persona>
            
              <Persona>
                <Nombre>Teresa</Nombre>
                <Apellido>Trujillo</Apellido>
              </Persona>
            </PersonaLista>
        </Pag>
        
    • Tipos de documento XSL

      Los tipos

      • Según las transformaciones que realicen los XSL pueden ser:
        • De transformación XML a HTML.
        • De transformación XML a XML.
        • De transformación XML a texto.
        • De transformación XML a PDF.
        • etc.

      Estructura del Documento XSL de XML a HTML

      • Generalmente, los elementos xsl van anidados dentro de etiquetas html.
        • <xsl:stylesheet 
          xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
          version='1.0'>
          
          <xsl:output='html'>
          
            <!-- template principal -->
            <xsl:template match='/'>
               <html>
                 <body class='page'>
                   <xsl:apply-templates/>
                 </body>
               </html>
            </xsl:template>
          
            <!-- otros template secundarios -->
            <xsl:template match='/'>
            ...........
            </xsl:template>
          

      Estructura del Documento XSL de XML a XML

      • No hay etiquetas html
        • <xsl:stylesheet 
          xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
          version='1.0'>
          
          <xsl:output='xml'>
            <!-- template principal -->
            <xsl:template match='/'>
              <xsl:apply-templates/>
            </xsl:template>
            
            <!-- otras template secundarias -->
            <xsl:template match='/'>
              ...........
            </xsl:template>
          

      Estructura del Documento XSL de XML a Texto

      • No hay etiquetas html
        • <xsl:stylesheet 
          xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
          version='1.0'>
          
          <xsl:output='text'>
            <!-- template principal -->
            <xsl:template match='/'>
              <xsl:apply-templates/>
            </xsl:template>
            
            <!-- otras template secundarias -->
            <xsl:template match='/'>
              ...........
            </xsl:template>
          

      Estructura del Documento XSL de XML a PDF

      • Estructura básica del XSL-FO
      • Notas: El texto que se escriba directamente en la hoja sale en la salida y entre las etiquetas xml o html, si estas aparecen en la salida.
    • Elementos Simples

      El elemento simple

        Por ejemplo:

        <xsl:value-of select='apellido' />

        • nombre del elemento: xsl:value-of
        • nombre del atributo: select
        • valor del atributo: apellido
        • valor del texto: ninguno
    • Elementos Compuestos

      El elemento compuesto

        Por ejemplo:

        <xsl:for-each select='*'>Elemento Compuesto<xsl:for-each>

        • nombre del elemento: xsl:for-each
        • nombre del atributo: select
        • valor del atributo: *
        • valor del texto: Elemento Compuesto, es decir, todo lo que existe entre las etiquetas de comienzo y terminación de este elemento. Este texto puede incluir otras etiquetas anidadas, que para este elemento son puro texto.


      • El valor del atributo es una expresión compuesta de:
        • Axi

          expresion

          filtro

        Por ejemplo:

        aaa::apellido[1].cc


Página generada automáticamente desde la Base de Datos: XSLT/ el 28/3/2008 15:48:28