Message
CRediT contributor role "." should have consistent vocab-term, vocab-term-identifier, and text values from the
CRediT taxonomy.$suggestion
CRediT contributor role "." should have consistent vocab-term, vocab-term-identifier, and text values from the
CRediT taxonomy.$suggestion
This rule ASSERTS the following, raising an alert if FALSE:
let $credit-roles :=
<contrib>
<role vocab-term-identifier="https://credit.niso.org/contributor-roles/conceptualization/"
vocab-term="Conceptualization"/>
<role vocab-term-identifier="https://credit.niso.org/contributor-roles/data-curation/"
vocab-term="Data curation"/>
<role vocab-term-identifier="https://credit.niso.org/contributor-roles/formal-analysis/"
vocab-term="Formal analysis"/>
<role vocab-term-identifier="https://credit.niso.org/contributor-roles/funding-acquisition/"
vocab-term="Funding acquisition"/>
<role vocab-term-identifier="https://credit.niso.org/contributor-roles/investigation/"
vocab-term="Investigation"/>
<role vocab-term-identifier="https://credit.niso.org/contributor-roles/methodology/"
vocab-term="Methodology"/>
<role vocab-term-identifier="https://credit.niso.org/contributor-roles/project-administration/"
vocab-term="Project administration"/>
<role vocab-term-identifier="https://credit.niso.org/contributor-roles/resources/"
vocab-term="Resources"/>
<role vocab-term-identifier="https://credit.niso.org/contributor-roles/software/"
vocab-term="Software"/>
<role vocab-term-identifier="https://credit.niso.org/contributor-roles/supervision/"
vocab-term="Supervision"/>
<role vocab-term-identifier="https://credit.niso.org/contributor-roles/validation/"
vocab-term="Validation"/>
<role vocab-term-identifier="https://credit.niso.org/contributor-roles/visualization/"
vocab-term="Visualization"/>
<role vocab-term-identifier="https://credit.niso.org/contributor-roles/writing-original-draft/"
vocab-term="Writing – original draft"/>
<role vocab-term-identifier="https://credit.niso.org/contributor-roles/writing-review-editing/"
vocab-term="Writing – review & editing"/>
</contrib>
returnlet $role-term := @vocab-term returnlet $role-id := @vocab-term-identifier returnlet $role-text := replace(text(), '\s*\((equal|lead|supporting)\)', '', 'i') returnlet $suggest := $credit-roles//role[local:normalize-text(@vocab-term) = replace(local:normalize-text($role-text),
' (and|&) ', ' ')] returnlet $suggest-term := $suggest/@vocab-term => replace(' & ', ' & ') => replace('
– ', ' – ') returnlet $suggest-id := $suggest/@vocab-term-identifier returnlet $suggestion := if (not(empty($suggest))) then concat(' Try "', $suggest-term,
'" vocab-term="', $suggest-term, '" vocab-term-identifier="', $suggest-id, '"') else
() returnnot(@vocab='credit') or (some $credit in $credit-roles//role satisfies (
$credit/@vocab-term = $role-term and $credit/@vocab-term = $role-text and $credit/@vocab-term-identifier
= $role-id
))