Re: [xsl] grouping list items by attribute

Subject: Re: [xsl] grouping list items by attribute
From: Jon Gorman <jonathan.gorman@xxxxxxxxx>
Date: Wed, 5 Oct 2005 09:18:59 -0500
Ack, hit the send button a little early, sorry about that Lynn.  For
some reason Gmail occassionally focuses on the Send button and I don't
quite realize it.  In any case, my more complete code "hint"

> ie something like (not tested, and just here to provide some hints )
>
> <xsl:template name="processList">
> <xsl:param name="nodes" />
> <!-- some of your other stuff  and probably need a for loop that
> iterates over all the nodes-->
>
>       <xsl:choose>
>         <xsl:when test="@level &gt;= following-sibling::*[1]/@level">
>                      <xsl:apply-templates
> > select="$nodes/tx.li[1]" mode="in-list"/>
>              <xsl:call-template name="processList">
                <xsl:with-param name="nodes"
select="$nodes/tx.li[posiition() &gt; 1]"/>
</xsl:call-template>

>         </xsl:when>
>         <xsl:when test="@level &lt; following-sibling::*[1]/@level">
>           <xsl:apply-templates
>  select="tx.li[1]" />
<!-- use a variable here to get the value of the position of the next
list item that is of the same level as our current one -->
 <xsl:call-template name="new-list">
<xsl:with-param name="$nodes/tx.li[posiiton() &lt; $nextCurrent and
position() &gt; 1]"/>
</xsl:call-template>
<xsl:call-template name="processList">
   <xsl:with-param name="nodes" select="$nodes/tx.li[posiition() =
$nextCurrent]"/>
   </xsl:call-template>


Sorry about the email snaffu.  Of course, I don't know how great a
help my hints are.


Jon Gorman

Current Thread