Ad
How To Count Distinct Values In A Node?
How to count distinct values in a node in XSLT?
Example: I want to count the number of existing countries in Country nodes, in this case, it would be 3.
<Artists_by_Countries>
<Artist_by_Country>
<Location_ID>62</Location_ID>
<Artist_ID>212</Artist_ID>
<Country>Argentina</Country>
</Artist_by_Country>
<Artist_by_Country>
<Location_ID>4</Location_ID>
<Artist_ID>108</Artist_ID>
<Country>Australia</Country>
</Artist_by_Country>
<Artist_by_Country>
<Location_ID>4</Location_ID>
<Artist_ID>111</Artist_ID>
<Country>Australia</Country>
</Artist_by_Country>
<Artist_by_Country>
<Location_ID>12</Location_ID>
<Artist_ID>78</Artist_ID>
<Country>Germany</Country>
</Artist_by_Country>
</Artists_by_Countries>
Ad
Answer
If you have a large document, you probably want to use the "Muenchian Method", which is usually used for grouping, to identify the distinct nodes. Declare a key that indexes the things you want to count by the values that are distinct:
<xsl:key name="artists-by-country" match="Artist_by_Country" use="Country" />
Then you can get the <Artist_by_Country>
elements that have distinct countries using:
/Artists_by_Countries
/Artist_by_Country
[generate-id(.) =
generate-id(key('artists-by-country', Country)[1])]
and you can count them by wrapping that in a call to the count()
function.
Of course in XSLT 2.0, it's as simple as
count(distinct-values(/Artists_by_Countries/Artist_by_Country/Country))
Ad
source: stackoverflow.com
Related Questions
- → CORS missmatch because of http
- → French Characters from MySQL database to PHP with XML eport fail
- → How do I get JUnit XML output from Jest?
- → Wordpress Sitemap XML Error while using with Custom Permalinks
- → XMLHttpRequest cannot load file:///C:/
- → How to add rich snippet in a website?
- → Your Sitemap does not contain any URLs. Please validate and resubmit your Sitemap?
- → Multi level html drop-down from XML
- → I have sitemap.xml but many SEO audit websites say I don't have...what is the fix?
- → Shopify Updating Inventory 400 Bad Request
- → Update order with basket xml
- → Is it valid to add categories to sitemap.xml?
- → Sitemap Generator detect Only Home Page and also screaming frog detects only homepage
Ad