XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
+ Stylus Studio Technical Forum (14621)
+ Website Feedback (249)
- XSLT Help and Discussion (7625)
-> + How to achieve UTF-8 encoding ... (2)
-> + sorting Using JavaScript (6)
-> + Display values from .xml horiz... (5)
-> + query on xslt for-each (3)
-> + query on xslt for-each (2)
-> + issue for First occurance (2)
-> + XSL: Mapping 2 XSD to 1 XSD (2)
-> + xslt mapper looses linkage fro... (2)
-> - How to Modify only few nodes a... (1)
-> + XSLT autocomplete function (2)
-> + i need to display dynamic list... (2)
-> + How to group when source has m... (11)
-> - Using EXCEL to create XSLT for... (1)
-> + Mapper generating XSLT, popula... (2)
-> + multiple columns (2)
-> + First time to Stylus Studio 20... (3)
-> + xsl:if test statement result t... (4)
-> + XSLT for dynamic target fields (4)
-> - Remove duplicates (2)
-> ->Remove duplicates
-> + XML-XSL grouping issue while d... (2)
-- Previous [61-80] [81-100] [101-120] Next
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Manu GuptaSubject: Remove duplicates
Author: Manu Gupta
Date: 15 Jul 2011 06:45 AM
Hi All,
I have string variable "AABBCDNNN" and I need to create string which contains only distinct values "ABCDN". I am using XSLT 1.0.

Help will be really appreciated.

Thanks

Posttop
Ivan PedruzziSubject: Remove duplicates
Author: Ivan Pedruzzi
Date: 20 Jul 2011 11:21 PM

XSLT 1.0 has weak support for string manipualtion compare to version 2.0. See if the following helps


input xml

<?xml version="1.0"?>
<root>AABBCDNNN</root>


XSLT

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template name="unique">
<xsl:param name="p" select="1"/>
<xsl:param name="s"/>
<xsl:if test="$p &lt;= string-length($s)">
<xsl:if test="substring($s, $p, 1) != substring($s, $p -1, 1)">
<xsl:value-of select="substring($s, $p, 1)"/>
</xsl:if>
<xsl:call-template name="unique">
<xsl:with-param name="p" select="$p + 1"/>
<xsl:with-param name="s" select="$s"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template match="/">
<xsl:call-template name="unique">
<xsl:with-param name="s" select="."/>
</xsl:call-template>
</xsl:template>
</xsl:stylesheet>

   
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.