This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]