Version 5 (modified by 16 years ago) ( diff ) | ,
---|
First draft documentation
Simple concept presentation:
Store fragments of metadata as reference using XLink. Remote fragments are not editable in the metadata editor. The source document has to be modified.
Main principle
Metadata stored in DB
<gmd:contact> <gmd:CI_ResponsibleParty xlink:href= »xml/codelist/CI_ReponsibleParty.xml#xpointer(//gmd:CI_ResponsibleParty[id='XXXX'])xmlns(gml=http://www.isotc211.org/2005/gmd) »/></gmd:contact> <gmd:contact>
Metadata after XLink resolver operation:
<gmd:CI_ResponsibleParty xlink:href= »xml/codelist/CI_ReponsibleParty.xml#xpointer(//gmd:CI_ResponsibleParty[id='XXXX'])xmlns(gml=http://www.isotc211.org/2005/gmd) »> <gmd:individualName gco:nilReason="missing"> <gco:CharacterString/> </gmd:individualName> <gmd:organisationName> ... </gmd:CI_ResponsibleParty> </gmd:contact>
Configuration
In xml/schemas/iso19139/schema-suggestion.xml, catalogue administrator could define which element should propose a popup to select a remote resource and set the xlink for this elements.
- To add a new xlink popup on an element add a new field <field name="nsPrefix:elementName" mode="xlink|xlinkOnly"/>
- Different modes are available:
- xlink: will allow classic editor AND xlink popup
- xlinkOnly: will only allow xlink popup
- If not set default editor is used.
For example :
<!-- xLink : as defined in XSD, all PropertyType having an attribute group set to gco:ObjectReference could be linked using xlink attributes. For each elements allows user to use default editor or defined a remote resource using an xlink. --> <field name="gmd:contact" mode="xlink"/> <field name="gmd:citedResponsibleParty" mode="xlink"/> <field name="gmd:pointOfContact" mode="xlinkOnly"/> <field name="gmd:distributionFormat" mode="xlink"/> <field name="gmd:descriptiveKeywords" mode="xlink"/> <field name="gmd:referenceSystemInfo" mode="xlink"/>
Then if a field is set with mode = xlink, GUI is : TODO is mode = xlinkOnly, GUI is: TODO
Metadata storage and XLink resolution
Metadata view :
- Get Metadata from DB
- Resolve XLink
- View via XSL
Metadata edit :
- Get Metadata from DB
- Resolve XLink
- (optional) XSD validation
- (optional) schematron validation
- Metadocument to be processed for editing
The XLink resolver is used before index, export, view, edit operation.
XLink resolver
- search only XLinked tags
- handle missing fragement, timeout (not implemented yet)
- cache XLink fragment (not implemented yet)
- support xpointer (not implemented yet) - use specific service to search and retrieve remote fragment in iso19139 format.
Questions
Which elements to be reference by XLink ?
- contact
- keyword
- CRS
- ... ?
Where to store remote fragments ?
- XML files (in metadata format like iso or not)
Others
- Allow editing of remote fragments in GeoNetwork ?