In fact, this grouping doesn't make much sense outside of the custom extension; if there are "datetime" extension is used, clients can infer a lot of grouping themselves.
The real issue was in fact with using the semantic extension, which might want a small change. The semantic extension allows Query elements that specify that results must have some relation to a concept; and my real need is to be able to provide different groups of such Query elements, pertaining to which taxonomy the (additional) facet comes from.
A complete example:
An OpenSearch description document uses the Semantic extension, as follows
I perform a search for "xyzzy" and ignore taxonomies for now (people and places), ending up with the URI
The result contains a number of <Query role="subset"/> elements, indicating that I can "drill down" into the search results in various ways:
<Query role="subset" searchTerms="xyzzy" semantic:related="urn:example:geonames:Canada" title="Canda" totalResults="111" />
<Query role="subset" searchTerms="xyzzy" semantic:related="urn:example:geonames:NewZealand" title="NZ" totalResults="222"/>
<Query role="subset" searchTerms="xyzzy" semantic:related="urn:example:people:JonSnow" title="Jon Snow" totalResults="333"/>
<Query role="subset" searchTerms="xyzzy" semantic:related="urn:example:people:RingoStarr" title="Ringo Starr" totalResults="444"/>
The need I have is in essence to show the people subsets separately from the geonames subsets, preferably with a nice label:
Places:
Canada (111) NZ (222)
People:
Jon Snow (333) Ringo Starr (444)
I've come to the conclusion that what's really needed is a way to link a subset to a particular taxonomy from where the added search term comes from, and my suggestion is (I'll skip the gory details) to add a semantic:label to the <Url> elements that describe the various taxonomies, and re-use that label in the <Query> elements:
OpenSearch description:
...
The Query elements from a search response:
<Query role="subset" searchTerms="xyzzy" semantic:related="urn:example:geonames:Canada" title="Canda" totalResults="111" semantic:label="Places"/>
<Query role="subset" searchTerms="xyzzy" semantic:related="urn:example:geonames:NewZealand" title="NZ" totalResults="222" semantic:label="Places"/>
<Query role="subset" searchTerms="xyzzy" semantic:related="urn:example:people:JonSnow" title="Jon Snow" totalResults="333" semantic:label="People"/>
<Query role="subset" searchTerms="xyzzy" semantic:related="urn:example:people:RingoStarr" title="Ringo Starr" totalResults="444" semantic:label="People"/>
A generic client would be able to present the different types of drill-downs in a "pretty" fashion, by using the labels as prefixes and/or to group the different types of subsets.
--
-mogsie-