Ticket #944 (closed defect: fixed)
create a generic OGC URL print handler
| Reported by: | tomkralidis | Owned by: | jlacroix |
|---|---|---|---|
| Priority: | high | Milestone: | 4.4 release |
| Component: | WMS Server | Version: | unspecified |
| Severity: | normal | Keywords: | |
| Cc: |
Description
(I categorized this under component WMS Server, however it applies to all OGC supported specifications) Bug 438, Bug 262, Bug 936 and Bug 943 call for support of URL type metadata in various OGC Capabilities/etc. documents. Between and among the abovementioned bugs, it was suggested that we come up with a generic approach and function for this which the abovementioned bugs can leverage, to implement msOWSPrintURLType() in mapows.c Below is an analysis of OGC specifications / version which MapServer supports which are affected and can leverage msOWSPrintURLType(): After some thought, some issues with the unified approach to printing URLs of OGC services. Here is where each element stands w.r.t each spec supported by MapServer, and version: WMS === Service level online resource (i.e. in WMT_MS_Capabilities/Service/) ---------------------------------------------------------------- OnlineResource in WMS 1.0.0: <OnlineResource>[SOME_URL]</OnlineResource> OnlineResource in WMS 1.1.0: <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="[SOME_URL]"/> OnlineResource in WMS 1.1.1: same as 1.1.0 Layer level MetadataURL ----------------------- MetadataURL in WMS 1.0.0: not available MetadataURL in WMS 1.1.0: <MetadataURL type="FGDC"> <Format>text/html</Format> <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="[SOME_URL]"/> </MetadataURL> NB: all elements/attributes REQUIRED NB: @type must be either "FGDC" or "TC211" MetadataURL in WMS 1.1.1: same as WMS 1.1.0 Layer level DataURL ------------------- DataURL in WMS 1.0.0: <DataURL>[SOME_URL]</DataURL> DataURL in WMS 1.1.0: <DataURL> <Format>content/unknown</Format> <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="[SOME_URL]"/> </DataURL> NB: all elements/attributes REQUIRED DataURL in WMS 1.1.1: same as WMS 1.1.0 Layer level LegendURL --------------------- LegendURL in WMS 1.0.0: <Style> <Name>default</Name> <Title>default</Title> <StyleURL>[SOME_URL]</StyleURL> </Style> NB: all elements and attributes REQUIRED LegendURL in WMS 1.1.0: <Style> <Name>default</Name> <Title>default</Title> <LegendURL width="16" height="16"> <Format>image/gif</Format> <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="[SOME_URL]"/> </LegendURL> </Style> NB: all elements and attributes REQUIRED LegendURL in WMS 1.1.1: same as WMS 1.1.0 OTHER ----- I left out OnlineResource in the Root Layer element, which is different from both service and layer level metadata, as MapServer doesn't support it presently. WFS === Service level OnlineResource ---------------------------- OnlineResource in WFS 1.0.0: <OnlineResource>http://cgns.nrcan.gc.ca</OnlineResource> Layer level MetadataURL ----------------------- MetadataURL in WFS 1.0.0 <MetadataURL type="FGDC" format="XML">[SOME_URL]</MetadataURL> NB: @type must be "FGDC" or "TC211" NB: @format must be "XML", "SGML", "HTML" WMC === General level ------------- LogoURL in WMC 1.0.0: <LogoURL format="text/xml" width="10" height="10"> <OnlineResource xlink:type="simple" xlink:href="[SOME_URL]"/> </LogoURL> DescriptionURL in WMC 1.0.0: <DescriptionURL format="text/html"> <OnlineResource xlink:type="simple" xlink:href="[SOME_URL]"/> </DescriptionURL> Layer level ----------- Server in WMC 1.0.0: <Server service="OGC:WMS" version="1.1.1" title="My OGC:WMS"> <OnlineResource xlink:type="simple" xlink:href="[SOME_URL]"/> </Server> MetadataURL in WMC 1.0.0: <MetadataURL format="text/xml"> <OnlineResource xlink:type="simple" xlink:href="[SOME_URL]"/> </MetadataURL> DataURL in WMC 1.0.0: <DataURL format="text/xml"> <OnlineResource xlink:type="simple" xlink:href="[SOME_URL]"/> </DataURL> LegendURL in WMC 1.0.0: <Style> <Name>default</Name> <Title>default</Title> <LegendURL width="16" height="16"> <Format>image/gif</Format> <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="[SOME_URL]"/> </LegendURL> </Style> WCS === Service level metadata ---------------------- metadataLink in WCS 1.0.0: <metadataLink metadataType="FGDC" xlink:type="simple" xlink:href="[SOME_URL]"/> NB: @metadataType must be "FGDC", "TC211", "other" Layer level metadata -------------------- metadataLink in WCS 1.0.0: <metadataLink metadataType="FGDC" xlink:type="simple" xlink:href="[SOME_URL]"/> NB: @metadataType must be "FGDC", "TC211", "other" SLD === ExternalGraphic in SLD 1.0.0: <Graphic> <ExternalGraphic> <OnlineResource xlink:type="simple" xlink:href="[SOME_URL]"/> <Format>image/png</Format> <ExternalGraphic> </Graphic> OTHER ----- I left out some deep darker corners of SLD - RemoteOWS - SemanticTypeIdentifier ..as MapServer doesn't support presently. Filter ====== No URL types in specification OTHER NOTES =========== - none of the above analysis takes into account Service URLs for WMS, WFS or WCS, i.e.: <DCP> <HTTP> <Get> <OnlineResource xlink:type="simple" xlink:href="[SOME_URL]"/> </Get> <Post> ....and so on - there's help on the way. The OGC Common Implementation Specification (OGC Discussion Paper -- http://portal.opengis.org/files/?artifact_id=6324 ) is positioned (when adopted) for OGC specs to define their metadata and other 'common' bits as per OGC Common. OGC Common defines ows:OnlineResourceType.
Attachments
Change History
Note: See
TracTickets for help on using
tickets.

