Skip to content
Jesse Eichar edited this page Mar 14, 2014 · 9 revisions
Date 14-03-2014 Contacts Jesse Eichar
Status Under Development Release 2.12
Resources Available Ticket # https://github.com/geonetwork/core-geonetwork/issues/421
Source code https://github.com/jesseeichar/core-geonetwork/tree/feature/schematron-admin-refactored-ui
Funding Swisstopo

Overview

Schematrons are a Geonetwork tool used to verify that a metadata satisfies certain criteria. For example, the iso19139 inspire schematron checks that a metadata satisfies all the criteria required to be inspire compliant.

In the current implementation, a schematron is added by adding the 'sch' file to a schema plugin's schematron folder. All schematrons in the schematron folder will be ran on each metadata (of the correct schema) to determine if the metadata is valid.

This proposal intends to enrich this behaviour in the following ways.

Selective Schematron Application

This feature allows schematrons to be configured to only run on certain metadata that satisfy certain criteria. For example it may be desirable to require that all metadata of a particular group have French translations in order to be considered valid. This feature would make it possible to have a schematron that is only applied to metadata in the specified group and that checks that the French translation requirement is full filled.

Schematron Recommendations

Currently if a schematron is applied to a metadata and an assertion fails the metadata is considered invalid. This feature would allow schematrons to be considered recommendations and the schematron failures would show up in the schematron report as warnings but not failures and the metadata could still be valid. (assuming the other schematron pass)

Schematron admin page

The support these news features an administrative page will be created allowing an administrator to configure the schematrons application criteria and importance.

Technical Details:

Three new tables will be created to sort this feature. A table containing the list of schematrons, a table containing the criteria groups and a table containing the criteria that make up the criteria groups.

A schematron will be applied during validation if the following are true:

  • The schema of the schematron is the same as the metadata
  • All the criteria of at least one of the criteria groups are true when evaluated against the metadata.

Each schematron group had a requirement level (SchematronRequirement) which has three values:

  • Required
  • Report only
  • Disabled

Once a schematron is determined to apply to a particular metadata, the requirement level is determined based on the group with the highest requirement. (required is the highest level) Upon start-up the schematrons folder of each schema plugin is scanned.

Types of schematron

Proposal Type:

  • Type:
  • Module:

Voting History

  • Vote Proposed: TBA

Participants

  • All
Clone this wiki locally