[GeoNetwork-devel] CSW Metadata transformer (GeoNetwork 3.0)

Hi

In GN 3.0, there’s a GetRecordByIdMetadataTransformer interface that allows to apply custom xsl to the metadata to be returned by CSW. I have some questions:

  • This is only working in GetRecordById. Would not be better to apply such a process in the CSW Search Controller instead? That way should work both in GetRecords and GetRecordsById.

  • Is there any example of implementation in any profile? In the GN code, no class implements the interface. I guess apart of the class implementing the interface, some configuration is required.

For a GN 2.10 project, I’ve done something similar (not using this transformer interface), but updating SearchController and relaying on xsl files in the present/csw folder of the schemas. As an example, of how works if the postprocessing files are available:

For default CSW service

  1. iso-csw-postprocessing.xsl : Postprocessing xsl applied for CSW service when requesting iso output

  2. ogc-csw-postprocessing.xsl : Postprocessing xsl applied for CSW service when requesting ogc (csw) output

For a custom CSW service named csw-inspire

  1. iso-csw-inspire-postprocessing.xsl : Postprocessing xsl applied for custom CSW csw-inspire service when requesting iso output

  2. ogc-csw-inspire-postprocessing.xsl : Postprocessing xsl applied for custom CSW csw-inspire service when requesting ogc (csw) output

I like the idea of the implementation in GN 3.0, but would like to improve it to support it also for GetRecords.

I can manage to change the actual implementation, but would be nice to have some examples.

Any feedback about this is welcome.

Regards,
Jose García

···

Vriendelijke groeten / Kind regards,

Jose García


Veenderweg 13
6721 WD Bennekom
The Netherlands
T: +31 (0)318 416664
M: +31 (0)655 818332

Please consider the environment before printing this email.

Hi Jose,

···

2015-08-20 13:16 GMT+02:00 Jose Garcia <jose.garcia@anonymised.com…>:

Hi

In GN 3.0, there’s a GetRecordByIdMetadataTransformer interface that allows to apply custom xsl to the metadata to be returned by CSW. I have some questions:

  • This is only working in GetRecordById. Would not be better to apply such a process in the CSW Search Controller instead? That way should work both in GetRecords and GetRecordsById.

  • Is there any example of implementation in any profile? In the GN code, no class implements the interface. I guess apart of the class implementing the interface, some configuration is required.

For a GN 2.10 project, I’ve done something similar (not using this transformer interface), but updating SearchController and relaying on xsl files in the present/csw folder of the schemas. As an example, of how works if the postprocessing files are available:

For default CSW service

  1. iso-csw-postprocessing.xsl : Postprocessing xsl applied for CSW service when requesting iso output

  2. ogc-csw-postprocessing.xsl : Postprocessing xsl applied for CSW service when requesting ogc (csw) output

For a custom CSW service named csw-inspire

  1. iso-csw-inspire-postprocessing.xsl : Postprocessing xsl applied for custom CSW csw-inspire service when requesting iso output

  2. ogc-csw-inspire-postprocessing.xsl : Postprocessing xsl applied for custom CSW csw-inspire service when requesting ogc (csw) output

I like the idea of the implementation in GN 3.0, but would like to improve it to support it also for GetRecords.

I can manage to change the actual implementation, but would be nice to have some examples.

CSW outputs for both operations are already based on XSL no ? https://github.com/geonetwork/core-geonetwork/tree/develop/schemas/iso19139/src/main/plugin/iso19139/present/csw
Do we really need to add 2 XSL steps. Can’t you simply add new output XSLTs to do all in one step ?
Do you have use case of what a postprocessor would do ?

Cheers.
Francois

Any feedback about this is welcome.

Regards,
Jose García

Vriendelijke groeten / Kind regards,

Jose García


Veenderweg 13
6721 WD Bennekom
The Netherlands
T: +31 (0)318 416664
M: +31 (0)655 818332

Please consider the environment before printing this email.



GeoNetwork-devel mailing list
GeoNetwork-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-devel
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork

Hi Francois

Sure, the xslt templates can be added to the existing xslt for csw. But then can’t manage any difference between CSW end points. Afaik my customer wants to apply different xslt processing depending on the CSW end point.

Regards,
Jose García

···

On Fri, Aug 21, 2015 at 8:26 AM, Francois Prunayre <fx.prunayre@anonymised.com> wrote:

Hi Jose,

2015-08-20 13:16 GMT+02:00 Jose Garcia <jose.garcia@anonymised.com>:

Hi

In GN 3.0, there’s a GetRecordByIdMetadataTransformer interface that allows to apply custom xsl to the metadata to be returned by CSW. I have some questions:

  • This is only working in GetRecordById. Would not be better to apply such a process in the CSW Search Controller instead? That way should work both in GetRecords and GetRecordsById.

  • Is there any example of implementation in any profile? In the GN code, no class implements the interface. I guess apart of the class implementing the interface, some configuration is required.

For a GN 2.10 project, I’ve done something similar (not using this transformer interface), but updating SearchController and relaying on xsl files in the present/csw folder of the schemas. As an example, of how works if the postprocessing files are available:

For default CSW service

  1. iso-csw-postprocessing.xsl : Postprocessing xsl applied for CSW service when requesting iso output

  2. ogc-csw-postprocessing.xsl : Postprocessing xsl applied for CSW service when requesting ogc (csw) output

For a custom CSW service named csw-inspire

  1. iso-csw-inspire-postprocessing.xsl : Postprocessing xsl applied for custom CSW csw-inspire service when requesting iso output

  2. ogc-csw-inspire-postprocessing.xsl : Postprocessing xsl applied for custom CSW csw-inspire service when requesting ogc (csw) output

I like the idea of the implementation in GN 3.0, but would like to improve it to support it also for GetRecords.

I can manage to change the actual implementation, but would be nice to have some examples.

CSW outputs for both operations are already based on XSL no ? https://github.com/geonetwork/core-geonetwork/tree/develop/schemas/iso19139/src/main/plugin/iso19139/present/csw
Do we really need to add 2 XSL steps. Can’t you simply add new output XSLTs to do all in one step ?
Do you have use case of what a postprocessor would do ?

Cheers.
Francois

Any feedback about this is welcome.

Regards,
Jose García

Vriendelijke groeten / Kind regards,

Jose García


Veenderweg 13
6721 WD Bennekom
The Netherlands
T: +31 (0)318 416664
M: +31 (0)655 818332

Please consider the environment before printing this email.



GeoNetwork-devel mailing list
GeoNetwork-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-devel
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork

Vriendelijke groeten / Kind regards,

Jose García


Veenderweg 13
6721 WD Bennekom
The Netherlands
T: +31 (0)318 416664
M: +31 (0)655 818332

Please consider the environment before printing this email.