Schematron validation
name required
count of (individualName + organisationName + positionName) > 0
otherConstraints required if otherRestrictions
otherConstraints: documented if accessConstraints or useConstraints = "otherRestrictions"
otherConstraints: documented if accessConstraints or useConstraints = "otherRestrictions"
units required for values
"units" is mandatory if "maxValue" or "minValue" are provided
description required if no sourceExtent
"description" is mandatory if "sourceExtent" is not documented
sourceExtent required if no description
"description" is mandatory if "sourceExtent" is not documented
content mandatory for dataset or series
If(count(source) + count(processStep) =0) and (DQ_DataQuality.scope.level = 'dataset' or 'series') then statement is mandatory
source required if no statement or processStep
"source" role is mandatory if LI_Lineage.statement and "processStep" role are not documented
processStep required if no statement or source
"processStep" role is mandatory if LI_Lineage.statement and "source" role are not documented
dataset must have report or lineage
"report" or "lineage" role is mandatory if scope.DQ_Scope.level = 'dataset'
levelDescription needed unless dataset or series
"levelDescription" is mandatory if "level"
notEqual 'dataset' or 'series'
units required for density values
"densityUnits" is mandatory if "density" is provided
MD_Format required
count (distributionFormat + distributor/MD_Distributor/distributorFormat) > 0
element required
count(description + geographicElement + temporalElement + verticalElement) >0"
character set indication
dataset must have extent
MD_Metadata.hierarchyLevel = "dataset" (i.e. the default value of this property on the parent) implies
count (extent.geographicElement.EX_GeographicBoundingBox) + count (extent.geographicElement.EX_GeographicDescription) >=1
dataset or series must have topicCategory
topicCategory is mandatory if MD_Metadata.hierarchyLevel equal "dataset" or
"series" or doesn't exist
Either "aggregateDataSetName" or "aggregateDataSetIdentifier" must be documented
Either "aggregateDataSetName" or "aggregateDataSetIdentifier" must be documented
language indication
language not present
character set indication
detail required unless simple term
if "dataType" notEqual 'codelist', 'enumeration' or 'codelistElement' then "obligation" is mandatory
if "dataType" notEqual 'codelist', 'enumeration' or 'codelistElement' then "maximumOccurence" is mandatory
if "dataType" notEqual 'codelist', 'enumeration' or 'codelistElement' then "domainValue" is mandatory
condition
if "obligation" = 'conditional' then "condition" is mandatory
domainCode
if "dataType" = 'codelistElement' then "domainCode" is mandatory
shortName
if "dataType" not equal to 'codelistElement' then "shortName" is mandatory
checkPointDescription required if available
"checkPointDescription" is mandatory if "checkPointAvailability" = 1 or true