xsl-list
[Top] [All Lists]

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

2012-02-28 14:29:55
Hi,

On 2/28/2012 6:40 AM, Andrew Welch wrote:
On 28 February 2012 11:39, Lech Rzedzicki<xchaotic(_at_)gmail(_dot_)com>  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(_at_)mulberrytech(_dot_)com
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
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>