xsl-list
[Top] [All Lists]

[xsl] AVT retrieves whole nodeset instead of the required single node

2012-11-21 10:11:20
<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.

--~------------------------------------------------------------------
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>