Está usted en Indice > Construcción > Lenguajes > XML > Manual de XML > Diseño de Hojas de estilos XSL
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

MANUAL DE XML

DISEÑO DE HOJAS DE ESTILOS XSL

Selección de valores individuales.

Manual XML

Ejemplo18:

Para la selección de valores individuales, extraidos de los nodos del árbol XML, debemos utilizar la instrucción "xsl:value-of", con ella podemos hacer referencia tanto a nodos, como variables, cálculos matemáticos, etc. Para el acceso a los nodos, debemos utlizar las expresiones Xpath previamente descritas:

  <xsl:value-of select="matricula/personal/dni"/>
              <xsl:value-of select="$valor"/>
              <xsl:value-of select="3+2"/>

Templates y el modificador " mode ".

Templates con nombre: este tipo de templates no se corresponden con ningún nodo del documento XML y sólo podemos invocarlos haciendo referencia a ellos directamente. Su sentencia de definición ya no incluye el atributo "match", sino que este se sustituye por "name". Podemos aumentar las funcionalidades de este tipo de templates pasandole parámetros. El siguiente ejemplo hace uso de la definición de templates por nombre y paso de parámetros:

Ejemplo 19:

Documento XML que usaremos como base:

<?xml version="1.0" encoding="ISO-8859-1"?>
              <test2>
                <titulo>Prueba de patrones XSL</titulo>
                <descripcion>Cuerpo del documento</descripcion>
              </test2>

Documento XSL que aplica los templates por nombre:

<?xml version="1.0" encoding="ISO-8859-1"?>
              <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
                <xsl:template match="test2">
                  <html>
                    <head>
                      <title><xsl:apply-templates select="titulo" mode="head"/></title>
                    </head>

                    <body>
                      <xsl:apply-templates/>
                      <xsl:call-template name="print">
                        <xsl:with-param name="in"><xsl:value-of select="/test2/titulo"/></xsl:with-param>
                      </xsl:call-template>
                    </body>
                  </html>
                </xsl:template>

                <xsl:template match="titulo" mode="head">
                  <xsl:value-of select="text()"/>
                </xsl:template>

                <xsl:template match="titulo">
                  <h1><xsl:value-of select="text()"/></h1>
                </xsl:template>

                <xsl:template match="descripcion">
                  <h3><xsl:value-of select="text()"/></h3>
                </xsl:template>

                <xsl:template name="print">
                  <xsl:param name="in">Nothing</xsl:param>
                  <i><xsl:value-of select="$in"/></i>
                </xsl:template>
              </xsl:stylesheet>

Resultado de la transformación:

<html>
              <head>
              <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
              <title>Prueba de patrones XSL</title>
              </head>
              <body>
                <h1>Prueba de patrones XSL</h1>
                <h3>Cuerpo del documento</h3>
                <i>Prueba de patrones XSL</i>
              </body>
              </html>




Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad




Cursos de Community Manager

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 04-02-2012 a las 10:31:00