cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lionel Barth <lba...@hachette-livre.fr>
Subject Re: Urgent :break statement in xsl
Date Wed, 28 Jun 2006 08:24:30 GMT
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

deepakkumar.sahoo@tcs.com 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: deepakkumar.sahoo@tcs.com
> 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: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Mime
View raw message