Commit 94ff0545 authored by mmarkus1's avatar mmarkus1
Browse files

Merge branch 'schematron-qa-review' into 'develop'

change schematron rules sch_SKOS_properties and sch_rightsType to XSLT 1.0 see #110

See merge request lido/development!80
parents ee1aa8b7 51596f1f
Pipeline #198254 passed with stage
in 16 seconds
......@@ -93,8 +93,8 @@ For a summary of changes please refer to the repository’s README. The full his
<sch:p>Ensures that when enriching a dataset with information retrieved via the URI provided in skos:Concept, only
SKOS properties are added to the dataset.</sch:p>
<sch:rule context="skos:Concept" id="sch_SKOS_properties">
<sch:report test="child::*/namespace-uri() != 'http://www.w3.org/2004/02/skos/core#'">
<sch:rule context="skos:Concept/descendant::*" id="sch_SKOS_properties">
<sch:report test="namespace-uri() != 'http://www.w3.org/2004/02/skos/core#'">
Only SKOS properties are allowed within skos:Concept.
</sch:report>
</sch:rule>
......@@ -118,15 +118,18 @@ For a summary of changes please refer to the repository’s README. The full his
Since a right can fall in only one of these categories, they are mutually exclusive.</sch:p>
<sch:rule abstract="true" id="sch_rightsType">
<sch:assert role="warn"
test="@lido:type = 'http://terminology.lido-schema.org/lido00920'
and not(following-sibling::lido:rightsType/@lido:type = 'http://terminology.lido-schema.org/lido00921'
or preceding-sibling::lido:rightsType/@lido:type = 'http://terminology.lido-schema.org/lido00921')
or @lido:type = 'http://terminology.lido-schema.org/lido00921'
and not(following-sibling::lido:rightsType/@lido:type = 'http://terminology.lido-schema.org/lido00920'
or preceding-sibling::lido:rightsType/@lido:type = 'http://terminology.lido-schema.org/lido00920')
or count(parent::*/lido:rightsType) = 1 and not(@lido:type)">
<sch:value-of select="parent::*/name()"/> can either hold a specific or a generic lido:rightsType (mutually exclusive).
<sch:let name="type" value="@lido:type"/>
<sch:let name="sibling_type" value="following-sibling::lido:rightsType[@lido:type]"/>
<sch:assert role="fatal"
test="
@lido:type = 'http://terminology.lido-schema.org/lido00920'
and not(preceding-sibling::lido:rightsType[@lido:type = 'http://terminology.lido-schema.org/lido00921'])
or
@lido:type = 'http://terminology.lido-schema.org/lido00921'
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-of select="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-of select="name(parent::*)"/>, it must be used in all <sch:value-of select="name(parent::*)"/>.
</sch:assert>
</sch:rule>
</sch:pattern>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment