<sch:value-ofselect="parent::*/name()"/> can either hold a specific or a generic lido:rightsType (mutually exclusive).
and not(preceding-sibling::lido:rightsType[@lido:type = 'http://terminology.lido-schema.org/lido00920'])
or count(parent::*/lido:rightsType) = 1 and not(@lido:type)
">
<sch:value-ofselect="name(parent::*)"/> can either hold a specific or a generic lido:rightsType@lido:type (mutually exclusive). If lido:rightsType@lido:type is used in <sch:value-ofselect="name(parent::*)"/>, it must be used in all <sch:value-ofselect="name(parent::*)"/>.