inspire-eu-validation / ets-repository

Repository for Executable Test Suites of the INSPIRE validator (under development)
European Union Public License 1.2
13 stars 25 forks source link

Incorrect validation error on INSPIRE vocabulary date and date type #180

Open coravanoorschot opened 5 years ago

coravanoorschot commented 5 years ago

Error message: The metadata record set has 1 record(s) with errors for this assertion. XML document 'Geolocator-metadata_dataset_new7.xml', record '3401db4d-e04d-4514-8907-c78691e62558': The metadata record has keywords which originate from a controlled vocabulary 'GEMET - INSPIRE themes, version 1.0', but the date or date type is not correct. Date should be '2008-06-01' and date type 'publication'. The keywords are: Geographical names; Land use; Hydrography; Transport networks; Sea regions; Buildings.

This error messag is not correct, because the XML contains a correct date and date type. ETF Validation report: http://inspire-sandbox.jrc.ec.europa.eu/etf-webapp//v2/TestRuns/EIDf6f794af-27c5-4a6e-aba8-9805a215c8a1.html The XML is attachted in Zipfile: Geolocator-metadata_dataset_new7.zip

OscarD31 commented 5 years ago

Same problem here. It must be something quite recent, because the same metadata file not so long ago didn't get that error.

michellutz commented 5 years ago

@inakidiazdecerio Could you pls look into this? Thanks.

inakidiazdecerio commented 5 years ago

Dear @coravanoorschot and @michellutz,

The assertion is checking that the date is "2008-06-01", that the attribute codeListValue and text of date type element is "publication". In the example provided there is no text value, that is the reason there is an error.

See the example with the publication value:

<gmd:CI_Date>
             <gmd:date>
                      <gco:Date>2008-06-01</gco:Date>
             </gmd:date>
             <gmd:dateType>
                        <gmd:CI_DateTypeCode  codeList="./resources/codeList.xml#CI_DateTypeCode" codeListValue="publication">publication</gmd:CI_DateTypeCode>
              </gmd:dateType>
</gmd:CI_Date>

@michellutz Are you agree if we remove the check for the text value? The assertion should only check the date element is "2008-06-01" and that the code list value attribute is "publication".

michellutz commented 5 years ago

Yes, in my view, the test could be relaxed to check only (as also specified in TG requirement C.21 in the MD TG v2.0) that

Please, note, however, that according to section 8.5.5.1 Building blocks of the CodeList encoding in ISO/TS 19139:2007, the element should actually also have non-empty content:

The content of the element is either the name of the codelist value in the given code space or the name corresponding to the codelist value in the default language of the metadata when the codeSpace attribute is not present.

EXAMPLE 4 Here is a full instance of CI_DateTypeCode expressed in the domaineCode code space:

<CI_DateTypeCode codeList= “http://www.tc211.org/ISO19139/resources/codeList.xml#CI_DateTypeCode” 
codeListValue="creation"  codeSpace="domainCode">0001</CI_DateTypeCode>

EXAMPLE 5 Here is a full instance of CI_DateTypeCode expressed in the default language of the metadata (e.g. English):

<CI_DateTypeCode codeList=“http://www.tc211.org/ISO19139/resources/codeList.xml#CI_DateTypeCode”
codeListValue="creation">Creation</CI_DateTypeCode> 

The XML element value ensures the user of access to a valid default expression of the actual value of the CodeList, while the three attributes ensure the application the ability access the full definition of the CodeList and its values, typically for customization of the user interface (creation of a drop down box providing the registered or catalogued value of the codelist, multilingual and multicultural management).

I guess, this is a more general issue for discussion in the 2017.4 sub-group.

MarieLambois commented 5 years ago

Agree with Michael. The content of codelist elements is free and can be in other languages (We often use that option in France). Only the codeListValue should be tested.

AntoRot commented 5 years ago

I think that the test should check the codeListValue and that the content is non-empty regardless the value, according to the mentioned section in the ISO TS 19139. In this regard, see also the section A.11 Codelists in the MD TG v. 1.3 that recommends two ways to reference code lists: either the element value repeats the codeListValue or the element name is expressed in the default metadata language. In both cases, the content is non-empty. e.g. In Italy the content of the code list elements is preferably expressed in Italian (but also the value of codeListValue is accepted) and is always required. Concerning the codeList attribute, both in the XML attached and in the Italian current implementations, a value other than that one required in the mentioned TG Req C.21 is used (namely "http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/gmxCodelists.xml#CI_DateTypeCode").

IGNCNIG commented 5 years ago

We agree with Michael and Antonio: codeListValue should be tested and the content should be non-empty regardless the value.

thijsbrentjens commented 5 years ago

Agreed with changing the test like @michellutz describes.

MarcoMinghini commented 5 years ago

[2017.4 meeting 2018-11-15] all agree to change the test, as suggested above.

inakidiazdecerio commented 5 years ago

Dear @coravanoorschot,

We are happy to announce that the solution for this issue has been implemented in the INSPIRE Validator. We have prepared a testing environment with the solution. The solution passed our quality controls, but we will appreciate if you could test it before deploying it in production.

You will find the solution deployed in following link:

http://staging-inspire-validator.eu-west-1.elasticbeanstalk.com/etf-webapp/

Thanks in advance for your help.

coravanoorschot commented 5 years ago

Dear Inaki,

I have run a test in the ETF staging tool. Unfortunately the keyword error is not solved.

Error message: The metadata record set has 1 record(s) with errors for this assertion. XML document 'EGM_metadata_dataset_new2.xml', record '1aa0a808-7822-43d7-9006-4a085f7fd2f9': The metadata record has keywords which originate from a controlled vocabulary 'GEMET - INSPIRE themes, version 1.0', but the gmd:CI_DateTypeCode element is empty. The keywords are: Geographical names; Hydrography; Transport networks; Administrative units.

In the tested metadata file the DateTypeCode is present, see the printcreen below and the attached XML file.

2019-04-15 10_32_53-My GeoNetwork catalogue

EGM_metadata_dataset_new2 - kopie.txt

Met vriendelijke groet,

Cora van Oorschot-Rudolphie Operationeel Informatiemanager PDOK Kadaster, afd. GVA/MB/LV (088) 183 39 42 / (06) 108 580 12 cora.vanoorschot@kadaster.nlmailto:cora.vanoorschot@cora.vanoorschot@kadaster.nl www.pdok.nlhttp://www.pdok.nl/ [95AF5C05] [6A06F15B]

Van: Iñaki Diaz de Cerio notifications@github.com Verzonden: woensdag 10 april 2019 08:00 Aan: inspire-eu-validation/ets-repository ets-repository@noreply.github.com CC: Oorschot-Rudolphie, Cora van Cora.vanOorschot@kadaster.nl; Mention mention@noreply.github.com Onderwerp: Re: [inspire-eu-validation/ets-repository] Incorrect validation error on INSPIRE vocabulary date and date type (#180)

Dear @coravanoorschothttps://github.com/coravanoorschot,

We are happy to announce that the solution for this issue has been implemented in the INSPIRE Validator. We have prepared a testing environment with the solution. The solution passed our quality controls, but we will appreciate if you could test it before deploying it in production.

You will find the solution deployed in following link:

http://staging-inspire-validator.eu-west-1.elasticbeanstalk.com/etf-webapp/

Thanks in advance for your help.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/inspire-eu-validation/ets-repository/issues/180#issuecomment-481545202, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AjJcaR5UzDugw4G9goceHmRB87yxnVJNks5vfX3qgaJpZM4W2ngP.

Disclaimer: De inhoud van dit bericht is uitsluitend bestemd voor geadresseerde. Gebruik van de inhoud van dit bericht door anderen zonder toestemming van het Kadaster is onrechtmatig. Mocht dit bericht ten onrechte bij u terecht komen, dan verzoeken wij u dit direct te melden aan de verzender en het bericht te vernietigen. Aan de inhoud van dit bericht kunnen geen rechten worden ontleend.

Disclaimer: The content of this message is meant to be received by the addressee only. Use of the content of this message by anyone other than the addressee without the consent of the Kadaster is unlawful. If you have received this message, but are not the addressee, please contact the sender immediately and destroy the message. No rights can be derived from the content of this message

inakidiazdecerio commented 5 years ago

Dear @coravanoorschot,

Thank you for your feedback. The assertion checks that the codeListValue attribute is "publication", and with the latest changes also that there is a non-empty value of the element .

If you put a value in the element (for example "publication") the test should be pass.

Regards.

coravanoorschot commented 5 years ago

Dear Inaki,

The codelist value “publication” is not mandatory, so I don’t think is right to validate only on the codelist value “publication” and not on the other codelist values, for instance “revision” of “creation”.

Kind regards,

Cora van Oorschot

Van: Iñaki Diaz de Cerio notifications@github.com Verzonden: dinsdag 23 april 2019 11:40 Aan: inspire-eu-validation/ets-repository ets-repository@noreply.github.com CC: Oorschot-Rudolphie, Cora van Cora.vanOorschot@kadaster.nl; Mention mention@noreply.github.com Onderwerp: Re: [inspire-eu-validation/ets-repository] Incorrect validation error on INSPIRE vocabulary date and date type (#180)

Dear @coravanoorschothttps://github.com/coravanoorschot,

Thank you for your feedback. The assertion checks that the codeListValue attribute is "publication", and with the latest changes also that there is a non-empty value of the element .

If you put a value in the element (for example "publication") the test should be pass.

Regards.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/inspire-eu-validation/ets-repository/issues/180#issuecomment-485729959, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AIZFY2IUJCG3ZCDYTVGPKQDPR3KOZANCNFSM4FW2PAHQ.

Disclaimer: De inhoud van dit bericht is uitsluitend bestemd voor geadresseerde. Gebruik van de inhoud van dit bericht door anderen zonder toestemming van het Kadaster is onrechtmatig. Mocht dit bericht ten onrechte bij u terecht komen, dan verzoeken wij u dit direct te melden aan de verzender en het bericht te vernietigen. Aan de inhoud van dit bericht kunnen geen rechten worden ontleend.

Disclaimer: The content of this message is meant to be received by the addressee only. Use of the content of this message by anyone other than the addressee without the consent of the Kadaster is unlawful. If you have received this message, but are not the addressee, please contact the sender immediately and destroy the message. No rights can be derived from the content of this message

inakidiazdecerio commented 5 years ago

Dear @coravanoorschot,

These changes were discussed in the pull request #194 (see the comment https://github.com/inspire-eu-validation/ets-repository/pull/194#issuecomment-474792818).

Regards.