Upload
vuongxuyen
View
221
Download
4
Embed Size (px)
Citation preview
1
Abstract Test Suite for the Metadata
Abstract Test Suite for the Metadata (implicit) Conformance Class.
Note: This ATS is in ready for review stage, none of the tests have an official INSPIRE MIG
approval.
Table of Contents A.01.validate .......................................................................................................................................... 8
A.02.title ................................................................................................................................................. 9
A.03.abstract ........................................................................................................................................ 10
A.04.IR01.IR02.hierarchy .................................................................................................................. 11
A.05.IR14.ds.keyword ......................................................................................................................... 12
A.06.IR15.srv.keyword ....................................................................................................................... 13
A.07.IR05.IR06.ds.identification ....................................................................................................... 14
A.08.IR03.ds.linkage ........................................................................................................................... 15
A.09.IR04.srv.linkage ......................................................................................................................... 16
A.10.IR08.IR09.ds.language ............................................................................................................... 17
A.11.IR10.IR11.ds.topic ...................................................................................................................... 18
A.12.IR12.srv.type ............................................................................................................................... 19
A.13.IR13.keyword ............................................................................................................................. 20
A.14.IR16.IR17.IR18.vocab ............................................................................................................... 21
A.15.IR19.kws-in-vocab ...................................................................................................................... 22
A.16.IR20.IR21.ds.bounds .................................................................................................................. 23
A.17.IR22.IR23.ds.temporal .............................................................................................................. 24
A.18.IR26.lineage ................................................................................................................................ 25
A.19.IR28.ds.conformity ..................................................................................................................... 26
A.20.IR29.ds.specification .................................................................................................................. 27
A.21.IR30.IR31.IR31.ds.public.access............................................................................................... 28
A.22.IR33.IR34.ds.access.use ............................................................................................................. 30
A.23.IR35.IR36.responsible.party.contact.info ................................................................................ 31
A.24.responsible.party.role ................................................................................................................ 32
A.25.IR37.md.contact ......................................................................................................................... 33
A.26.IR38.md.contact.role .................................................................................................................. 34
A.26.IR39.language ............................................................................................................................. 36
A.29.IR07.srv.identification ............................................................................................................... 37
2
A.30.IR27.ds.spatial.resolution .......................................................................................................... 38
A.31.IR25.resource.creation.date ...................................................................................................... 39
3
External document references
Abbreviation Document name
INSPIRE
Directive 2007/2/EC of the European Parliament and of the Council of 14
March 2007 establishing an Infrastructure for Spatial Information in the
European Community (INSPIRE)
IR MD
COMMISSION REGULATION (EC) No 1205/2008 of 3 December 2008
implementing Directive 2007/2/EC of the European Parliament and of the
Council as regards metadata
TG MD INSPIRE Metadata Implementing Rules: Technical Guidelines based on EN
ISO 19115 and EN ISO 19119, version 1.3
REG INSPIRE Registry
ISO 19115 ISO 19115:2003 Geographic information - Metadata
ISO 19119 ISO 19119:2005 Geographic information - Services
ISO 19108 ISO 19108:2002 Geographic information -- Temporal schema
ISO 8601 ISO 8601:2004 Data elements and interchange formats -- Information
interchange -- Representation of dates and times
TG Requirement coverage
Based on requirement numbering in TG MD.
Req# Description Covered by test(s) IR
reference(s)
1 hierachyLevel mandated A.04.IR01.IR02.hierarchy
IR MD, Part
B 1.3, Part
D 1
2 MD_ScopeCode values A.04.IR01.IR02.hierarchy
IR MD, Part
B 1.3, Part
D 1
3 Resource Locator for data linkage A.08.IR03.ds.linkage
IR MD, Part
B 1.4
4 Resource Locator for service
linkage A.09.IR04.srv.linkage
IR MD, Part
B 1.4
5 Unique Resource Identifier code is
mandatory A.07.IR05.IR06.ds.identification
IR MD Part
B 1.5
6 Use RS_Identifier if URI
codeSpace provided A.07.IR05.IR06.ds.identification
IR MD Part
B 1.5
7 operatesOn as a reference A.29.IR07.srv.identification
IR MD Part
B 1.6
8 Resource language is mandated A.10.IR08.IR09.ds.language
IR MD Part
B 1.7
9 ISO 19139 codes used for
language A.10.IR08.IR09.ds.language
IR MD Part
B 1.7
4
Req# Description Covered by test(s) IR
reference(s)
10 Use MD_TopicCategoryCode
values in topicCategory A.11.IR10.IR11.ds.topic
IR MD Part
B 2.1
11 Use language neutral name in
topicCategory A.11.IR10.IR11.ds.topic
IR MD Part
B 2.1
12 Use language neutral name for
serviceType A.12.IR12.srv.type
IR MD Part
B 2.2
13 Provide at least one keyword A.13.IR13.keyword
IR MD Part
B 3.1
14 Use theme for the only dataset
keyword A.05.IR14.ds.keyword
IR MD Part
B 3.1
15 Use category for the inly service
keyword A.06.IR15.srv.keyword
IR MD Part
B 1.5,
Article 4,
part D
16 Use citation for other controlled
keywords A.14.IR16.IR17.IR18.vocab
IR MD Part
B 3.2
17 Cite the originating controlled
vocabulary A.14.IR16.IR17.IR18.vocab
IR MD Part
B 3.2
18 At least title and date for
controlled vocabulary citations A.14.IR16.IR17.IR18.vocab
IR MD Part
B 3.2
19 Group keywords from the same
controlled vocabulary A.15.IR19.kws-in-vocab
IR MD Part
B 3.2
20 Use the minimum geographic
bounding box A.16.IR20.IR21.ds.bounds
IR MD Part
B. 4.1
21 At least two decimals for
coordinates A.16.IR20.IR21.ds.bounds
IR MD Part
B. 4.1
22 Use at least one of INSPIRE
temporal reference types A.17.IR22.IR23.ds.temporal
IR MD Part
B. 5.1
23 Use at least one ISO 19115
temporal reference types A.17.IR22.IR23.ds.temporal
IR MD Part
B. 5.1
24 Gregorian calendar and ISO 8601
date as defaults not testable
IR MD Part
B 5
25 Single creation date mandatory A.31.IR25.resource.creation.date
IR MD Part
B 5.4
26 Only one dataQualityInfo A.18.IR26.lineage
IR MD Part
B. 2.6
27 Spatial resolution as either scale or
ground sample distance A.30.IR27.ds.spatial.resolution
IR MD Part
B. 2.6
28 Degree of conformity mandatory A.19.IR28.ds.conformity
IR MD Part
B. 2.8
29 Use DQ_DomainConsistency for
spec. conformity A.20.IR29.ds.specification
IR MD Part
B. 7.2
5
Req# Description Covered by test(s) IR
reference(s)
30
Declare both limitations on "public
access" and "constraints on access
and use"
A.21.IR30.IR31.IR31.ds.public.acce
ss
INSPIRE,
Article 13
31 At least one MD_Contraints even
if no limitations
A.21.IR30.IR31.IR31.ds.public.acce
ss
n/a
32 Expressing limitations on public
access
A.21.IR30.IR31.IR31.ds.public.acce
ss
n/a
33 No conditions and unknown
conditions A.22.IR33.IR34.ds.access
IR MD Part
B. 8.2
34 Terms and conditions either
embedded or linked A.22.IR33.IR34.ds.access
IR MD Part
B. 8.2
35 Responsible organisation name
and email
A.23.IR35.IR36.responsible.party.co
ntact.info
IR MD Part
B. 3.5
36
MD_DataIdentification and
SV_ServiceIdentification for
responsible party info
A.23.IR35.IR36.responsible.party.co
ntact.info
IR MD Part
B. 3.5
37 Metadata point of contact
organisation name and email A.25.IR37.md.contact
IR MD Part
B. 10.1
38 Metadata point of contact role
code 'pointOfContact' A.26.IR38.md.contact.role n/a
39 Metadata language is mandatory A.26.IR39.language
IR MD Part
B. 10.3
Test
This Conformance Class contains the following tests:
Identifier Status
A.01.validate Ready for review
A.04.IR01.IR02.hierarchy Ready for review
A.05.IR14.ds.keyword Ready for review
A.06.IR15.srv.keyword Ready for review
A.07.IR05.IR06.ds.identification Ready for review
A.08.IR03.ds.linkage Ready for review
A.09.IR04.srv.linkage Ready for review
A.10.IR08.IR09.ds.language Ready for review
A.11.IR10.ds.topic Ready for review
A.12.IR12.srv.type Ready for review
A.13.IR13.keyword Ready for review
A.14.IR16.vocab Ready for review
A.15.IR19.kws-in-vocab Ready for review
A.16.IR20.IR21.ds.bounds Ready for review
6
Identifier Status
A.17.IR22.IR23.ds.temporal Ready for review
A.18.IR26.ds.lineage Ready for review
A.19.IR28.ds.conformity Ready for review
A.20.IR29.ds.specification Ready for review
A.21.IR30.IR31.IR32.ds.public.access.md Ready for review
A.22.IR33.IR34.ds.access.use Ready for review
A.23.IR35.responsible.party.contact.info.md Ready for review
A.25.IR37.md.contact Ready for review
A.26.IR38.md.contact.role Ready for review
A.27.IR39.language Ready for review
A.29.IR07.srv.identification Ready for review
A.30.IR27.ds.spatial.resolution Ready for review
A.31.IR25.resource.creation.date Ready for review
Some additional metadata tests are available at ats-interoperability-metadata. These tests are
separated from above because they have a different timeline for implementation.
Vocabulary
Empty characterstring: iso19139 allows (if proper namespaces are available) to express any
characterstring as either gco:CharacterString, gmd:Anchor or gmd:PT_FreeText. To check an
element for having an empty characterstring, each of these representations should be
considered. The PT_freetext element can be used to supply multilingual values for a
characterstring. If only PT_FreeText is used the validator should check if a value of the string
is available in the main language of the document. gmx:Anchor is typically used to reference
a URI on which additional information is available. The validator could resolve the URI in the
gmx:Anchor to validate if that content is available.
Some examples for valid string content:
<gmd:keyword>
<gco:CharacterString>Addresses</gco:CharacterString>
</gmd:keyword>
or
<gmd:keyword>
<gmx:Anchor xlink:href="http://www.eionet.europa.eu/gemet/en/inspire-
theme/5297/">Addresses</gmx:Anchor>
</gmd:keyword>
or
<gmd:keyword>
<gmd:PT_FreeText>
<gmd:textGroup>
7
<gmd:LocalisedCharacterString
locale="#EN">Addresses</gmd:LocalisedCharacterString>
</gmd:textGroup>
</gmd:PT_FreeText>
</gmd:keyword>
Resolve: Goal is to check if a URL references an existing document. First the URL can be
checked on syntactical correctness. Then a http head operation can give an indication of the
availability of the document without fully downloading it. The operation might fail due to a
number of reasons: the service is (temporarily) unavailable, the service is protected (status
403).
Open questions
There is no explicit Implementation Requirement in TG MD for the following tests:
o A.02.title
o A.03.abstract
o A.24.responsible.party.role
o A.28.md.creation.date
Should these be excluded or included in the ATS? Or added as requirements in the TG MD?
XML namespace prefixes
The following prefixes are used to refer to the corresponding XML namespaces in all test
descriptions:
Prefix Namespace
gmd http://www.isotc211.org/2005/gmd
gco http://www.isotc211.org/2005/gco
8
A.01.validate
Purpose: Performs a schema validation of the document.
Prerequisites
Test method
Document shall pass schema validation without errors, using one of the following XML
schema definitions:
To Validate XML against ISO AP 1.0:
http://schemas.opengis.net/csw/2.0.2/profiles/apiso/1.0.0/apiso.xsd
To Validate XML against ISO 19139 version 2005-DIS with GML 3.2.0:
http://schemas.opengis.net/iso/19139/20060504/gmd/gmd.xsd
To Validate XML against ISO/TS 19139:2007 with GML 3.2.1:
http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/gmd/gm
d.xsd or http://schemas.opengis.net/iso/19139/20070417/gmd/gmd.xsd
References
TG MD 2.1.2
IR MD, page 1 #3 (?)
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression
9
A.02.title
Purpose: The title by which the cited resource is known
Prerequisites
A.01.validate must be passed
Test method
Validates if a title is provided and not an empty characterstring
Reference(s)
IR MD, Part B, 1.1
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
title ./gmd:identificationInfo[1]/*/gmd:citation/*/title
10
A.03.abstract
Purpose: Validates if a resource abstract is provided
Prerequisites
A.01.validate must be passed
Test method
Checks if an abstract is present and not an empty characterstring
Reference(s)
TG MD, Chap. 2.2.2
IR MD, Part B 1.1
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
abstract gmd:identificationInfo[1]/*/gmd:abstract
11
A.04.IR01.IR02.hierarchy
Purpose: Type of the cited resource must be provided
Prerequisites
A.01.validate must be passed
Test method
Checks if a resource type (hierarchyLevel) is provided and is taken from the MD_ScopeCode
codelist.
To be relevant for INSPIRE the value should be either 'dataset', 'service' or 'series'
Context
Reference(s)
IR MD, Part B 1.3, Part D 1
TG MD,2.2.3, Req 1 & 2
Test type: Automated
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
hierarchyLevel ./gmd:hierarchyLevel/*/@codeListValue
12
A.05.IR14.ds.keyword
Purpose: Keyword for datasets. If the resource is a dataset or a dataset series, at least one
keyword must originate from the INSPIRE theme of the GEMET Thesaurus
Prerequisites
A.01.validate must be passed
Test method If the type of the resource is not dataset or series, this test is omitted.
The test should check for each descriptiveKeywords block if it references either
http://www.eionet.europa.eu/gemet/inspire_themes or any duplicate of that thesaurus (eg
http://inspire.ec.europa.eu/theme). If a block is referencing that thesaurus the test should check
if at least one keyword is available and it matches with a concept in the thesaurus.
If a keyword from that source is found, the test succeeds, otherwise it will fail.
Reference(s)
TG MD Chap. 2.2.3, Req 14
IR MD Part B. 3.1
http://inspire.ec.europa.eu/theme
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
keyword gmd:identificationInfo[1]//gmd:descriptiveKeywords//gmd:keyword
13
A.06.IR15.srv.keyword
Purpose: Keywords for Resource type Service. If the resource is a service, the type of service
should be specified
Prerequisites
A.01.validate must be passed
Test method
If the resource is a service, at least one keyword must originate from EU commission regulation
No. 1205/2008, Annex part D, No. 4.
If the type of the resource is not service, this test is omitted.
Reference(s)
TG MD, 2.2.3, Req 15
IR MD Part B. 1.5, Article 4, part D
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
keyword ./gmd:identificationInfo[1]//gmd:descriptiveKeywords//gmd:keyword
14
A.07.IR05.IR06.ds.identification
Purpose: Unique resource identifier. If the type of the resource was dataset or series, a unique
identifier identifying the resource must be given.
Prerequisites
A.01.validate must be passed
Test method
The test first checks if a unique identifier is given and if it is of type MD_Identifier or
RS_Identifier. The contained code element may not be empty.
In case of RS_identifier, the codespace element should not be empty.
In case of MD_identifier, discussion is ongoing on how to match this element against a
namespace-identifier in a capabilities document/service metadata.
If the type of the resource is not dataset or series, this test is omitted.
Reference(s)
TG MD, 2.2.5, Req 5 & 6
IR MD Part B. 1.5
ISO 19115, B.2.7.3
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
identifier gmd:identificationInfo[1]//gmd:citation//gmd:identifier
15
A.08.IR03.ds.linkage
Purpose: If a linkage is available, a resource locator must be given. If the resource is a service,
the linkage should be checked.
Prerequisites
A.01.validate must be passed
Test method
The test first checks if a linkage is provided. If none is given, the test will complete
successfully.
If one or more are provided. For each linkage the test checks if the linkage element contains an
element of type gmd:URL.
The URL is resolved.
If the response indicates a linkage is a service capabilities or WSDL document, some basic
params in the service response are analysed. Else a final manual test is suggested to the tester
(to test if any of the linkages points to a webpage with further instructions or a client application
that directly accesses the service).
Any service response should be checked if it provides proper linkage. The service wsdl or
capabilities document should have a featuretype that shares the resource unique identification
if WMS/WMTS/WFS, the link is in //layer[identifier={id}&&@authority={codespace}] if
Atom, the link is in //feed[@uuidhref={id}&&@namespace={codespace}]
Reference(s)
TG MD, 2.2.4, Req 3
IR MD Part B. 1.4
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
Online gmd:distributionInfo//gmd:transferOptions//gmd:onLine/*
16
A.09.IR04.srv.linkage
Purpose: If a linkage for a service is available, the Resource Locator shall be a valid URL
providing one of the following:
a link to a web with further instructions
a link to a service capabilities document
a link to the service WSDL document (SOAP Binding)
a link to a client application that directly accesses the service
Prerequisites
A.01.validate must be passed
the hierarchylevel of resource should be "service"
Test method
The test first checks if a linkage is provided. If none is given, the test will complete
successfully.
If one or more are provided. For each linkage the test checks if the linkage element contains an
element of type gmd:URL. The URL is resolved.
If the response indicates a linkage is a service capabilities or WSDL document, some basic
params in the service response are analysed. Else a final manual test is suggested to the tester
(to test if any of the linkages points to a webpage with further instructions or a client application
that directly accesses the service).
Any service response should be checked if it provides proper linkage. The service wsdl or
capabilities document should have a featuretype that shares the resource unique identification
if WMS/WMTS/WFS, the link is in //layer[identifier={id}&&@authority={codespace}] if
Atom, the link is in //feed[@uuidhref={id}&&@namespace={codespace}]
Reference(s)
TG MD, 2.2.4, Req 4
IR MD Part B. 1.4
Test type: Automated
Notes
Contextual XPath references**
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
Linkage distributionInfo//transferOptions//onLine/*/linkage
17
A.10.IR08.IR09.ds.language
Purpose: If the type of the resource was dataset or series and the resource contains textual
information, a resource language must be given.
Prerequisites
A.01.validate must be passed
Test method
The test first checks if a gmd:LanguageCode object is given and contains a codeList and
codeListValue attribute. It is then checked if the codeListValue attribute contains a valid 3-
letter language code according to ISO/TS 19139. If the type of the resource is not dataset or
series, this test is omitted.
Reference(s)
TG MD, 2.2.7, Req 8 & 9
IR MD Part B. 1.7
ISO 639-2
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
LanguageCode gmd:identificationInfo[1]/*/gmd:language/gmd:LanguageCode
18
A.11.IR10.IR11.ds.topic
Purpose: If the type of the resource is dataset or series, at least one Topic category describing
the category of the resource must be given.
Prerequisites
A.01.validate must be passed
Test method
The test first checks if at least one element of type topicCategory is given. If so, the following
conditions are checked for all topic categories:
The topic category is of type MD_TopicCategoryCode
The element gmd:MD_TopicCategoryCode contains text that equals one of the
categories given in B.5.27 of ISO 19115. The value saved in the XML metadata element
shall be a language neutral name.
If the type of the resource was not dataset or series, this test is omitted.
Reference(s)
TG MD, 2.3.1, Req 10 & 11
IR MD Part B. 2.1
B.5.27 of ISO 19115
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
topicCategory ./gmd:identificationInfo[1]/*/gmd:topicCategory
19
A.12.IR12.srv.type
Purpose: If the type of the resource was service, exactly one name describing the type of
service must be given.
Prerequisites
A.01.validate must be passed
Test method
If the type of the resource is service, exactly one name describing the type of service must be
given. The test first checks if a service type element is given at serviceType and if it is unique
throughout the document. The test then checks if the element serviceType contains text that
equals one of the types given in http://inspire.ec.europa.eu/metadata-
codelist/SpatialDataServiceType (TG MD Chap. 1.3.1.)
If the type of the resource was not service, this test is omitted.
Reference(s)
TG MD, 1.3.1 & 2.3.2, Req 12
IR MD Part B. 2.2
http://inspire.ec.europa.eu/metadata-codelist/SpatialDataServiceType
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
serviceType ./gmd:identificationInfo[1]/*/srv:serviceType
20
A.13.IR13.keyword
Purpose: At least one keyword must be given to describe the subject.
Prerequisites
A.01.validate must be passed
Test method
The test checks if at least one keyword element is provided and it is not an empty
characterstring
Reference(s)
TG MD, 2.4, Req 13
IR MD Part B.3
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
keyword gmd:identificationInfo[1]//gmd:descriptiveKeywords//gmd:keyword
21
A.14.IR16.IR17.IR18.vocab
Purpose: A keyword value reference can contain a controlled vocabulary from where it
originates. This element is optional but, if given, must follow certain guidelines.
Prerequisites
A.01.validate must be passed
Test method
The test performs the following check for each vocabulary:
the node must contain a title at ./gmd:CI_Citation/gmd:title and should not be an empty
characterstring
the node must contain a date at /gmd:CI_Citation/gmd:date/*/gmd:date/gco:Date
the node must contain a dateType element at
/gmd:CI_Citation/gmd:date/*/gmd:dateType which contains text that equals one of
publication, revision or creation.
Validating if the keyword is actually available in the indicated vocabulary is a challenge, since
the vocabulary is usually not referenced by a URL. If a vocabulary is indicated that is available
to the validator, then this check can be performed.
Reference(s)
TG MD, 2.4.2, Req 16, 17 & 18
IR MD Part B. 3.2
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
thesaurus gmd:identificationInfo[1]//gmd:descriptiveKeywords//gmd:thesaurusName
22
A.15.IR19.kws-in-vocab
Purpose: Keyword values originating from a single version of a single controlled vocabulary
shall be grouped in a single instance
Prerequisites
A.01.validate must be passed
Test method
In order to be consistent with ISO 19115, all the keyword values originating from a single
version of a single controlled vocabulary shall be grouped in a single instance of the ISO 19115
descriptiveKeywords property.
For each descriptiveKeywords element, the referenced controlled vocabulary should be unique
Reference(s)
TG MD Req 19
IR MD Part B. 3.2
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
Keyword gmd:identificationInfo[1]/*/gmd:descriptiveKeywords
23
A.16.IR20.IR21.ds.bounds
Purpose: A geographic bounding box must be given and it should be as small as possible
Prerequisites
A.01.validate must be passed
Test method
Check if it's a valid geographic extend. It is described by 4 elements: westBoundLongitude,
eastBoundLongitude, southBoundLatitude and northBoundLatitude. The test performs the
following checks on them:
Is a correctly formatted westBoundLongitude given at
gmd:westBoundLongitude/gco:Decimal.
Is the following constraint given: -180.00 ≤ westBoundLongitude ≤ 180.00
Is a correctly formatted eastBoundLongitude given at
gmd:eastBoundLongitude/gco:Decimal.
Is the following constraint given: -180.00 ≤ eastBoundLongitude ≤ 180.00
Is a correctly formatted southBoundLongitude given at
gmd:southBoundLongitude/gco:Decimal.
Is the following constraint given: -90.00 ≤ southBoundLatitude ≤ northBoundLatitude
Is a correctly formatted northBoundLongitude given at
gmd:northBoundLongitude/gco:Decimal.
Is the following constraint given: southBoundLatitude ≤ northBoundLatitude ≤ 90.00;
The bounding box shall be as small as possible. Quite hard to honour. Data should be
downloaded and a minimal bounds could be calculated and compared to the indicated bounds.
The bounding box shall be expressed in decimal degree with a precision of at least 2 decimals.
Reference(s)
TG MD 2.5.1, Req 20 & 21
IR MD Part B. 4.1
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
extent gmd:identificationInfo[1]//gmd:extent//gmd:geographicElement/*/
24
A.17.IR22.IR23.ds.temporal
Purpose: INSPIRE provides 4 types of temporal reference, which are all conditional elements
on their own. However, at least one of them must be provided.
Prerequisites
A.01.validate must be passed
Test method
The four types of which one must be provided are Temporal extent, Date of publication, Date
of last revision and Date of creation. This test performs the following checks:
Is a valid TimePeriod and does it contain gml:beginPosition and gml:endPosition or
gml:begin/gml:timeInstant/gml:timePosition x 2 or
gml:begin/gml:timeInstant/gml:timePosition and gml:endPosition or
gml:beginPosition and gml:begin/gml:timeInstant/gml:timePosition
Is a valid date of publication given at dateType='publication'
Is a valid date of last revision given at dateType='revision'
Is a valid date of creation given at dateType='creation'
The test will fail if and only if at least one check among date of publication, date of last revision
or date of creation doesn’t evaluate to true.
Reference(s)
ISO 19108
ISO 8601
TG MD Chap. 2.6.1 - 2.6.4, Req 22 & 23
IR MD Part B. 5.1
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
TimePeriod gmd:identificationInfo[1]//gmd:extent//gmd:temporalElement/*/gmd:exten
t/gml:TimePeriod
date gmd:identificationInfo[1]//gmd:citation//gmd:date
dateType gmd:identificationInfo[1]//gmd:citation//gmd:date/*/gmd:dateType
25
A.18.IR26.lineage
Purpose: If the type of the resource was dataset or series, exactly one explanation about the
lineage of a dataset must be given
Prerequisites
A.01.validate must be passed
Test method
The test first checks if a valid lineage statement is given and it is not an empty characterstring
It then validates that exactly one lineage statement like the one above is given.
Reference(s)
TG MD 2.7.1, Req 26
IR MD Part B. 2.6
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
statement gmd:dataQualityInfo//gmd:lineage//gmd:statement
26
A.19.IR28.ds.conformity
Purpose: The metadata shall include information on the degree of conformity with the
implementing rules on interoperability of spatial data sets and services.
Prerequisites
A.01.validate must be passed
Test method
For every conformity statement, one conformance result indicated by a boolean value must be
given.
The test first checks if there is at least one conformance result of type gco:Boolean. It then
performs the following actions for every element at ./*/gmd:result:
If the element has an element ./*/gmd:pass, it must contain a value of type gco:Boolean.
Reference(s)
TG MD,2.8.1, Req 28
IR MD Part B. 2.8
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
Result gmd:dataQualityInfo//gmd:report//gmd:result
27
A.20.IR29.ds.specification
Purpose: For every conformity statement, one citation of the product specification or user
requirement against which data is being evaluated must be given.
Prerequisites
A.01.validate must be passed
Test method
The test first checks if there is at least one specification. In case there is none, a warning is
thrown. It then performs the following checks
The specification must contain an element of type gmd:CI_Citation/gmd:title which
should not be an empty characterstring
The specification must contain an element of type
gmd:CI_Citation/gmd:date[.//gmd:dateType//text()='{type}']/*/gmd:date, where
{type} is one of creation, revision and publication.
Reference(s)
TG MD, 2.8.2, Req 29
IR MD Part B. 7.2
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
specification ./gmd:dataQualityInfo//gmd:report//gmd:result/*/specification
28
A.21.IR30.IR31.IR31.ds.public.access
Purpose
Limitations on public access must be described at least once for the resource.
There shall be at least one ISO 19115 metadata element representing a limitation on public
access and one ISO 19115 metadata element representing a condition applying to access and
use as part of the different instances of MD_Constraints and its subclasses
There shall be at least one instance of MD_Constraints or one of its subclasses even if there is
no limitation on public access or no specific condition applies to access and use of the resource.
Limitations on public access shall be represented by at least one of these metadata elements:
MD_LegalConstraints.accessConstraints
MD_LegalConstraints.otherConstraints
MD_SecurityConstraints.classification
Prerequisites
A.01.validate must be passed
Test method
Check whether at least one of the elements available inside gmd:resourceConstraints passes at
least one of the following checks:
Check whether it contains an element accessConstraints of type
gmd:MD_RestrictionCode[@codeListValue=x], where x is of type
MD_RestrictionCode as defined in ISO 19115, chapter B.5.24. If x is
“otherRestrictions” check also whether the element inside gmd:resourceConstraints
contains an element otherConstraints of type CharacterString and which is not an empty
characterstring.
Check whether it contains an element classification of type
gmd:MD_ClassificationCode[@codeListValue=x], where x is of type
MD_ClassificationCode as defined in ISO 19115, chapter B.5.24.
If none of the elements inside gmd:resourceConstraints passes at least one of the checks, the
test fails.
Reference(s)
ISO 19115, B.5.24
TG MD 2.9.1, Req 30, 31 & 32
Test type: Automated
Notes
29
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
resourceConstraints ./gmd:identificationInfo//gmd:MD_DataIdentification//gmd:resource
Constraints/*
30
A.22.IR33.IR34.ds.access.use
Purpose: Conditions applying to access and use must be described at least once for the
resource.
Prerequisites
A.01.validate must be passed
Test method
The test checks if a useLimitation element is provided and it is not an empty characterstring.
If no conditions apply to the access and use of the resource, "no conditions apply" shall be
used. If conditions are unknown, "conditions unknown" shall be used.
Descriptions of terms and conditions, including where applicable, the corresponding fees shall
be provided through this element or a link (URL) where these terms and conditions are
described.
Reference(s)
TG MD, 2.9.2, Req 33,34
IR MD Part B. 8.2
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
useLimitation ./gmd:identificationInfo//gmd:resourceConstraints//gmd:useLimitation
31
A.23.IR35.IR36.responsible.party.contact.in
fo
Purpose: Name and contact email to a responsible party must be given for every responsible
organization in the metadata.
Prerequisites
A.01.validate must be passed
Test method
The test first checks if there is at least one element at
gmd:identificationInfo/*/gmd:pointOfContact. Furthermore, the following checks are
performed
There must not be an empty characterstring at ./gmd:organisationName
There must not be an empty characterstring at
./gmd:contactInfo//gmd:address//gmd:electronicMailAddress
Reference(s)
TG MD 2.10.1, Req 35 & 36
IR MD Part B. 3.5
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
CI_ResponsibleParty ./gmd:identificationInfo//gmd:pointOfContact//gmd:CI_ResponsibleParty
32
A.24.responsible.party.role
Purpose: Every responsible organization must name a responsible party role.
Prerequisites
A.01.validate must be passed
Test method
The test first checks if there is at least one role element. The element must contain an element
at gmd:CI_RoleCode[@codeListValue=x], where x is one of the values described in ISO
19115, chapter B.5.5.
Reference(s)
ISO 19115, B.5.5
TG MD, 2.10.2
IR MD Part B. 9.2
Test type: Automated
Notes
There is no explicit Implementation Requirement in TG MD for this test.
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
role gmd:identificationInfo[1]//gmd:pointOfContact//gmd:role
33
A.25.IR37.md.contact
Purpose: At least one point of contact must be given.
Prerequisites
A.01.validate must be passed
Test method
The test first checks if a contact element is given. It then performs the following checks for
every element at gmd:contact:
There must not be an empty characterstring at ./gmd:organisationName
There must not be an empty characterstring at
./gmd:contactInfo//gmd:address//gmd:electronicMailAddress
Reference(s)
TG MD 2.11.1, Req 37
IR MD Part B. 10.1
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
Contact ./gmd:contact/gmd:CI_ResponsibleParty
34
A.26.IR38.md.contact.role
Purpose: The role information of the responsible party serving as metadata point of contact is
mandatory by the ISO 19115. Role code "pointOfContact" must be used.
Prerequisites
A.01.validate must be passed
Test method
Check that the metadata record contains the RoleCode element under contact.
Check that the attribute codeList has value "http://standards.iso.org/ittf/
PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.x
ml#CI_RoleCode"
Check that the attribute codeListValue has value "pointOfContact".
Reference(s)
TG MD 2.11.2, Req 38
ISO 19115
Test type: Automated
Notes
The TG Requirement 38 is not clear: The requirement text says that "the default value is
pointOfContact", but it refers to SC16, which seems to mandate a fixed value:
SC16.The value of
MD_Metadata.contact[1].CI_ResponsibleParty.role.CI_RoleCode shall be
pointOfContact.
Open questions:
The the codeList URL above the only approved way to refer to the CI_RoleCode
codelist?
Does the string value of the RoleCode element have any significance? Does it have to
also be "pointOfContact" or can it be missing entirely?
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
RoleCode ./gmd:contact/gmd:CI_ResponsibleParty/gmd:role/gmd:CI_RoleCode
codeList ./gmd:contact/gmd:CI_ResponsibleParty/gmd:role/gmd:CI_RoleCode
@codeList
35
Abbreviation XPath expression (relative to gmd:MD_Metadata)
codeListValue ./gmd:contact/gmd:CI_ResponsibleParty/gmd:role/gmd:CI_RoleCode
@codeListValue
36
A.26.IR39.language
Purpose: A metadata language must be given.
Prerequisites
A.01.validate must be passed
Test method
The test first check is if a gmd:LanguageCode object is given at gmd:language and contains a
codeListValue attribute. It is then checked if the codeListValue attribute contains a valid 3-
letter language code according to ISO 639-2.
Reference(s)
TG MD Chap. 2.11.3, Req 39
IR MD Part B. 10.3
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
language gmd:language
37
A.29.IR07.srv.identification
Purpose: If the resource is a spatial data service, this metadata element refers to the target
spatial data set(s) of the service. It is implemented by reference, i.e. through a URL that points
to the metadata record of the data on which the service operates.
Prerequisites
A.01.validate must be passed
Test method
The operatesOn element in the SV_ServiceIdentification element should resolve to the
metadata document describing the dataset exposed by this service.
todo: to validate this is the proper identification, the identification used in capabilities might be
required
Reference(s)
TG MD, 2.2.6, req 7
IR MD Part B. 1.6
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
SV_ServiceIdentification ./gmd:identificationInfo/srv:SV_ServiceIdentification/srv:operate
sOn
38
A.30.IR27.ds.spatial.resolution
Purpose: If the type of the resource was dataset or series, Each spatial resolution is either an
equivalentScale OR a ground sample distance.
Prerequisites
A.01.validate must be passed
Test method
Each spatialResolution element must contain either an equivalent scale or a distance but not
both
Reference(s)
TG MD, Req 27
IR MD Part B. 6.2
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
spatialResolution ./gmd:identificationInfo//gmd:MD_DataIdentification//gmd:spatialRes
olution
equivalentScale ./gmd:spatialResolution/gmd:MD_Resolution/gmd:equivalentScale
distance ./gmd:spatialResolution/gmd:MD_Resolution/gmd:distance/gco:Distan
ce
39
A.31.IR25.resource.creation.date
Purpose: There cannot be more than one creation date.
Prerequisites
A.01.validate must be passed
Test method
Check that at most one Creation date exists. If it does, pass the test. Otherwise fail the test.
Reference(s)
TG MD 2.6.4, TG Requirement 25
IR MD, Part B 5.4
Test type: Automated
Notes
Contextual XPath references
The namespace prefixes used as described in README.md.
Abbreviation XPath expression (relative to gmd:MD_Metadata)
Creation date
./gmd:identificationInfo[1]/*/gmd:citation/gmd:CI_Citation/gmd:d
ate/gmd:CI_Date[gmd:dateType/gmd:CI_DateTypeCode/(@codeL
ist='http://www.isotc211.org/2005/resources/codeList.xml#CI_Dat
eTypeCode' and (@codeListValue='creation'))]/gmd:date/gco:Date