I want to remove the duplicate values from the concatenated string.
Input is:
<?xml version="1.0" encoding="ISO-8859-1"?>
<QL>
<QITEM>
<SERIAL>123</SERIAL>
<PROD_NAME>User/Device</PROD_NAME>
</QITEM>
<QITEM>
<SERIAL>123</SERIAL>
<PROD_NAME>User/Dev</PROD_NAME>
</QITEM>
<QITEM>
<SERIAL>123</SERIAL>
<PROD_NAME>User/Device</PROD_NAME>
</QITEM>
<QITEM>
<SERIAL>1234</SERIAL>
<PROD_NAME>45 Mbps</PROD_NAME>
</QITEM>
</QL>
<QL>
<QITEM>
<SERIAL>123</SERIAL>
<PROD_NAME>User/Device</PROD_NAME>
</QITEM>
<QITEM>
<SERIAL>123</SERIAL>
<PROD_NAME>User/Dev</PROD_NAME>
</QITEM>
<QITEM>
<SERIAL>123</SERIAL>
<PROD_NAME>User/Device</PROD_NAME>
</QITEM>
<QITEM>
<SERIAL>1234</SERIAL>
<PROD_NAME>45 Mbps</PROD_NAME>
</QITEM>
</QL>
I want to concatenate the values and the output should be like:
<Result>
<SERIAL>123,1234</SERIAL>
<PROD_NAME>User/Dev,User/Device,45 Mbps</PROD_NAME>
</Result>
<Result>
<SERIAL>123,1234</SERIAL>
<PROD_NAME>User/Dev,User/Device,45 Mbps</PROD_NAME>
</Result>
So far, I have tried to achieve this with the following template:
<xsl:template name="join">
<xsl:param name="list"/>
<xsl:param name="separator"/>
<xsl:for-each select="$list">
<xsl:value-of select="."/>
<xsl:if test="position() != last()">
<xsl:value-of select="$separator"/>
</xsl:if>
</xsl:for-each>
</xsl:template>
This is giving the values separated by comma.
But I want to get the unique values.