Difference between revisions of "Template:smwAsk CountPropertyRepetitionsOnSinglePage"
From TDWG Terms Wiki
m (Layout) |
|||
Line 1: | Line 1: | ||
<noinclude>This template counts the number of separate values (repeated occurrences with values) of a single property on a single page. | <noinclude>This template counts the number of separate values (repeated occurrences with values) of a single property on a single page. | ||
− | Parameters: Pagename | + | Parameters: |
− | + | * Pagename | |
− | + | * Propertyname | |
+ | Test: using <div class="no-pre-border no-pre-margin"> | ||
+ | <nowiki>{{smwAsk_CountPropertyRepetitionsOnSinglePage | Pagename=dcterms:accessRights | Propertyname=skos:definition}}</nowiki> | ||
+ | </div> | ||
+ | Result: {{smwAsk_CountPropertyRepetitionsOnSinglePage|Pagename=dcterms:accessRights|Propertyname=skos:definition}} | ||
: (at time of writing, the correct result was "4") | : (at time of writing, the correct result was "4") | ||
Line 9: | Line 13: | ||
[[Category: SMW ask template]] | [[Category: SMW ask template]] | ||
− | </noinclude>{{ | + | </noinclude><includeonly>{{ |
#expr:{{#len:{{#ask: [[{{{Pagename}}}]] [[{{{Propertyname}}}::+]] | #expr:{{#len:{{#ask: [[{{{Pagename}}}]] [[{{{Propertyname}}}::+]] | ||
| ?{{{Propertyname}}} #- | | ?{{{Propertyname}}} #- | ||
Line 25: | Line 29: | ||
| limit=500 | | limit=500 | ||
}}}} | }}}} | ||
− | }} | + | }}</includeonly> |
Revision as of 08:45, 16 October 2012
This template counts the number of separate values (repeated occurrences with values) of a single property on a single page.
Parameters:
- Pagename
- Propertyname
{{smwAsk_CountPropertyRepetitionsOnSinglePage | Pagename=dcterms:accessRights | Propertyname=skos:definition}}
Result: 4
- (at time of writing, the correct result was "4")
Problem: with list, ol, ul, the separator sep= used for multiple values of a single property on a single page. However, no template can be called for each value, the template is called only once per page (original ideas was to use a template). Since we know due to the ask query that all property values are from a single page, we measure the string length once with a 1-char separator, then a 2-char separator, and calculate the difference.