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

Re: [xsl] How do you select all unique first-position characters?


Subject: Re: [xsl] How do you select all unique first-position characters?
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Wed, 20 Nov 2002 18:21:51 -0500

I should think a key using the initial letter of each name would be a big help:

<xsl:key name="person-by-initial" match="person" use="substring(@name,1,1)"/>

Then "key('person-by-initial', 'A')" would get you back the elements for Anthony, Amy and the other Amy, and "key('person-by-initial', 'A')[1]" would get you just Anthony.

//person[count(.|key('person-by-initial', @name)[1]) = 1] gets you all person elements that are first with their initial.

In other words, the usual grouping stuff.

Cheers,
Wendell

(At 04:50 PM 11/20/2002, Greg wrote:
At 01:36 PM 11/20/2002, you wrote:
<report-data>
        <person name="Anthony" />
        <person name="Amy" />
        <person name="Amy" />
        <person name="Jim" />
        <person name="Jason" />
</report-data>

I would expect to get A,J from the above XML

Here's most of it for you. I'm having trouble with the initial variable selection though. I'm hoping somebody can take it from here, as I'm stumped now too....


======================================================================
Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
  Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================


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




Current Thread
Keywords
xml