[GeoNetwork-users] Codelist implementation

Dear List,

I am implementing a custom schema based on 19139 and am having issues with
codelists. My raw XML documents contain references to a codelist, but when
I import the data, GeoNEtwork seems to change the reference. For example:

Raw:

<gmd:status>
<gmd:MD_ProgressCode codeList="<codelist name>"
codeListValue="completed">Completed</gmd:MD_ProgressCode>
</gmd:status>

Import:

<gmd:status>
            <gmd:MD_ProgressCode codeList="
http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_ProgressCode
"
                                 codeListValue="completed"/>
         </gmd:status>

This might explain why my code lists are working!

Why is it doing this? How do you stop it so hopefully it can point to the
correct codelist.

Thanks

Sam

Hi Sam

This is done in update-fixed-info process, that is executed when the
metadata is updated.

See
https://github.com/geonetwork/core-geonetwork/blob/master/schemas/iso19139/src/main/plugin/iso19139/update-fixed-info.xsl#L366-L374

This process is not recommended to be disabled, but you can update that
template it in the update-fixed-info.xsl of your schema to use the proper
value required by your schema

Regards,
Jose García

On Thu, Aug 30, 2018 at 11:22 AM, Sam Meek <sam.meek@anonymised.com> wrote:

Dear List,

I am implementing a custom schema based on 19139 and am having issues with
codelists. My raw XML documents contain references to a codelist, but when
I import the data, GeoNEtwork seems to change the reference. For example:

Raw:

<gmd:status>
<gmd:MD_ProgressCode codeList="<codelist name>"
codeListValue="completed">Completed</gmd:MD_ProgressCode>
</gmd:status>

Import:

<gmd:status>
            <gmd:MD_ProgressCode codeList="
http://standards.iso.org/ittf/PubliclyAvailableStandards/
ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_ProgressCode
"
                                 codeListValue="completed"/>
         </gmd:status>

This might explain why my code lists are working!

Why is it doing this? How do you stop it so hopefully it can point to the
correct codelist.

Thanks

Sam
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
GeoNetwork-users mailing list
GeoNetwork-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-users
GeoNetwork OpenSource is maintained at http://sourceforge.net/
projects/geonetwork

--

*Vriendelijke groeten / Kind regards,Jose García
<http://www.geocat.net/&gt;Veenderweg 136721 WD BennekomThe NetherlandsT: +31
(0)318 416664 <+31318416664> <https://www.facebook.com/geocatbv&gt;
<https://twitter.com/geocat_bv&gt;
<https://plus.google.com/u/1/+GeocatNetbv/posts&gt;Please consider the
environment before printing this email.*

Hi Jose,

Thank you, that appears to solve the problem. But I still cannot get the
editor to look to the codelist setup in loc/eng/codelists.xml . Do I need
to point something at this file? Can you please tell me where in the code
this file is referenced at all?

Thanks

On 30 August 2018 at 10:29, Jose Garcia <jose.garcia@anonymised.com> wrote:

Hi Sam

This is done in update-fixed-info process, that is executed when the
metadata is updated.

See https://github.com/geonetwork/core-geonetwork/
blob/master/schemas/iso19139/src/main/plugin/iso19139/
update-fixed-info.xsl#L366-L374

This process is not recommended to be disabled, but you can update that
template it in the update-fixed-info.xsl of your schema to use the proper
value required by your schema

Regards,
Jose García

On Thu, Aug 30, 2018 at 11:22 AM, Sam Meek <sam.meek@anonymised.com> wrote:

Dear List,

I am implementing a custom schema based on 19139 and am having issues with
codelists. My raw XML documents contain references to a codelist, but when
I import the data, GeoNEtwork seems to change the reference. For example:

Raw:

<gmd:status>
<gmd:MD_ProgressCode codeList="<codelist name>"
codeListValue="completed">Completed</gmd:MD_ProgressCode>
</gmd:status>

Import:

<gmd:status>
            <gmd:MD_ProgressCode codeList="
http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO
_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_ProgressCode
"
                                 codeListValue="completed"/>
         </gmd:status>

This might explain why my code lists are working!

Why is it doing this? How do you stop it so hopefully it can point to the
correct codelist.

Thanks

Sam
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
GeoNetwork-users mailing list
GeoNetwork-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-users
GeoNetwork OpenSource is maintained at http://sourceforge.net/project
s/geonetwork

--

*Vriendelijke groeten / Kind regards,Jose García
<http://www.geocat.net/&gt;Veenderweg 13
<https://maps.google.com/?q=Veenderweg+13+6721+WD+Bennekom+The+Netherlands&entry=gmail&source=g&gt;6721
WD Bennekom
<https://maps.google.com/?q=Veenderweg+13+6721+WD+Bennekom+The+Netherlands&entry=gmail&source=g&gt;The
Netherlands
<https://maps.google.com/?q=Veenderweg+13+6721+WD+Bennekom+The+Netherlands&entry=gmail&source=g&gt;T: +31
(0)318 416664 <+31318416664> <https://www.facebook.com/geocatbv&gt;
<https://twitter.com/geocat_bv&gt;
<https://plus.google.com/u/1/+GeocatNetbv/posts&gt;Please consider the
environment before printing this email.*

Hi Sam

I think there's a bug in the xslt template that handles codelists in the
iso19139:

https://github.com/geonetwork/core-geonetwork/blob/master/schemas/iso19139/src/main/plugin/iso19139/layout/layout.xsl#L503

This line uses explicitly the iso19139 codelist instead of the metadata
schema codelist.

<xsl:param name="codelists" select="$iso19139codelists" required="no"/>

So if your profile doesn't redefine the template, will default to this one
and will not use the ones from your schema, but the ones from iso19139.

A fix should be to update the line to be like:

<xsl:param name="codelists" select="$codelists" required="no"/>

But want to confirm with other developers, to avoid causing any side
effect.

In the meantime another option is to add the template in your profile
layout.xsl file, you have an example in
https://github.com/AstunTechnology/iso19139.gemini23/blob/master/src/main/plugin/iso19139.gemini23/layout/layout-custom-fields.xsl#L36-L74

You need to update the text highlighted in red in the following line, to
use the name of your profile instead:

<xsl:template mode="mode-iso19139" priority="5000" match="*[*/@codeList and
$schema='*iso19139.gemini23*']">

Regards,
Jose García

On Thu, Aug 30, 2018 at 12:28 PM, Sam Meek <sam.meek@anonymised.com> wrote:

Hi Jose,

Thank you, that appears to solve the problem. But I still cannot get the
editor to look to the codelist setup in loc/eng/codelists.xml . Do I need
to point something at this file? Can you please tell me where in the code
this file is referenced at all?

Thanks

On 30 August 2018 at 10:29, Jose Garcia <jose.garcia@anonymised.com> wrote:

Hi Sam

This is done in update-fixed-info process, that is executed when the
metadata is updated.

See https://github.com/geonetwork/core-geonetwork/blob/
master/schemas/iso19139/src/main/plugin/iso19139/update-
fixed-info.xsl#L366-L374

This process is not recommended to be disabled, but you can update that
template it in the update-fixed-info.xsl of your schema to use the proper
value required by your schema

Regards,
Jose García

On Thu, Aug 30, 2018 at 11:22 AM, Sam Meek <sam.meek@anonymised.com> wrote:

Dear List,

I am implementing a custom schema based on 19139 and am having issues
with
codelists. My raw XML documents contain references to a codelist, but
when
I import the data, GeoNEtwork seems to change the reference. For example:

Raw:

<gmd:status>
<gmd:MD_ProgressCode codeList="<codelist name>"
codeListValue="completed">Completed</gmd:MD_ProgressCode>
</gmd:status>

Import:

<gmd:status>
            <gmd:MD_ProgressCode codeList="
http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO
_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#MD_ProgressCode
"
                                 codeListValue="completed"/>
         </gmd:status>

This might explain why my code lists are working!

Why is it doing this? How do you stop it so hopefully it can point to the
correct codelist.

Thanks

Sam
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
GeoNetwork-users mailing list
GeoNetwork-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-users
GeoNetwork OpenSource is maintained at http://sourceforge.net/project
s/geonetwork

--

*Vriendelijke groeten / Kind regards,Jose García
<http://www.geocat.net/&gt;Veenderweg 13
<https://maps.google.com/?q=Veenderweg+13+6721+WD+Bennekom+The+Netherlands&entry=gmail&source=g&gt;6721
WD Bennekom
<https://maps.google.com/?q=Veenderweg+13+6721+WD+Bennekom+The+Netherlands&entry=gmail&source=g&gt;The
Netherlands
<https://maps.google.com/?q=Veenderweg+13+6721+WD+Bennekom+The+Netherlands&entry=gmail&source=g&gt;T: +31
(0)318 416664 <+31318416664> <https://www.facebook.com/geocatbv&gt;
<https://twitter.com/geocat_bv&gt;
<https://plus.google.com/u/1/+GeocatNetbv/posts&gt;Please consider the
environment before printing this email.*

--

*Vriendelijke groeten / Kind regards,Jose García
<http://www.geocat.net/&gt;Veenderweg 136721 WD BennekomThe NetherlandsT: +31
(0)318 416664 <+31318416664> <https://www.facebook.com/geocatbv&gt;
<https://twitter.com/geocat_bv&gt;
<https://plus.google.com/u/1/+GeocatNetbv/posts&gt;Please consider the
environment before printing this email.*