[GeoNetwork-devel] Adding new formats

Hi,

            I've been trying to find my way around the Geonetwork source
code to figure out how to add a new metadata format. This format is an
extension of the ISO 19115 format so I believe it should be pretty easy to
fit in. I think I have narrowed it down to a set of XSL files but I'm still
confused how these get mapped to the incoming metadata
(web\xml\schemas\iso19115). Also, these XSL files only seem to pull out
certain bits of information for identification and display, they don't get
to the actual data of the XML. As a side issue, the ISO 19115 XSL files
refer to a Metadata document element, when the specification defines it as
MD_Metadata, why is this so?

            I'm thinking that I am missing something. Possibly some of the
XSL used to generate pages (web\xsl) may pull out some of the metadata. By
looking at the database, it seems that the whole metadata XML is put into
the METADATA.DATA column. If so, is this used for searching? Where does the
METADATA.SCHEMA_ID value come from (I think this will answer my question
about mapping to the XSL files)?

            I found an answer to someone else's query much like this one but
it talked about modifying the XML Schema. While I am comfortable doing this,
I would prefer to copy the existing files into a new format name and then
alter them there. How do I go about adding this new format to the system? Is
it just a matter of creating the directory and it gets loaded? How do
incoming metadata documents know to use this directory rather than some
other one? I can't find any sort of mappings in the database or config
files.

            Thanks in advance for any help you may be able to give me, it is
much appreciated.

--
Steven Smith <steven.smith@anonymised.com>
Software Developer / Analyst

Geometry Pty Ltd

Telephone

:

03 6223 1999

Facsimile

:

03 6223 1988

Web

:

www.geometryit.com
<file:///C:\Documents%20and%20Settings\ssmith.GEOMETRY\Application%20Data\Mi
crosoft\Signatures\www.geometryit.com>

Address

:

31 Salamanca Square, Battery Point, TAS 7004, Australia

Postal

:

PO Box 844, Sandy Bay, TAS 7006, Australia

Building Intelligent Business through the Power of Spatial

Hi Steven,

here are a few hints:

- metadata schemas are located into the web/xml/schemas folder

- all schemas present are dynamically loaded at startup. So, to create a
  new metadata type simply clone one of these folders.

- the 'Metadata.schemaId' database field is just the name of one of these
  schemas.

- every time an operation is requested on a metadata, its schemaId value
  is used to address its folder.

- metadata fields are indexed using one of the stylesheets inside web/xml/search

Cheers,
Andrea

Hi,

            I've been trying to find my way around the Geonetwork source
code to figure out how to add a new metadata format. This format is an
extension of the ISO 19115 format so I believe it should be pretty easy to
fit in. I think I have narrowed it down to a set of XSL files but I'm still
confused how these get mapped to the incoming metadata
(web\xml\schemas\iso19115). Also, these XSL files only seem to pull out
certain bits of information for identification and display, they don't get
to the actual data of the XML. As a side issue, the ISO 19115 XSL files
refer to a Metadata document element, when the specification defines it as
MD_Metadata, why is this so?

            I'm thinking that I am missing something. Possibly some of the
XSL used to generate pages (web\xsl) may pull out some of the metadata. By
looking at the database, it seems that the whole metadata XML is put into
the METADATA.DATA column. If so, is this used for searching? Where does the
METADATA.SCHEMA_ID value come from (I think this will answer my question
about mapping to the XSL files)?

            I found an answer to someone else's query much like this one but
it talked about modifying the XML Schema. While I am comfortable doing this,
I would prefer to copy the existing files into a new format name and then
alter them there. How do I go about adding this new format to the system? Is
it just a matter of creating the directory and it gets loaded? How do
incoming metadata documents know to use this directory rather than some
other one? I can't find any sort of mappings in the database or config
files.

            Thanks in advance for any help you may be able to give me, it is
much appreciated.