Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/01/2004, 07:32
Avatar de Helbira
Helbira
 
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 23 años, 5 meses
Puntos: 5
Variable en una etiqueta fo

Debido a que una etiqueta fo del tipo <fo:block> no admite el atributo class para poder tener centralizado el diseño de una página se me ocurrió usar una variable por cada clase que definiría en una hoja de estilos .css de la siguiente forma:

Código PHP:
<xsl:variable name="titulodestacado" select="font-family='Verdana, Arial, Helvetica, sans-serif' font-size='12pt' color='#444343' text-transform='uppercase' font-weight='bold'"/>

<
xsl:variable name="resumendestacado" select="font-family='Verdana, Arial, Helvetica, sans-serif' font-size='10pt' color='#444343' text-decoration='none' text-align='justify'"/>

<
xsl:variable name="fechaPub" select="font-family='Verdana, Arial, Helvetica, sans-serif' font-size='10pt' color='#444343' font-weight='bold' text-align='right'"/>

<
xsl:variable name="parrafo" select="font-family='Verdana, Arial, Helvetica, sans-serif' font-size='10pt' color='#444343' text-decoration='none' text-align='justify'"/> 
De esta forma, cuando defina cada uno de los templates para cada una de mis etiquetas xml en el xslfo tendría algo así:


Código PHP:
<xsl:template match="titulo">
   <
fo:block>
      <
xsl:apply-templates/>
   </
fo:block>
</
xsl:template>

<
xsl:template match="resumen">
   <
fo:block>
      <
xsl:apply-templates select="texto"/>
   </
fo:block>
</
xsl:template>

<
xsl:template match="fechaPublicacion">
   <
fo:block>
      
Andalucia, <xsl:apply-templates/>
   </
fo:block>
</
xsl:template
Mi pregunta es como puedo asignar dentro de cada etiqueta <fo:block> el valor de cada una de mis variables según corresponda.

Creía que con hacer

Código PHP:
<xsl:template match="titulo">
   <
fo:block {$titulodestacado}>
      <
xsl:apply-templates/>
   </
fo:block>
</
xsl:template>

<
xsl:template match="resumen">
   <
fo:block {$resumendestacado}>
      <
xsl:apply-templates select="texto"/>
   </
fo:block>
</
xsl:template>

<
xsl:template match="fechaPublicacion">
   <
fo:block {$fechaPub}>
      
Andalucia, <xsl:apply-templates/>
   </
fo:block>
</
xsl:template
sería suficiente pero no . Parece que tengo que asignar el valor de la variable a algún atributo para que me funcione esa forma de asignación.

Alguna sugerencia o tutorial del manejo de variables en XSL?

Un beso