xsl-list
[Top] [All Lists]

[xsl] How to XSLT concat string, remove last comma

2016-10-07 02:22:30
Hi,

I need to build up a string using XSLT and separate each string with a
comma but not include a comma after the last string. Here i have mentioned
our XSL but i am geetting comma in my output.

Input:

<?xml version="1.0"?>
<CUSTOMERS>
    <CUSTOMER>
        <ID>441</ID>
        <Item_no>24</Item_no>
        <Amount>0</Amount>
    </CUSTOMER>
    <CUSTOMER>
        <ID>900817</ID>
        <Item_no>28</Item_no>
        <Amount>0</Amount>
    </CUSTOMER>
    <CUSTOMER>
        <ID>00081</ID>
        <Item_no>4</Item_no>
        <Amount>1</Amount>
    </CUSTOMER>
</CUSTOMERS>


XSL:

<xsl:stylesheet version="1.0" xmlns:xsl="
http://www.w3.org/1999/XSL/Transform";>
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
    <xsl:template match="/">
        <CUSTOMERS>
            <CUSTOMER>
                <Id>
                    <xsl:for-each select="CUSTOMERS/CUSTOMER">
                        <xsl:if test="Amount = 0">
                            <xsl:value-of select="ID"/>
                            <xsl:if test="position() != last()">
                                <xsl:text>,</xsl:text>
                            </xsl:if>
                        </xsl:if>
                    </xsl:for-each>
                </Id>
            </CUSTOMER>
        </CUSTOMERS>
    </xsl:template>
</xsl:stylesheet>


My Output:

<?xml version="1.0" encoding="UTF-8"?>
<CUSTOMERS>
   <CUSTOMER>
      <Id>441,900817,</Id>
   </CUSTOMER>
</CUSTOMERS>

Expected output:

<?xml version="1.0" encoding="UTF-8"?>
<CUSTOMERS>
   <CUSTOMER>
      <Id>441,900817</Id>
   </CUSTOMER>
</CUSTOMERS>
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--
<Prev in Thread] Current Thread [Next in Thread>