RE: [xsl] Use XSL:Variable

Subject: RE: [xsl] Use XSL:Variable
From: "Paulo Mendes Pinto" <paulo.pinto@xxxxxxx>
Date: Tue, 1 Feb 2005 15:48:42 -0000
Hummmm

In my CONTROL node I have the Extentions of the file and in my ObjectIndex
Node a want to concatenate it to the file name (without extention).

I have to put in one variable the value read in the CONTROL node and
concatenate with the file name in ObjectIndex Node.


Try to explain in Portuguese:
No ns de Control tenho definido a extensco dos ficheiros e quando aplico um
template ao ns ObjectIndex quero que, ao nome do ficheiro aqui definido, seja
concatenado a extensco que foi lida no ns de CONTROL.

Falaste que as variaveis sco mais usados para contas matematicas... sera que
podemos guardar um valor num template e usar noutro template?

Tkx in avance



PMP

> -----Original Message-----
> From: Antsnio Mota [mailto:amsmota@xxxxxxxxx]
> Sent: terga-feira, 1 de Fevereiro de 2005 15:36
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Re: [xsl] Use XSL:Variable
>
> 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.pinto@xxxxxxx> wrote:
> > Obrigado Antsnio.
> >
> > 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 i sempre interessante.... um abrago
> >
> > PMP
> >
> > > -----Original Message-----
> > > From: Antsnio Mota [mailto:amsmota@xxxxxxxxx]
> > > Sent: terga-feira, 1 de Fevereiro de 2005 15:16
> > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > > Subject: Re: [xsl] Use XSL:Variable
> > >
> > > Ora viva, i 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.pinto@xxxxxxx> 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 Integragco de Servigos e Tecnologia, S.A.
> > > > Tel.(+351)21 092 56 28
> > > > Fax.(+351)21 092 56 29

Current Thread