wiki:XLinkedFragments

Version 3 (modified by Fxp, 16 years ago) ( diff )

--

First draft documentation

Simple concept presentation:

Store fragments of metadata as reference using XLink.

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>

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

  • contact
  • keyword
  • CRS
  • ... ?

Where to store remote fragments ?

  • XML files (in metadata format like iso or not)

Allow editing of remote fragments ?

Note: See TracWiki for help on using the wiki.