xsl-list
[Top] [All Lists]

recursive counter not incrementing

2004-12-08 11:55:50
Essentially i'm trying to use recursion to implement a counter in this manner:
while counter != number_of_items_counted
  {  
    If there is any occurrance of item[counter] in the transaction list
        counter++;
  }

However, my output shows that my counter increments from 0 to 1 once
and only once.
(XML source at the bottom)
Thanks,
Chris

<xsl:key name="coupKey" match="frequent_item_sets/set" use="item"/>
<xsl:variable name="transitems1"
select="document('transactions.xml')//transaction[1]" />

<xsl:output method="html"/>

<xsl:template match="/">

    <xsl:variable name="set1"
select="key('coupKey',$transitems1/items/item[1])" />
    <xsl:variable name="set2" select="$transitems1/items" />

<xsl:call-template name="subset">
     <xsl:with-param name="s1" select="$set1"/>
     <xsl:with-param name="s2" select="$set2"/>
     <xsl:with-param name="itemcount" select="count($set1/item)"/>
     <xsl:with-param name="i" select="0"/>
</xsl:call-template>

<xsl:template name="subset">
     <xsl:param name="s1"/>
     <xsl:param name="s2"/>
     <xsl:param name="itemcount"/>
     <xsl:param name="i"/>
 
    <!-- $itemcount will be '3' -->
    <p><xsl:value-of select="$itemcount"/></p>
    <p><xsl:value-of select="$i"/></p>

   
  <xsl:if test="$i != $itemcount">

     <xsl:for-each select="$s1/item">
        <xsl:variable name="sub1" select="."/>

        <xsl:for-each select="$s2/item">
          <xsl:if test="$sub1 = . ">

           We have a match!

               <xsl:call-template name="subset">
               <xsl:with-param name="s1" select="$s1/item[following-sibling]"/>
               <xsl:with-param name="s2" select="$s2"/>
               <xsl:with-param name="itemcount" select="$itemcount"/>
               <xsl:with-param name="i" select="($i)+1"/>
               </xsl:call-template>

          </xsl:if>
        </xsl:for-each>
     </xsl:for-each>
    </xsl:if>
  </xsl:template>
</xsl:stylesheet>

---------------------------------
itemsets.xml:

<frequent_item_sets>
   <set id="1" coupon="50 cents">
         <item>Milk</item>
         <item>Butter</item>
         <item>Eggs</item>
  </set>
......

transactions.xml:

<transactions>
  <transaction>
    <customer>
        <name>Dan</name>
        <email>asdf(_at_)test(_dot_)com</email>
    </customer>
    <items total="$11.78">
        <item>Milk</item>
        <item>Butter</item>
        <item>SuperPretzel</item>
        <item>Paper Towel (Scott's)</item>
   </items>
</transaction>
......

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