Hi:
It was fourth time for me to post this question and
I hope no reject this time.
I found several people asked the same question with me
"Re: [xsl] how to increment a variable in a for-each
loop" but it really didn't resolve my problems. So
just wonder could I get help ? I spent lots of time on
it and can't get solution!
My xml file
<root>
<list>
<ID>21</ID>
<Title>text1</Title>
<ParentID>1<ParentID>
</list>
<list>
<ID>22</ID>
<Title>text2</Title>
<ParentID>21<ParentID>
</list>
<list>
<ID>23</ID>
<Title>text3</Title>
<ParentID>21<ParentID>
</list>
<list>
<ID>24</ID>
<Title>text4</Title>
<ParentID>21<ParentID>
</list>
<list>
<ID>25</ID>
<Title>text5</Title>
<ParentID>1<ParentID>
</list>
</root>
What I want do: I need do different thing for the
node which parentID is 21(by passing in )(exampel:If
it is first child then I need bold. if not first and
not last one then I need do second thing. If the node
is last child then I need do third things.
I try to use the call:template and xsl:for each to
pass the parameter but the count is always set to
initial since I run so many for each
what I shoud do ?
My code
<xsl:template match="root">
<xsl:for each select="list">
<xsl:if test="parented =1">
<xsl:call-template name= ¡°findChildNode¡±>
<xsl:with-param name=¡±ID¡± select="ID¡±/>
</xsl:call-template>
</xsl:for-each>
</xsl:template>
<xsl:template name="findChildNode¡±>
<xsl:param name="ID¡±>
<xsl:param name="count¡± select="0¡±/>
<xsl:for-each select="../list¡±>
<xsl:if test="parentID=$ID¡±>
<xsl:call-template name="formatChild¡±>
<xsl:with-param name="count" select="$count+1¡±/>
</xsl:if>
</xsl:for each>
</xsl:template>
<xsl:template name="formatChid¡±>
<xsl:param name="count¡±>
<xsl:variable name="TotalChildCount¡± select=¡±?¡±/>
(Note: I don't know how I can get all child node count
based on the one parentID)
<xsl:choose>
<xsl:when test="$count=1¡±>do firsth thing</xsl:when>
<xsl:when test="$count > 1 and $count <
$TotalChildCount¡±>do second thing</xsl:when>
<xsl:when test="$count=$TotalCount¡±>do third
thing</xsl:when>
</xsl:choose>
</xsl:template>
Question:
1. Why every time the $count is 0 and never
incresement ?
2. How I can get the total child count value based
on the parent ID?
Thanks for any help
Helena
______________________________________________________________________
Post your free ad now! http://personals.yahoo.ca
--~------------------------------------------------------------------
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>
--~--