Hello,
I have a project I am working on that will allow the use of template
metadata records in the OGC WxS harvesting regime. The idea is that a
service metadata template and a layer metdata template could be
pre-populated with info not available through the extraction. This will ease
the creation of complete metadata using this harvesting mechanism. What I am
stuck on now and need advice on, is which approach I should take. I have
identified thus far three approaches:
1 - Passing the selected template ids to the existing process .xsl files for
conversion and modifying these .xsl to perform the merge. This is the
approach that I have progressed on the furthest (I have working code), but
do not particularly like it because it means modifying most every .xsl file
involved in the process. I would like a more generic solution.
2 - Utilising the fragments approach that is used by the Thredds harvester
(fragmentHarverster). This may be the preferred approach and was suggested
to me as it better leverages existing methodologies. However, it seems to me
that it would me some fairly heavy re-engineering of the existing OGC WxS
harvesting tools. I may be wrong, but it appears that this approach means I
need to create an additional .xsl file that creates a set of fragments
before I create the metadata against the template record, because it is not
designed to process a fully structured metadata record against a template?
3 - The approach that I personally like best is to use XSLT as a post
process on the existing mechanism. The harvested metadata is merged with the
template before insertion. Both the harvested and template metadata are then
of the same schema. This would involve the least intervention on existing
processes and would be the easiest to modify and customise. However, maybe
it is just my limited XSLT ability, but I am having difficulty making this
approach work - creating a .xsl that merges and overwrites the template with
the harvested data in the proper manner has thus far proved elusive.
I would like a solution that is as generic and accessible as posible, but
unfortunately have limited time and ability to put towards this project.
Beyond OGC WxS harvesting, I see that a mechanism like this could be useful
for other processes that automatically gather metadata to be inserted into
the the metadata repository.
I would be interested in hearing any of your thoughts on this matter.
Thanks,
Byron
--
View this message in context: http://osgeo-org.1560.x6.nabble.com/OGC-WxS-harvesting-to-Template-record-tp5058900.html
Sent from the GeoNetwork developer mailing list archive at Nabble.com.
Hi Byron,
2013/6/9 ByronCinNZ <cochranes4@anonymised.com>:
Hello,
I have a project I am working on that will allow the use of template
metadata records in the OGC WxS harvesting regime. The idea is that a
service metadata template and a layer metdata template could be
pre-populated with info not available through the extraction. This will ease
the creation of complete metadata using this harvesting mechanism. What I am
stuck on now and need advice on, is which approach I should take. I have
identified thus far three approaches:
1 - Passing the selected template ids to the existing process .xsl files for
conversion and modifying these .xsl to perform the merge. This is the
approach that I have progressed on the furthest (I have working code), but
do not particularly like it because it means modifying most every .xsl file
involved in the process. I would like a more generic solution.
2 - Utilising the fragments approach that is used by the Thredds harvester
(fragmentHarverster). This may be the preferred approach and was suggested
to me as it better leverages existing methodologies. However, it seems to me
that it would me some fairly heavy re-engineering of the existing OGC WxS
harvesting tools. I may be wrong, but it appears that this approach means I
need to create an additional .xsl file that creates a set of fragments
before I create the metadata against the template record, because it is not
designed to process a fully structured metadata record against a template?
3 - The approach that I personally like best is to use XSLT as a post
process on the existing mechanism. The harvested metadata is merged with the
template before insertion. Both the harvested and template metadata are then
of the same schema. This would involve the least intervention on existing
processes and would be the easiest to modify and customise. However, maybe
it is just my limited XSLT ability, but I am having difficulty making this
approach work - creating a .xsl that merges and overwrites the template with
the harvested data in the proper manner has thus far proved elusive.
option 3 looks like a good choice for me.
What you could have a look into is the process updating children from
parent record which is merging 2 records
https://github.com/geonetwork/core-geonetwork/blob/develop/web/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/update-child-from-parent-info.xsl
BTW, I've similar needs here but more on synchronizing existing
records (not creating new one from template). This could be done
manually using the suggestion in the editor, but it may be relevant to
also provide a synchronization mechanism.
Cheers.
Francois
I would like a solution that is as generic and accessible as posible, but
unfortunately have limited time and ability to put towards this project.
Beyond OGC WxS harvesting, I see that a mechanism like this could be useful
for other processes that automatically gather metadata to be inserted into
the the metadata repository.
I would be interested in hearing any of your thoughts on this matter.
Thanks,
Byron
--
View this message in context: http://osgeo-org.1560.x6.nabble.com/OGC-WxS-harvesting-to-Template-record-tp5058900.html
Sent from the GeoNetwork developer mailing list archive at Nabble.com.
------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j
_______________________________________________
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
Thanks Francois,
The feedback, and my own comfort level is pointing me to Option 3. Although
I think my first iteration of a solution may be more like option 2 with more
abstraction needed to come closer to what I want in option 3. (Such as
handling differing element names between profiles - not too difficult, but
not not immediately needed for this project.) Of course a separate .XSL
wound be needed for metadata not based on iso191115/139.
Your xslt code is very helpful. Cleaner than my current approach. You
clearly are more skilled in this area than myself. The main change it
seems I will need to make will be to extract the params from a single xml
file - not very difficult.
I will post my results hopefully within a week.
Cheers,
Byron
--
View this message in context: http://osgeo-org.1560.x6.nabble.com/OGC-WxS-harvesting-to-Template-record-tp5058900p5060283.html
Sent from the GeoNetwork developer mailing list archive at Nabble.com.