[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Re: Method for delimiting template results

Subject: RE: Re: Method for delimiting template results
From: "Conal Tuohy" <conalt@xxxxxxxxxxxxxxx>
Date: Thu, 6 Mar 2003 11:34:58 +1300
xslt and apply checkbox
Perhaps you could try:

<xsl:apply-templates select=".//input[@type='checkbox']"/> ?

> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Ted
> Stresen-Reuter
> Sent: Thursday, 6 March 2003 11:06
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Re:  Re: Method for delimiting template results
> 
> 
> 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)?
> 
> Ted
> 
> On Wednesday, March 5, 2003, at 03:53  PM, Dimitre Novatchev wrote:
> 
> > Hi Ted,
> >
> > The following transformation produces the wanted result. 
> Note the use
> > position().
> >
> > <xsl:stylesheet version="1.0"
> >  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
> >
> >   <xsl:output method="text" />
> >   <xsl:strip-space elements="*"/>
> >
> >      <xsl:template match="/">
> >        array(<xsl:apply-templates/>)
> >      </xsl:template>
> >
> >      <xsl:template match="input[@type = 'checkbox']">
> >        <xsl:text>"</xsl:text>
> >        <xsl:value-of select="@name" />
> >        <xsl:text>"</xsl:text>
> >        <xsl:if test="not(position() = last())">,</xsl:if>
> >      </xsl:template>
> >
> > </xsl:stylesheet>
> >
> > When applied on this source.xml:
> >
> > <t>
> >   <input type="checkbox" name="first"/>
> >   <input type="checkbox" name="second"/>
> >   <input type="checkbox" name="third"/>
> > </t>
> >
> > The result is:
> >
> >        array("first","second","third")
> >
> >
> >
> > =====
> > Cheers,
> >
> > Dimitre Novatchev.
> > http://fxsl.sourceforge.net/ -- the home of FXSL
> >
> >
> > "Ted Stresen-Reuter" <tedmasterweb@xxxxxxx> wrote in message
> > news:3B94301D-4F4E-11D7-92A9-00039315D01C@xxxxxxxxxx
> >> Hi,
> >>
> >> 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>
> >>      <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:
> >> array("first","second","third")
> >>
> >> Any suggestions on how to do that in XSLT?
> >>
> >> Ted
> >>
> >>
> >>  XSL-List info and archive:  
> http://www.mulberrytech.com/xsl/xsl-list
> >>
> >>
> >
> >
> >
> >
> >  XSL-List info and archive:  
> http://www.mulberrytech.com/xsl/xsl-list
> >
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 
> 

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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.