Subject: AVT retrieves whole nodeset instead of the required single node
From: Ihe Onwuka <ihe.onwuka@xxxxxxxxx>
Date: Wed, 21 Nov 2012 16:11:07 +0000
|
<stuff>
<line>
<period>2005</period>
<period>2006</period>
<period>2007</period>
<period>2008</period>
</line>
<line>
<lineItem legend="ASSETS">
<yearlyFigures>
<figure year="1">6981</figure>
<figure year="2">6236</figure>
<figure year="3">5148</figure>
<figure year="4">7517</figure>
</yearlyFigures>
</lineItem>
</line>
</stuff>
I want to replace figure/@year with the year from the corresponding
period in the preceding line. So I wrote
<xsl:template match="yearlyFigures[figure/last() =
preceding::line/period/last()]/figure">
<figure year="{preceding::line/period[current()/@year]}">
<xsl:apply-templates/>
</figure>
</xsl:template
and get
<line>
<lineItem legend="ASSETS">
<yearlyFigures>
<figure year="2005 2006 2007 2008">6981</figure>
<figure year="2005 2006 2007 2008">6236</figure>
<figure year="2005 2006 2007 2008">5148</figure>
<figure year="2005 2006 2007 2008">7517</figure>
</yearlyFigures>
</lineItem>
</line>
Ultimately I will probably use a key to chain figures to periods but
for now I'd just like to know why the above doesn't just give me the
period that I want.
|