[mapserver-commits] r13012 - trunk/docs/en/development/rfc
svn at osgeo.org
svn at osgeo.org
Tue Jan 24 23:14:01 EST 2012
Author: tomkralidis
Date: 2012-01-24 20:14:00 -0800 (Tue, 24 Jan 2012)
New Revision: 13012
Modified:
trunk/docs/en/development/rfc/ms-rfc-82.txt
Log:
add more changes for RFC 82 (incomplete)
Modified: trunk/docs/en/development/rfc/ms-rfc-82.txt
===================================================================
--- trunk/docs/en/development/rfc/ms-rfc-82.txt 2012-01-24 19:54:45 UTC (rev 13011)
+++ trunk/docs/en/development/rfc/ms-rfc-82.txt 2012-01-25 04:14:00 UTC (rev 13012)
@@ -23,11 +23,23 @@
(e.g. wms_metadataurl_href), metadata advertising for OWS Capabilities. While
this offers the flexibility of managing metadata for mapfiles in an arbitrary
fashion, there is often duplication of metadata between metadata XML and mapfile
-directives.
+directives when XML metadata exists for a given dataset.
-It is proposed that MapServer be enhanced to support direct handling of geospatial
-metadata documents in order to advertise OWS Capabilities metadata automatically.
+As well, in the case that a given dataset does not have associated formal XML
+metadata, Capabilities XML references to metadata (i.e. WMS MetadataURL) are not
+available, even though between the LAYER.METADATA/ows_* values and the layer's
+spatial properties enough information can be processed to generate a useful XML
+metadata document. The existence of formal XML metadata in MapServer OGC
+services Capabilities XML provides value to Catalogue services which harvest
+metadata to support discovery.
+It is proposed that MapServer be enhanced with the following capabilities:
+
+* support of direct handling of XML metadata documents to advertise
+ OWS Capabilities metadata automaticall
+* support of generating XML metadata documents from a given layer's METADATA
+properties, as well its spatial properties
+
Advantages of this enhancement:
* allow for updating of metadata XML without the need to edit the mapfile
@@ -35,10 +47,13 @@
* dynamic publishing of metadata for OWS services
Technical Solution
-------------------------------------------------------------------------------
+------------------
+Case 1: Dataset has XML Metadata
+================================
+
Users will have the ability to refer to a single geospatial metadata document
-to provide all of their OWS metadata, i.e.:
+in lieu of ows_* metadata, in order to provide all of their OWS metadata, i.e.:
::
@@ -51,47 +66,69 @@
...
END
-For inline metadata there will be no need to fill in "ows_title", "ows_abstract", etc.,
-as this will be dynamically driven from the metadata XML document.
+For inline metadata there will be no need to fill in
+"ows_title", "ows_abstract", etc., as this will be dynamically driven from the
+metadata XML document.
For metadata document advertisement, this will result in the following XML
(e.g. WMS Capabilities metadata):
::
- <MetadataURL type="ISO19115:2003">
- <Format>text/xml</Format>
- <OnlineResource xlink:type="simple" xlink:href="http://host/cgi-bin/mapserv?service=WMS&version=1.3.0&request=GetLayerMetadata&layer=foo"/>
- </MetadataURL>
+ <Layer>
+ <Name>roads</Name>
+ <Title>(derived from XML metadata)</Title>
+ <Abstract>(derived from XML metadata)</Abstract>
+ ...
+ <MetadataURL type="TC211">
+ <Format>text/xml</Format>
+ <OnlineResource xlink:type="simple" xlink:href="http://host/cgi-bin/mapserv?request=GetLayerMetadata&layer=foo"/>
+ </MetadataURL>
+ ...
+ </Layer>
-MapServer will provide a GetLayerMetadata operation, which will read the file
-as defined in MAP.LAYER.METADATA/ows_metadata_path and return the content as the
+MapServer will provide a GetLayerMetadata operation which will operate
+independent of any OWS, and will read the file
+as defined in MAP.LAYER.METADATA/ows_metadata_path, returning the content as the
the HTTP response (with 'text/xml' as the MIME type).
+Case 2: Dataset does not have XML Metadata
+==========================================
+
+MapServer will have the ability to generate a metadata XML document
+dynamically from LAYER.METADATA/ows_* directives and the given layer's
+spatial properties.
+
MapServer will also provide support for outputting a service metadata document
-formatted as ISO 19119:2005. This is an alternative service description that
-supports the INSPIRE initiative.
+formatted as ISO 19119:2005 based on WEB.METADATA ows_* directives.
+This is an alternative service description that supports the INSPIRE initiative.
-Implementation Details:
+Implementation Details
+======================
mapmetadata.c
- char * msMetadataGetLayerMetadata(layer.metadata)
- - read value of metadata_file (MAP.LAYER.METADATA/ows_metadata_path)
- - returns char * of content
+ - if MAP.LAYER.METADATA/ows_metadata_path
+ - read value of metadata_file (MAP.LAYER.METADATA/ows_metadata_path)
+ - returns char * of content
+ - else
+ - generate metadata XML based on LAYER.METADATA/ows_* and layer's spatial
+ properties
- calling function will write to HTTP response
- (if we have similar "read file, return a char *" type functions, use those instead)
+ (if we have similar "read file, return a char *" type functions, use those instead)
- layerObj msMetadataParseMetadata(metadata_format, metadata_file, ows_service_type)
- libxml2 required
- - metadata format support: ISO 19115:2003 is initially, proposed; others can be
+ - metadata format support: ISO 19115:2003 is initially proposed; others can be
added
- - read file (given format)
- - parse and set layer->metadata as per the ows_service_type
- - ows_title
- - ows_abstract
- - ows_keywordlist
- - ows_extent
+ - if MAP.LAYER.METADATA/ows_metadata_path
+ - read file (given format)
+ - parse and set layer->metadata as per the ows_service_type from the metadata XML
+ - ows_title
+ - ows_abstract
+ - ows_keywordlist
+ - ows_extent
- char * msMetadataGetServiceMetadata(map->web.metadata)
- read map->web.metadata
More information about the mapserver-commits
mailing list