This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Substring Misunderstood?
- To: <xsl-list at lists dot mulberrytech dot com>
- Subject: RE: [xsl] Substring Misunderstood?
- From: "Tim Watts" <timw at 3d3 dot com>
- Date: Fri, 4 May 2001 17:26:32 +1000
- Reply-To: xsl-list at lists dot mulberrytech dot com
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   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">  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@lists.mulberrytech.com
[mailto:owner-xsl-list@lists.mulberrytech.com]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'">
  <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