[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Split with delimiter and remove duplicate using XS

Subject: RE: Split with delimiter and remove duplicate using XSL 1.0
From: "Paul Kiel" <paul@xxxxxxxxxxxxxxx>
Date: Fri, 4 Jul 2008 11:07:10 -0400
RE:  Split with delimiter and remove duplicate using XS
Hi Folks,

Yes, xslt 2.0 is great and solves problems.  But I've had to get distinct values with an xslt 1.0 requirement (and no
extensions) numerous times.  I've posted a blog entry on this with an example.  It uses a delimited list and then
interates through the list using a template.

http://www.xmlhelpline.com/blog/stories/2007/05/06/xslt10GroupingIteratingAndUniquenessWithoutKeys.html

It isn't elegant, but it works.  Xslt 1.0 and no extensions nor keys.
For what its worth.

Cheers,
Paul
 


=====================================================
W. Paul Kiel
xmlHelpline.com Consulting
paul@xxxxxxxxxxxxxxx
work: 919-846-0224
cell: 919-449-8801
website: http://www.xmlhelpline.com
Your helpline for data integration solutions.
=====================================================



-----Original Message-----
From: ollie de guzman [mailto:deguzman.ollie@xxxxxxxxx] 
Sent: Friday, July 04, 2008 3:19 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject:  Split with delimiter and remove duplicate using XSL 1.0

Hi all!

I am new to XSL programming and I was tasked to solve the problem I stated on my subject.
As i was browsing the mailing list, i chanced upon this reply

Martin Wrote: I would first tokenize, then use xsl:for-each-group to remove duplicates:

Perfect. I am going through the tutorials to understand <xsl:for-each-group> and it use. Still needs to look into the
correct usage of current-group() and current-group-key(), group-by , group-adjacent etc. <xsl:copy-of
select="current-group()[1]"/>

Time to get seriously involve myself in exploring 2.0. :-)

Thanks again Martin.

Pankaj

I know that this problem can be solved using functions in XSL 2.0 like tokenize, the use of regular expressions and
etc.. but my question is, can it be solved using purely XSL 1.0 functions?
(without the use of tokenize and regex)

Example.

If i have this tag:

<sample>
...
...
<text>[1]Sample Text 1[2]Sample Text 1[3]Sample Text 2</text>

...
...
</sample>

How can i get this output? The text would be parsed using [] as the delimiter then remove duplicate values (Sample Text
1)

<out>Sample Text 1</out>
<out>Sample Text 2</out>


Any suggestions?

Thanks a lot in advance.

Ollie de Guzman
Philippines

No virus found in this incoming message.
Checked by AVG. 
Version: 8.0.134 / Virus Database: 270.4.5/1533 - Release Date: 7/3/2008 7:19 PM

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2011 All Rights Reserved.