[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: update value of variable in for-each loop

Subject: Re: update value of variable in for-each loop
From: henry human <henry_human@xxxxxxxx>
Date: Tue, 8 Apr 2014 21:18:58 +0100 (BST)
Re:  update  value of variable in for-each loop
sorry Michael, David
I was little bustling!
 hope this below is more clear now.
The varable value should be updated



     <xsl:variable name="foo"/>
 <xsl:for-each select=bpartiotion/files/file[@name=bxxb or name=bxyb
or name=basdb or  b&b&b&.. b>
       <xsl:variable name="foo">
                     <xsl:for-each select="data">
                         <xsl:choose>
                             <xsl:when test="contains(elements/elementA '1234)
or contains(elements/package/id '55) or contains(elements/category/id, '67)"
or contains(b&b&b&b&.">

                                 <xsl:value-of select="1"/>
                             </xsl:when>
                             <xsl:otherwise>
                                 <xsl:value-of select="0"/>
                             </xsl:otherwise>
                         </xsl:choose>
                     </xsl:for-each>
                </xsl:variable>



                         <xsl:choose>
                             <xsl:when test="$foo = 1">

                                //doSomething
                             </xsl:when>
                             <xsl:otherwise>
                                 //doNothing
                             </xsl:otherwise>
                         </xsl:choose>
     </xsl:for-each
--------------------------------------------
Michael Kay <mike@xxxxxxxxxxxx> schrieb am Di, 8.4.2014:

 Betreff: Re:  update  value of variable in for-each loop
 An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
 Datum: Dienstag, 8. April, 2014 21:56 Uhr

 What are you actually
 trying to achieve? If you simply want to test whether one of
 the elementA elements contains "1234", you can
 write

 <xsl:if
 test="elements/elementA[contains(.,
 '1234')]">
 B B B ...
 </xsl:if>

 But I can't tell if that's what you are
 trying to do because you don't say. You've been
 using this list long enough to know that most of us have
 difficulty reverse-engineering requirements from non-working
 code.

 Michael Kay
 Saxonica


 On 8
 Apr 2014, at 20:13, henry human <henry_human@xxxxxxxx>
 wrote:

 > Hi
 > I have a for-each loop
 > inside for-each I try to test a
 variable:
 > //if statement
 > <xsl:if test="$foo =
 1">
 > //do nothing
 >
 >
 >
 > The varibale
 definition:
 > B B B  <xsl:variable
 name="foo"/>
 > B B B  B B B 
 <xsl:variable name="foo">
 > B B B  B B B  B B B  B B B  B B B 
 <xsl:for-each select="data">
 > B B B  B B B  B B B  B B B  B B B  B B B 
 <xsl:choose>
 > B B B  B B B  B B B 
 B B B  B B B  B B B  B B B  <xsl:when
 test="contains(elements/elementA
 '1234)">
 >
 > B B B  B B B  B B B  B B B  B B B  B B B 
 B B B  B B B  <xsl:value-of select="1"/>
 > B B B  B B B  B B B  B B B  B B B  B B B 
 B B B  </xsl:when>
 > B B B  B B B 
 B B B  B B B  B B B  B B B  B B B  <xsl:otherwise>
 > B B B  B B B  B B B  B B B  B B B  B B B 
 B B B  B B B  <xsl:value-of select="0"/>
 > B B B  B B B  B B B  B B B  B B B  B B B 
 B B B  </xsl:otherwise>
 > B B B 
 B B B  B B B  B B B  B B B  B B B  </xsl:choose>
 > B B B  B B B  B B B  B B B  B B B 
 </xsl:for-each>
 > B B B  B B B 
 B B B  B B B  </xsl:variable>
 >
 B B B  B B B  B B B  B B B 
 > B B B 
 B B B  B B B  B B B 
 > B B B  B B B 
 B B B  B B B 
 > Unfortunatelly the value
 of the varable foo is either 001 , 011,00011 and so one and
 the if statement works never correctB  !
 > I even defined the varable as a xs:integer
 type or as below , but ever the value is never a 1B  orB 
 0
 >
 >
 <xsl:variable name="foo"B 
 select='1'"/>
 > B B B 
 B B B  <xsl:variable name="foo">
 > B B B  B B B  B B B  B B B  B B B 
 <xsl:for-each select="data">
 > B B B  B B B  B B B  B B B  B B B  B B B 
 <xsl:choose>
 > B B B  B B B  B B B 
 B B B  B B B  B B B  B B B  <xsl:when
 test="contains(elements/elementA,
 '1234)">
 >
 > B B B  B B B  B B B  B B B  B B B  B B B 
 B B B  B B B  <xsl:value-of
 select="'1'"/>
 >
 B B B  B B B  B B B  B B B  B B B  B B B  B B B 
 </xsl:when>
 > B B B  B B B  B B B 
 B B B  B B B  B B B  B B B  <xsl:otherwise>
 > B B B  B B B  B B B  B B B  B B B  B B B 
 B B B  B B B  <xsl:value-of
 select="'0'"/>
 >
 B B B  B B B  B B B  B B B  B B B  B B B  B B B 
 </xsl:otherwise>
 > B B B  B B B 
 B B B  B B B  B B B  B B B  </xsl:choose>
 > B B B  B B B  B B B  B B B  B B B 
 </xsl:for-each>
 > B B B  B B B 
 B B B  B B B  </xsl:variable>
 >
 B B B  B B B  B B B  B B B 
 > Brg
 > Henry

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.