[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] How to get a case insensetive grouping ??


Subject: RE: [xsl] How to get a case insensetive grouping ??
From: "Michael Bauerfeld" <michael@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 28 Feb 2002 18:17:47 +1100

Many thanks Peter it works great!!

-Michael

-----Original Message-----
From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
[mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Peter Davis
Sent: Thursday, 28 February 2002 12:45
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] How to get a case insensetive grouping ??


On Wednesday 27 February 2002 16:27, Michael Bauerfeld wrote:
> Hi,
> I'm using the Muenchian Method to group elements of a xml file. Currently
> my xsl produces separate groups for identical words with different
spelling
> (upper-/lower-case). Is there an easy way to create an 'overall' group for
> such elements (e.g. "NAME" and "name")? I've tried translate() but that
> seems not to work.
>
> Thanks,
> -Michael
>
>
> XSL sample ....
>
> <xsl:key name="elementToGroup_" match="level2/level3"
> use="translate(elementToGroup,'abcdef...','ABCDEF...')" />
> <xsl:output method="html"/>
>
> <xsl:template match="level1">
> 	<xsl:apply-templates select="level2/level3[generate-id(.) =
> generate-id(key(elementToGroup_', elementToGroup)[1])]" />

First of all, you're missing a "'" (single-quote).  Besides that, I think
you
would want to use:

key('elementToGroup_', translate(elementToGroup, 'abcd...', 'ABCD...'))[1]

That way the same upper-case characters are used both in the key's value and
in the argument to the key() function.

>
> .....
>
> XML sample ....
> <level1>
> 	<level2>
> 		<level3>
> 			<elementToGroup>NAME</elementToGroup>
> 			<element>xxx</element>
> 		</level3>
> 	</level2>
> 	<level2>
> 		<level3>
> 			<elementToGroup>name</elementToGroup>
> 			<element>yy</element>
> 		</level3>
> 	</level2>
> </level1>
>
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

--
Peter Davis
Nullum magnum ingenium sine mixtura dementiae fuit.
	[There is no great genius without some touch of madness.]
		-- Seneca

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



Current Thread
Keywords