Re: [xsl] XPath or xsl to count a number of distinct values of an attribute?

Subject: Re: [xsl] XPath or xsl to count a number of distinct values of an attribute?
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Tue, 28 Feb 2012 15:29:38 -0500
Hi,

On 2/28/2012 6:40 AM, Andrew Welch wrote:
On 28 February 2012 11:39, Lech Rzedzicki<xchaotic@xxxxxxxxx> wrote:
Hi.
Hopefully a very quick question:
I have an attribute such as @class, which may have a value "h1", "H2" etc.
I want to calculate how many distinct values are there so that "H2"
and "h2" are counted as two occurrences, but following occurrences of
either do not increment a counter.
Basically a quality metric for a consistency of a document.

Is it possible with Xpath alone? (sth like count(distinct-values(//@class)) ?)
>
> yep

If the attribute is @class, and the intent is to run this on data in the wild, keep in mind also that any html:*/@class may also have several (space-delimited) values.

So count(distinct-values(//@class/tokenize(.,'\s+')))

Cheers,
Wendell

--
======================================================================
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
======================================================================

Current Thread