xsl-list
[Top] [All Lists]

RE: calculate unique items in xsl

2002-10-11 02:30:54

Thanks for your help in my previous post!  Given the below 
xml,how can I get 
the
the number of unique warehouse codes?  Do I need to use <xsl:key>?

Removing duplicates is the same problem as grouping, so look up
"grouping" in your favourite textbook or FAQ site.

With XSLT 1.0 there are basically two techniques. 

Simple problems on small documents (like your example) can be solved
using

  count(item[not(whcode = preceding-sibling::item/whcode)])

More complex problems, or problems on larger documents, require
Muenchian grouping using xsl:key, as described at
http://www.jenitennison.com/xslt/grouping

Michael Kay
Software AG
home: Michael(_dot_)H(_dot_)Kay(_at_)ntlworld(_dot_)com
work: Michael(_dot_)Kay(_at_)softwareag(_dot_)com 


<inventory>
<item>
<warehousecode>BA</warehousecode>
<item>bolt</item>
<quantity>34</quantity>
</item>
<item>
<warehousecode>BA</warehousecode>
<item>nail</item>
<quantity>50</quantity>
</item>
<item>
<warehousecode>AC</warehousecode>
<item>tack</item>
<quantity>5</quantity>
</item>
<item>
<warehousecode>BA</warehousecode>
<item>hammer</item>
<quantity>10</quantity>
</item>
<item>
<warehousecode>AD</warehousecode>
<item>screwdriver</item>
<quantity>60</quantity>
</item>
<item>
<warehousecode>AB</warehousecode>
<item>wrench</item>
<quantity>13</quantity>
</item>
</inventory>


Desired output:

Number of unique warehouse codes:  4

Thanks for helping an xsl newbie!!

RJ


_________________________________________________________________
Join the world?s largest e-mail service with MSN Hotmail. 
http://www.hotmail.com


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



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



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