Hi,

May be you can use a xsl:choose + xsl:when instead of xsl:if :

<xsl:variable name="daslcatagorypath" select="'/nos'"/>
<xsl:for-each select="details/dasl:query-result/dasl:resource">
        <xsl:choose>
<xsl:when test="d:resourcetype=''"> <xsl:variable name="daslfolderpath"><xsl:value-of select="@dasl:path"/></xsl:variable> <xsl:variable name="check" select="substring-after($daslfolderpath,$daslcatagorypath)"/>
       <xsl:if test="$check!='' and $counter='1'">
               <xsl:variable name="size" select="d:getcontentlength"/>
<xsl:variable name="kb-size" select="($size div 1000) - ($size mod 1000 div 1000)"/>
               <xsl:value-of select="$kb-size"/><xsl:text> </xsl:text>KB
               <xsl:variable name="counter" select="'0'"/>
       </xsl:if>
       </xsl:when>
       </xsl:choose>
</xsl:for-each>

In fact it does not break the loop but do nothing when the condition is not satisfied.

Regards,
Lionel

[EMAIL PROTECTED] a ecrit le 28/06/06 9:31:



Hi All,

I am facing a problem in xsl.I am not sure whether it is possible in xsl or not.


I have a <xsl:for-each> loop .I have a check condition in it.I want it to do something for the first time check condition is satisfied.After that it should not do anything.As i have a check condition in the loop i could not put [position=1] in the <xsl:for-each> loop.I tried with declaring a variable and decreamenting its value if the check condition is satisfied.But it is not happening.

Basically i want to break the <xsl:for-each>loop if one condition is satisfied. Below is the code.


<xsl:variable name="daslcatagorypath" select="'/nos'"/>
 <xsl:for-each select="details/dasl:query-result/dasl:resource">
<xsl:if test="d:resourcetype=''"> <xsl:variable name="daslfolderpath"><xsl:value-of select="@dasl:path"/></xsl:variable> <xsl:variable name="check" select="substring-after($daslfolderpath,$daslcatagorypath)"/>
        <xsl:if test="$check!='' and $counter='1'">
                <xsl:variable name="size" select="d:getcontentlength"/>
<xsl:variable name="kb-size" select="($size div 1000) - ($size mod 1000 div 1000)"/>
                <xsl:value-of select="$kb-size"/><xsl:text> </xsl:text>KB
                <xsl:variable name="counter" select="'0'"/>
        </xsl:if>
        </xsl:if>
</xsl:for-each>


Can anyone suggest me the solution for it.
Thanks
Regards,
Deepak Kumar Sahoo
Tata Consultancy Services Limited
Mailto: [EMAIL PROTECTED]
Website: http://www.tcs.com
ForwardSourceID:NT0000922A =====-----=====-----=====
Notice: The information contained in this e-mail
message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited. If you have received this communication in error, please notify us by reply e-mail or telephone and immediately and permanently delete the message and any attachments. Thank you



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to