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

Subject: Re: [xsl] How to get a case insensetive grouping ??
From: Peter Davis <pdavis152@xxxxxxxxx>
Date: Wed, 27 Feb 2002 17:45:22 -0800
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


Current Thread