Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

berkowitz

xml + xsl

Recommended Posts

Pessoal, olá.

 

Não tenho muitos conhecimentos de utilização do XML com XSL, e estou com dificuldades na criação e utilização de variáveis.

 

No meu doc XML criei um elemento chamado COR, que está dentro do elemento LABEL.

O que acontece é que preciso utilizar o valor deste elemento eu um outro local, e não estou conseguindo.

Estou tentando por forma de variável, mas não sei como fazer. Alguém pode me dar uma força por favor?

 

Meu código XSL está assim:

 

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/sch/tabelaPostos">

<table border="1" cellspacing="2" cellpadding="0" width="650" bgColor="#FFFFFF" borderColor="#CCCCCC" style='border-collapse: collapse;'>

<tr>

<!-- == Título == -->

<td colspan="10" class="tituloAzul" style='padding: 12px; text-align: center;'><xsl:value-of select="titulo" /></td>

</tr>

<tr style='padding: 5px; background-color: #FFFFD2;'>

<!-- == Linha dos títulos == -->

<xsl:for-each select="linhas/linha/label">

<xsl:variable name="corFundo">

<xsl:value-of select="cor" />

</xsl:variable>

<td style='background-color: {cor}; font-weight: bolder; text-align: center;'>

<xsl:value-of select="texto" />

</td>

</xsl:for-each>

</tr>

<!-- == Conteúdos == -->

<xsl:for-each select="linhas/linha">

<tr style='padding: 5px; background-color: {$corFundo};'>

<td><xsl:value-of select="post" /></td>

<td><xsl:value-of select="end" /></td>

<td><xsl:value-of select="vendaComum" /></td>

<td><xsl:value-of select="vendaVt" /></td>

<td><xsl:value-of select="vendaEstud" /></td>

<td><xsl:value-of select="recComum" /></td>

<td><xsl:value-of select="recVt" /></td>

<td><xsl:value-of select="recEstud" /></td>

</tr>

</xsl:for-each>

</table>

</xsl:template>

</xsl:stylesheet>

 

O que está em destaque é a variável que estou criando.

 

Valew galera!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae galera, não tem ninguem que saca de xml frequentando o fórum não??

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, variáveis em xsl são estáticas... você só pode aplicar um valor e somente uma vez, especificamente ao declarar a váriável.não sei o por que de se noemar isto como variável, já que não se comporta como uma, mas é assim que ela funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O papai aqui começou a estudar xml.

 

Corrigindo o primeiro pedaço em vermelho (a parte em que você define a variável):

<xsl:variable name="corFundo" select="cor" />

Corrigindo a parte em que você usa a variável:

<!-- O seu código original --><tr style='padding: 5px; background-color: {$corFundo};'><!-- comé que eu sugiro fazer: --><tr>  <xsl:attribute name="style">	padding: 5px; background-color:<xsl:value-of select="$corFundo" />;  </xsl:attribute> </tr>

Lembrando que to iniciando agora e não deu pra eu testar pois você não postou seu xml. Posta aí...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.