Skip to content

Commit

Permalink
Merge pull request #405 from inspire-eu-validation/issue-213
Browse files Browse the repository at this point in the history
Issue 213
  • Loading branch information
danielnavarrogeo committed Feb 13, 2020
2 parents 0f01772 + fb739c6 commit a1f49c9
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -957,14 +957,21 @@
XML document '{filename}', record '{id}': Keyword element must have to include a Non-empty Free Text.
</TranslationTemplate>
</translationTemplates>
</LangTranslationTemplateCollection>
<LangTranslationTemplateCollection name="TR.AnchorNotFound">
</LangTranslationTemplateCollection>
<LangTranslationTemplateCollection name="TR.SpatialDataServiceCategoryNotFound">
<translationTemplates>
<TranslationTemplate language="en" name="TR.AnchorNotFound">
XML document '{filename}', record '{id}': At least one keyword shall be given withe a child Anchor that includes an xlink:href attribute with one of the language-natural keyword values as defined in "Classification of Spatial Data Services" Part D 4.
<TranslationTemplate language="en" name="TR.SpatialDataServiceCategoryNotFound">
XML document '{filename}', record '{id}': At least one keyword shall be given with a child Anchor including an xlink:href attribute or CharacterString with one of the language-natural keyword values as defined in "Classification of Spatial Data Services" Part D 4.
</TranslationTemplate>
</translationTemplates>
</LangTranslationTemplateCollection>
<LangTranslationTemplateCollection name="TR.SpatialDataServiceCategoryInvalid">
<translationTemplates>
<TranslationTemplate language="en" name="TR.SpatialDataServiceCategoryInvalid">
XML document '{filename}', record '{id}': The xlink:href attribute inside Anchor of keyword element must be one of the allowed values in "Classification of Spatial Data Services" Part D 4.
</TranslationTemplate>
</translationTemplates>
</LangTranslationTemplateCollection>
<LangTranslationTemplateCollection name="TR.missingOtherConstraints">
<translationTemplates>
<TranslationTemplate language="en" name="TR.missingOtherConstraints">
Expand Down
26 changes: 22 additions & 4 deletions metadata/2.0/sds/ets-md-sds-bsxets.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ Source: <a href="http://inspire.ec.europa.eu/id/ats/metadata/2.0/sds" target="_b
<br/><br/>
Pre-requisite conformance classes: none]]></description>
<reference>../../../inspire-md-bsxets.xq</reference>
<version>1.0.1</version>
<version>1.0.2</version>
<author>Consortium Bilbomatica, Guadaltel y Geograma</author>
<creationDate>2018-06-30T00:00:00Z</creationDate>
<lastEditor>Consortium Bilbomatica, Guadaltel y Geograma</lastEditor>
<lastUpdateDate>2020-01-16T16:00:00Z</lastUpdateDate>
<lastUpdateDate>2020-02-13T16:00:00Z</lastUpdateDate>
<tags>
<tag ref="EIDc6567beb-fc33-4f2e-865d-0c3ee5b3d1ae"/>
</tags>
Expand Down Expand Up @@ -213,15 +213,30 @@ return
<!-- DONE -->
let $validCategoriesUrl := fn:doc('http://inspire.ec.europa.eu/metadata-codelist/SpatialDataServiceCategory/SpatialDataServiceCategory.en.xml')/*:metadata-codelist/*:containeditems/*:value/@id
let $validCategories := for $x in $validCategoriesUrl return fn:substring($x, 74)
let $spatialDataServiceCategory := 'http://inspire.ec.europa.eu/metadata-codelist/SpatialDataServiceCategory'
let $messages :=
(for $record in $records
let $keywordElements := $record/gmd:identificationInfo[1]/srv:SV_ServiceIdentification/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword
let $sdsCategoryKeywordAnchors :=
for $x in $keywordElements
where $x/gmx:Anchor/@xlink:href[starts-with(.,$spatialDataServiceCategory)]
return $x
let $sdsCategoryCharacterStrings :=
for $x in $keywordElements
where $x/gco:CharacterString = $validCategories
return $x
let $validSdsKeywordAnchors :=
for $x in $sdsCategoryKeywordAnchors
where $x/gmx:Anchor/@xlink:href = $validCategoriesUrl
return $x
let $rid := $record/gmd:fileIdentifier/*/text()
return
if (not($keywordElements)) then
local:addMessage('TR.keywordElementNotFound', map { 'filename': local:filename($record), 'id': $rid})
else if(not($keywordElements/gmx:Anchor/@xlink:href)) then
local:addMessage('TR.AnchorNotFound', map { 'filename': local:filename($record), 'id': $rid})
else if (not(count($sdsCategoryKeywordAnchors) = count($validSdsKeywordAnchors))) then
local:addMessage('TR.SpatialDataServiceCategoryInvalid', map { 'filename': local:filename($record), 'id': $rid})
else if (count($validSdsKeywordAnchors) = 0 and count($sdsCategoryCharacterStrings) = 0) then
local:addMessage('TR.SpatialDataServiceCategoryNotFound', map { 'filename': local:filename($record), 'id': $rid})
else
let $emptyKeywordsText :=
(for $keyword in $keywordElements
Expand Down Expand Up @@ -255,7 +270,10 @@ return
<translationTemplates>
<translationTemplate ref="TR.recordsWithErrors"/>
<translationTemplate ref="TR.keywordElementNotFound"/>
<translationTemplate ref="TR.SpatialDataServiceCategoryNotFound"/>
<translationTemplate ref="TR.SpatialDataServiceCategoryInvalid"/>
<translationTemplate ref="TR.missingValidKeywordElement"/>
<translationTemplate ref="TR.missingValidKeywordAnchor"/>
</translationTemplates>
</TestAssertion>

Expand Down

0 comments on commit a1f49c9

Please sign in to comment.