Click to See Complete Forum and Search --> : how to do it in xslt?


newtoxml
10-31-2003, 06:43 PM
I have an xml file looks like this:

<root>
<L1>a</L1>
<L2>b
<L3>c</L3>
</L2>
</root>

In my xslt file, I do a template match to get to <L3>

<xsl:template match="L2/L3">
need to use the value of L1.
</xsl:template>

Assuming that I get to the node of L3. Now, my question is, how do I get the value of L1 inside of the that match template? Is there a global variable or something in xslt so I can store the L1's value in that global variable and use it in the match template?

Can anyone tell me how I can do this in xslt? Please give me some details because I am still learning this stuff :-)

Thanks in advance.

Khalid Ali
11-02-2003, 09:39 AM
You can forward a variable to a template.
using the following syntax

<xsl:call-template name = "templateName"> <xsl:with-param name = "varName" select = "elementName"/>
</xsl:call-template>

paps
11-06-2003, 06:47 PM
heres an example of using variables in XSL...

<body>
<xsl:variable name="bookCount" select="count(//book)"/>
<xsl:variable name="bookTotal" select="sum(//book/price)"/>
<xsl:variable name="bookAverage" select="$bookTotal div $bookCount"/>
<table border="1">
.
.
.
.
.
.
<td align="right">
<xsl:value-of select="format-number($bookAverage, '#.00')"/>
</td>

HTH... :D