xsl-list
[Top] [All Lists]

Re: [xsl] update value of variable in for-each loop

2014-04-08 14:56:28
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')]">
   ...
</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(_at_)yahoo(_dot_)de> 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:
      <xsl:variable name="foo"/>
              <xsl:variable name="foo">
                                      <xsl:for-each select="data">
                                              <xsl:choose>
                                                      <xsl:when 
test="contains(elements/elementA '1234)">

                                                              <xsl:value-of 
select="1"/>
                                                      </xsl:when>
                                                      <xsl:otherwise>
                                                              <xsl:value-of 
select="0"/>
                                                      </xsl:otherwise>
                                              </xsl:choose>
                                      </xsl:for-each>
                              </xsl:variable>
                              
                              
                              
Unfortunatelly the value of the varable foo is either 001 , 011,00011 and so 
one and the if statement works never correct  !
I even defined the varable as a xs:integer type or as below , but ever the 
value is never a 1  or  0

<xsl:variable name="foo"  select='1'"/>
              <xsl:variable name="foo">
                                      <xsl:for-each select="data">
                                              <xsl:choose>
                                                      <xsl:when 
test="contains(elements/elementA, '1234)">

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

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



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