Skip to content

Changes to the schematron

Jo Cook edited this page Feb 24, 2023 · 2 revisions

A number of changes to the Gemini 2.3 schematron at https://github.com/agiorguk/gemini-schematron have been made to get around certain GeoNetwork requirements.

Name Change

GEMINI_2.3_Schematron_Schema-v1.0.sch -> schematron-rules-GEMINI_23-v10.sch
GEMINI_2.3_supplemental-v1.0.sch -> schematron-rules-GEMINI_23_supp-v10.sch
  • GeoNetwork requires that all schematron files are prefixed with schematron-rules
  • GeoNetwork 4.2.x requires that schematron rules files do not have additional full stops in the filename

Changes to temporal extent validation rules

Metadata Item 7 in GEMINI_2.3_Schematron_Schema-v1.0.sch/schematron-rules-GEMINI_23-v10.sch

  1. Split both the Gemini2-mi7-endpos and Gemini2-mi7-beginpos patterns into two (so 7a, b, c, and d are now separate patterns)

  2. Change the sch:report tests into sch:assert tests for mi7b and mi7d and negate them to make sure that they actually showed as errors rather than messages

  3. Change the xpaths for all 4 rules to include the potential for an extra element between gml:TimePeriod and gml:endPosition or gml:beginPosition to work around a GeoNetwork peculiarity

  4. Change the tests for 7c and 7e from normalize-space(.) to string-length(normalize-space(.))

  5. Improve the message for 7c and 7e to identify which time position has triggered the error