Question : xslt loop on a semicolon seperated list

I will have a value that is a semi colon delimited string.
<xsl:value-of select="@Keyword"/>

keyword1;keyword2;keyword3

I want something in my xslt that will look and create list items out of the values that are seperated by semi-colons.

So
keyword1;keyword2;keyword3

Would be
<ul>
  <li>keyword1</li>
  <li>keyword2</li>
  <li>keyword3</li>
</ul>

Thanks

Answer : xslt loop on a semicolon seperated list

mmh, am I wrong in assuming you are a real beginner?

templates can not be nested
you should put them next to each-other

This sounds like sharepoint, is it?
So you are bound to XSLT1, you cannot use tokenize() then

Here is how you should organize the templates
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
    <xsl:template name="dvt_1.rowview">
        <tr>
            <td>			
                <table border="1" cellspacing="0" width="100%">
                    <tr>
                        <td>
                            Title: <xsl:value-of select="@Title"/><br />
                            Description: <xsl:value-of select="@KpiDescription"/><br />
                            Keyword: <br />
                            <ul>
                                <xsl:call-template name="splitter">
                                    <xsl:with-param name="str" select="@Keyword"/>
                                    <xsl:with-param name="sep" select="';'"/>
                                </xsl:call-template>
                            </ul>
                        </td>
                    </tr>
                </table>
            </td>
        </tr>
    </xsl:template>
    
    <xsl:template name="splitter">
        <xsl:param name="str"/>
        <xsl:param name="sep"/>
        <xsl:choose>
            <xsl:when test="contains($str, $sep)">
                <li><xsl:value-of select="substring-before($str, $sep)"/></li>
                <xsl:call-template name="splitter">
                    <xsl:with-param name="str" select="substring-after($str, $sep)"/>
                    <xsl:with-param name="sep" select="$sep"/>
                </xsl:call-template>
            </xsl:when>
            <xsl:otherwise>
                <li><xsl:value-of select="$str"/></li>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>
Random Solutions  
 
programming4us programming4us