Re: [xsl] Re: Method for delimiting template results

Subject: Re: [xsl] Re: Method for delimiting template results
From: Ted Stresen-Reuter <tedmasterweb@xxxxxxx>
Date: Wed, 5 Mar 2003 16:06:09 -0600
Thanks for the reply. Upon reflection, I realized that I had the solution and then saw your email. However, I also realized that this particular solution won't work if my checkbox elements are inside of a TABLE element (and they are) because the context for the position() and last() is the enclosing TD element.

Any suggestions on how I can "globalize" the context short of doing two passes on the xml source (to reduce it to, say, just the FORM element)?


On Wednesday, March 5, 2003, at 03:53 PM, Dimitre Novatchev wrote:

Hi Ted,

The following transformation produces the wanted result. Note the use

<xsl:stylesheet version="1.0"

  <xsl:output method="text" />
  <xsl:strip-space elements="*"/>

     <xsl:template match="/">

     <xsl:template match="input[@type = 'checkbox']">
       <xsl:value-of select="@name" />
       <xsl:if test="not(position() = last())">,</xsl:if>


When applied on this source.xml:

  <input type="checkbox" name="first"/>
  <input type="checkbox" name="second"/>
  <input type="checkbox" name="third"/>

The result is:



Dimitre Novatchev. -- the home of FXSL

"Ted Stresen-Reuter" <tedmasterweb@xxxxxxx> wrote in message news:3B94301D-4F4E-11D7-92A9-00039315D01C@xxxxxxxxxx

Periodically I have a need to delimit the output from a template.

In PHP I push all the variables onto an array and then "join" them with
a ", " into a string. Works great.

In XSLT I would start by using the following:

     <xsl:template match="/">array(<xsl:apply-templates
     <xsl:template match="input[@type = 'checkbox']">"<xsl:value-of
select="@name" />"</xsl:template>

The problem here, however, is that the result would consist of:
array("fist""second""third") and what I want is:

Any suggestions on how to do that in XSLT?


XSL-List info and archive:

XSL-List info and archive:

XSL-List info and archive:

Current Thread