xsl-list
[Top] [All Lists]

Re: Use XSL:Variable

2005-02-01 08:36:28
As i said you should explain what you want to do, giving examples of
XML and the XSL you have so far. Like this no one can help.

You must remember that variables aren't variable ;) , once you define
then you can not change their value. So you don't define in one place
and assign in another place. Variables in XSL are variables in the
mathematical sense, not in "placeholder" sense like in procedural
languages, like Java or VB...

I use vars all the time, you just have to be a little more specific...


On Tue, 1 Feb 2005 15:22:44 -0000, Paulo Mendes Pinto
<paulo(_dot_)pinto(_at_)dsts(_dot_)pt> wrote:
Obrigado António.

Something I've learn from you response: I have to define my variable in / and 
not in template.

If someone can post here examples of use of variable defined as global, 
assign in one template and  used in another, that will be nice.

Tkx in avance

Realmente ter tugas nestas listas é sempre interessante.... um abraço

PMP

-----Original Message-----
From: António Mota [mailto:amsmota(_at_)gmail(_dot_)com]
Sent: terça-feira, 1 de Fevereiro de 2005 15:16
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Use XSL:Variable

Ora viva, é sempre bom encontrar um compatriota :)

I'm not one of the lists experts, there are many people here who
really excels in this area, making this one of the most useful lists
i've seen. But i can point some obvious things.

First, there are no "tags" in XSL, XSL works on "nodes" not on "tags".
So you work by selecting nodes, apllying temnplates on then, etc...

Second your var

     <xsl:template match="ObjectFormat">
          <xsl:variable name="FileExtention"><xsl:value-of
select="@FileExtention"/></xsl:variable>
     </xsl:template>


exist only inside the template where you define it, so you can't use
it anywhere else. You'll have to define it  at the root level you want
it to be global. But it's not clear what you're trying to do, you
should post more info, along with examples of your XML . That template
like it is does nothing...

Fica bem...




On Tue, 1 Feb 2005 15:04:24 -0000, Paulo Mendes Pinto
<paulo(_dot_)pinto(_at_)dsts(_dot_)pt> wrote:
Hello

I'm new at this List and new in XSL and I have many problems 
understanding how
to do something.

I have a XML that I want to transform to in a CSV text file to import to 
Excel. Until
now I have the text file like I want with the char set that I want but 
there is
something that I want and I don't know how.

In my XML I have a CONTROL tag with some information that I will use in 
the other
tags. Some of the tags in CONTROL tag will concatenate with some tags along 
the rest
the XML.

I have to get some data from the CONTROL tag and save it in a variable 
and use to
concatenate with fields is another tag.

How can I do that? I was trying to do like this.

     <xsl:template match="CONTROL">
          <xsl:apply-templates/>
     </xsl:template>

     <xsl:template match="ObjectFormat">
          <xsl:variable name="FileExtention"><xsl:value-of
select="@FileExtention"/></xsl:variable>
     </xsl:template>

The FileExtention is an Attribute of Object Format tag in CONTROL.

<xsl:template match="ObjectIndex">
     <xsl:value-of select="@Code"/><xsl:text>;</xsl:text>
     <xsl:value-of select="@Description"/><xsl:text>;</xsl:text>
     <xsl:copy-of select="$FileExtention" /><xsl:text>|</xsl:text>
     <xsl:text>&#xD;&#xA;</xsl:text>
</xsl:template>

With this XSL I get an error:
Invalid variable referenceError in XPath expression. Invalid variable 
reference

How can I use this variable?

Tkx in advance

Paulo Aboim Pinto
Engenheiro de Produto
======================
DSTS - Desenvolvimento e Integração de Serviços e Tecnologia, S.A.
Tel.(+351)21 092 56 28
Fax.(+351)21 092 56 29

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>