[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] Substring Misunderstood?


Subject: RE: [xsl] Substring Misunderstood?
From: "Tim Watts" <timw@xxxxxxx>
Date: Fri, 4 May 2001 17:26:32 +1000

Hi Robin,

<xsl:if test="substring($idvalue,1)='1_1'">
is identical to
<xsl:if test="$idvalue = '1_1'">
as the substring starts at the first charactor, and continues the full
length of the string.

If the the $idvalue doesn't equal that id, then $idStr will end up being
empty.
Is that what you wanted?  If the &#160; are the indents for each line, only
id 1_1 will be indented.

The template should go through each of the employee nodes and give the
following for each

<div align="left">&#160;&#160;1_1Jo Bloggs - Manager</div>
OR
<div align="left">Jill Horne - Sales</div>

Prehaps you would like line breaks between each div (<br/>)

Tim

-----Original Message-----
From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
[mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Robin Samways

I am trying to use substring to return a string from a variable which gets a
new value after each pass through a sorted list.  As follows:

<xsl:template match="employee">

  <xsl:variable name="idvalue" select="id"/>

  <xsl:variable name="idStr">
    <xsl:if test="substring($idvalue,1)='1_1'">
      &#160;&#160;<xsl:value-of select="id"/>
    </xsl:if>
  </xsl:variable>

  <div align="left">
    <xsl:value-of select="$idStr"/>
    <xsl:value-of select="name"/> - <xsl:value-of select="position"/>
  </div>

</xsl:template>

I had expected to get several lines of indented divs but instead I only get
one!

Am I missing something?


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



Current Thread