|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: A better way to build a comma-delimited list
Hello John,
> <xsl:for-each select="$dbdef">
> <xsl:if test="key('dbdef-cols', $dbcolumn)">
> <xsl:value-of select="$dbcolumn"/>
> <xsl:if test="$p < $l">
> <xsl:text>, </xsl:text>
> </xsl:if>
> </xsl:if>
> </xsl:for-each>instead of the for-each + if you can write one for-each with predicate: <xsl:for-each select="$dbdef[key('dbdef-cols', $dbcolumn)]"> Now the correct nodeset is selected and position() and last() will work. But they must refer to the inner for-each, so you can't use $p and $l, but <xsl:if test="position() != last()">. So, you have then <xsl:for-each select="$dbdef[key('dbdef-cols', $dbcolumn)]">
<xsl:value-of select="$dbcolumn"/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:for-each>Regards, Joerg John Sands schrieb: I have some XSLT that builds a SQL select statement from several input documents. Here's a fragment that builds the column list by getting each distinct column name from a separate file ($pbsdef) and checking that is is defined in another file (referenced by variable $dbdef). XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








