Search code examples
xmlxsltxslt-2.0

XSLT Going through array value


Here is variable:

<xsl:variable name="WepNr" select="/*/DbResponse/ResultSet/Row[Cell[@name='ARTNR']=$ArtNr][Cell[@name='WEANR']=$WeaNr]/Cell[@name='WEPNR']"/>

It can return multiple values, so in that case it will output something like: 2 21 36 =3 values.

I try to go through them:

<xsl:for-each select="$WepNr">
    <LineNumber><xsl:value-of select="$WepNr"/></LineNumber>
</xsl:for-each>

but it just outputs same value 2 21 36 for three times:

<LineNumber>2 21 36</LineNumber>
<LineNumber>2 21 36</LineNumber>
<LineNumber>2 21 36</LineNumber>

How can I output 3 times like:

<LineNumber>2</LineNumber>
<LineNumber>21</LineNumber>
<LineNumber>36</LineNumber>

?


Solution

  • You're selecting the entire variable again inside the for-each.

    You probably want something like (untested):

    <xsl:for-each select="$WepNr">
        <LineNumber><xsl:value-of select="."/></LineNumber>
    </xsl:for-each>