xsl-list
[Top] [All Lists]

Re: [xsl] starts-with on more than one item

2008-05-30 16:11:22

glad you got it working, just one comment,

<xsl:choose>
        <xsl:when test="position()=last()">
                <xsl:value-of select="concat(', and ', ., '.')"/>
        </xsl:when>
        <xsl:when test="position()=1">
                <xsl:value-of select="concat(' ', .)"/>
        </xsl:when>
        <xsl:otherwise>
                <xsl:value-of select="concat(', ', .)"/>
        </xsl:otherwise>
</xsl:choose>


swap the first two when clauses, otherwise you'll get an ", and" on a list
of length 1.

If it wasn't for the and you could replace the whole for-each by

<xsl:value-of select="$names" separator=", "/>

It's probably possible to use a trick xpath to get the same effect with
a single value-of, but it's probably more maintainable to use the
for-each form that you have in this case.



David

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>