[mapguide-commits] r4994 - trunk/MgDev/Server/src/Wms

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Tue Jul 6 21:46:35 EDT 2010


Author: liuar
Date: 2010-07-07 01:46:35 +0000 (Wed, 07 Jul 2010)
New Revision: 4994

Added:
   trunk/MgDev/Server/src/Wms/1.3.0.xml.awd
Modified:
   trunk/MgDev/Server/src/Wms/OgcWmsService.config.awd
Log:
Ticket http://trac.osgeo.org/mapguide/ticket/1392
1. Update the OgcWmsService.config.awd
(1)Add WMS 1.3.0 as new supported versions.
(2)Define a new item "RS_CRS.xml" as reference system in WMS 1.3.0
(3)Define a new item "Enum.item.CRS", a replacement of "Enum.item.SRS", used in WMS 1.3.0

2. Add a template file 1.3.0.xml.awd for WMS 1.3.0
(1)Update some keywords which are defined in 1.3.0 specification. For example: SRS -> CRS
(2)Define a new item "EX_GeographicBoundingBox", a replacement of "LatLonBoundingBox", defined in WMS 1.3.0 specification. And some relevant items are also updated. 


Added: trunk/MgDev/Server/src/Wms/1.3.0.xml.awd
===================================================================
--- trunk/MgDev/Server/src/Wms/1.3.0.xml.awd	                        (rev 0)
+++ trunk/MgDev/Server/src/Wms/1.3.0.xml.awd	2010-07-07 01:46:35 UTC (rev 4994)
@@ -0,0 +1,407 @@
+<?xml version='1.0'?>
+<Template service="WMS" version="1.3.0">
+
+<Definitions>
+
+  <!-- This defines the format of each individual layer
+      advertised by GetCapabilities                    -->
+  <!-- Note: Studio published the following metadata fields                                -->
+  <!-- Layer.Name      - The canonical machine-readable name for a layer                   -->
+  <!-- Layer.Abstract  - Free-form human readable description for the layer                -->
+  <!-- Layer.Bounds    - Structured XML in the form of one or more of these elements       -->
+  <!--                     <Bounds CRS= north= south= east= west=/>                        -->
+  <!--                     (Note: Studio currently publishes this as plain text, which     -->
+  <!--                     the template engine converts to an XML fragment; future work    -->
+  <!--                     in Studio is expected to remedy this.)                          -->
+  <!--                     (An example is shown below in Layer.BoundingBox.default)        -->
+  <!-- Layer.Cascaded  - the WMS "cascade" value, indicating whether the data came from    -->
+  <!--                     another server, or originated on this server                    -->
+  <!-- Layer.ExtendedMetadata - like Layer.Bounds, should be structured XML, but Studio    -->
+  <!--                            just writes it out as plain text.  Format: zero or more  -->
+  <!--                            <Link href= type= format= /> elements.  Currently not    -->
+  <!--                            implemented in templates.                                -->
+  <!-- Layer.Keywords  - A comma-separated list of keywords associated with this layer.    -->
+  <!-- Layer.Opaque    - boolean indicating whether the layer is opaque or transparent.    -->
+  <!-- Layer.Queryable - boolean indicating whether the layer supports GetFeatureInfo.     -->
+  <!-- Layer.Title     - The user-provided human-readable name for the layer.              -->
+  <!--                                                                                     -->
+  <!-- Layer.NoSubsets is currently not emitted by Studio, its value is defaulted within   -->
+  <!-- the OwsWmsService.config.awd file.                                                  -->
+  <Define item="Layer.xml">
+  <!-- Published Layer #&Layer.iteration; -->
+  <Layer queryable="&Layer.Queryable;" cascaded="&Layer.Cascaded;" noSubsets="&Layer.NoSubsets;" opaque="&Layer.Opaque;">
+   <Name>&Layer.Name;</Name>
+   <Title>&Layer.Title;</Title>
+   <?Ifdef item="Layer.Abstract"?><Abstract>&Layer.Abstract;</Abstract><?Endif?>
+   <?Ifdef item="Layer.Keywords"?>
+   <KeywordList>
+     <?EnumDelim list="&Layer.Keywords;" using="&Service.Keywords.xml;"?>
+   </KeywordList>
+   <?Endif?>
+   <?Ifdef item="Layer.Bounds"?>
+    <?Enum list="&Layer.Bounds;" item="Bounds" using="&CRS.xml;"?>
+    <?Enum list="&Layer.Bounds;" item="Bounds" using="&EX_GeographicBoundingBox.xml;"?>
+    <?Enum list="&Layer.Bounds;" item="Bounds" using="&BoundingBox.xml;"?>
+   <?Else?>
+    <?Enum list="&Layer.BoundingBox.default;" item="Bounds" using="&CRS.xml;"?>
+    <?Enum list="&Layer.BoundingBox.default;" item="Bounds" using="&EX_GeographicBoundingBox.xml;" ?>
+    <?Enum list="&Layer.BoundingBox.default;" item="Bounds" using="&BoundingBox.xml;" ?>
+   <?Endif?>
+  </Layer>
+ </Define>
+
+ <!-- An example of what can be expected in the Layer.Bounds definition -->
+ <Define item="Layer.BoundingBox.default">
+  <Bounds CRS="EPSG:4326" west="-180" south="-90" east="180" north="90"/>
+ </Define>
+
+ <!-- This pair of definitions works around a current limitation that -->
+ <!-- <?If...?><?Endif?> cannot be nested.                            -->
+ <Define item="EX_GeographicBoundingBox.xml">
+    <?Translate text="&Enum.item.CRS;" with="&EX_GeographicBoundingBox.translate.xml;"?>
+ </Define>
+
+ <Define item="EX_GeographicBoundingBox.translate.xml">
+    <translate from="EPSG:4326" ?>
+        <EX_GeographicBoundingBox>
+            <westBoundLongitude>&Enum.item.west;</westBoundLongitude>
+            <eastBoundLongitude>&Enum.item.east;</eastBoundLongitude>
+            <southBoundLatitude>&Enum.item.south;</southBoundLatitude>
+            <northBoundLatitude>&Enum.item.north;</northBoundLatitude>
+        </EX_GeographicBoundingBox>
+    </translate>
+    <translate></translate>
+</Define>
+
+ <Define item="BoundingBox.xml">
+  <BoundingBox CRS="&Enum.item.CRS;" minx="&Enum.item.west;" miny="&Enum.item.south;" maxx="&Enum.item.east;" maxy="&Enum.item.north;"/>
+ </Define>
+
+ <Define item="CRS.xml">
+  <CRS>&Enum.item.CRS;</CRS>
+ </Define>
+
+ <Define item="FeatureInfo.xml">
+  <?Ifdef item="FeatureInfo.LayerName"?>
+  <FeatureInfo layer="&FeatureInfo.LayerName;">
+  <?Else?>
+  <FeatureInfo>
+  <?Endif?>
+  <?EnumFeatureProperties using="&FeatureProperty.xml;" ?>
+  </FeatureInfo>
+ </Define>
+
+ <Define item="FeatureInfo.html">
+  <tr>
+   <td>
+    <table>
+     <?EnumFeatureProperties using="&FeatureProperty.html;" ?>
+    </table>
+   </td>
+  </tr>
+ </Define>
+
+ <Define item="FeatureInfo.text">
+  FeatureInfo:
+  <?EnumFeatureProperties using="&FeatureProperty.text;" ?>
+
+ </Define>
+
+ <Define item="FeatureProperty.xml">
+  <Property name="&FeatureProperty.Name;" value="&FeatureProperty.Value;"></Property>
+ </Define>
+
+ <Define item="FeatureProperty.html">
+  <tr><td class="name">&FeatureProperty.Name;</td><td>&FeatureProperty.Value;</td></tr>
+ </Define>
+
+ <Define item="FeatureProperty.text">
+  &FeatureProperty.Name;=&FeatureProperty.Value;
+ </Define>
+
+ <!-- We're currently not supporting child layers... -->
+ <Define item="Layer.Sublayers"></Define>
+
+ <!-- In this version, keywords are enumerated enclosed in Keyword elements -->
+ <Define item="Service.Keywords.xml"><Keyword>&Enum.item;</Keyword>
+ </Define>
+
+ <!-- Overrides of default Exception formats
+  specific to this version template -->
+ <Define item="Formats.Exception">
+  <item>XML</item>
+ </Define>
+
+ <!-- These are the supported (Get)Capabilities formats
+  for version 1.1.1.     -->
+ <Define item="Formats.GetCapabilities">
+  <item>text/xml</item>
+  <item>text/html</item>
+ </Define>
+
+ <Define item="GetCapabilities.xml">
+  <WMS_Capabilities version="&TemplateVersion;"
+    xmlns="http://www.opengis.net/wms"
+    xmlns:xlink="http://www.w3.org/1999/xlink"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://www.opengis.net/wms http://schemas.opengis.net/wms/1.3.0/capabilities_1_3_0.xsd">
+   <!--
+
+   SERVICE METADATA
+
+   -->
+   <Service>
+    <Name>&Service.Name;</Name>
+    <Title>&Service.Title;</Title>
+    <?Ifdef item="Service.Abstract"?>
+    <Abstract>&Service.Abstract;</Abstract>
+    <?Endif?>
+    <?Ifdef item="Service.Keywords"?>
+    <KeywordList>
+     <?Enum list="&Service.Keywords;" using="&Service.Keywords.xml"?>
+    </KeywordList>
+    <?Endif?>
+    <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="&Url.OnlineResource;"></OnlineResource>
+
+    <ContactInformation>
+     <ContactPersonPrimary>
+      <ContactPerson>&Service.Contact.Name;</ContactPerson>
+      <ContactOrganization>&Service.Contact.Organization;</ContactOrganization>
+     </ContactPersonPrimary>
+     <?Ifdef item="Service.Contact.Position"?>
+     <ContactPosition>&Service.Contact.Position;</ContactPosition>
+     <?Endif?>
+     <?Ifdef item="Service.Contact.Address.Type"?>
+     <ContactAddress>
+      <AddressType>&Service.Contact.Address.Type;</AddressType>
+      <Address>&Service.Contact.Address.Street;</Address>
+      <City>&Service.Contact.Address.City;</City>
+      <StateOrProvince>&Service.Contact.Address.StateProv;</StateOrProvince>
+      <PostCode>&Service.Contact.Address.PostCode;</PostCode>
+      <Country>&Service.Contact.Address.Country;</Country>
+     </ContactAddress>
+     <?Endif?>
+     <?Ifdef item="Service.Contact.Phone"?>
+     <ContactVoiceTelephone>&Service.Contact.Phone;</ContactVoiceTelephone>
+     <?Endif?>
+     <?Ifdef item="Service.Contact.Fax"?>
+     <ContactFacsimileTelephone>&Service.Contact.Fax;</ContactFacsimileTelephone>
+     <?Endif?>
+     <?Ifdef item="Service.Contact.Email"?>
+     <ContactElectronicMailAddress>&Service.Contact.Email;</ContactElectronicMailAddress>
+     <?Endif?>
+    </ContactInformation>
+
+    <Fees>&Service.Fees;</Fees>
+    <AccessConstraints>&Service.AccessConstraints;</AccessConstraints>
+   </Service>
+
+   <!--
+
+   SERVICE CAPABILITIES
+
+   -->
+   <Capability>
+
+    <Request>
+     <GetCapabilities>
+      <?Enum list="&Formats.GetCapabilities;" using="&Format.xml;" ?>
+      <DCPType>
+       <HTTP>
+        <Get>
+        <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="&Url.GetCapabilities;?"/>
+        </Get>
+       </HTTP>
+      </DCPType>
+     </GetCapabilities>
+
+     <GetMap>
+      <?Enum list="&Formats.GetMap;" using="&Format.xml;" ?>
+      <DCPType>
+       <HTTP>
+        <Get>
+        <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="&Url.GetMap;?"/>
+        </Get>
+       </HTTP>
+      </DCPType>
+     </GetMap>
+
+     <GetFeatureInfo>
+      <?Enum list="&Formats.GetFeatureInfo;" using="&Format.xml;" ?>
+      <DCPType>
+       <HTTP>
+        <Get>
+        <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="&Url.GetFeatureInfo;?"/>
+        </Get>
+       </HTTP>
+      </DCPType>
+     </GetFeatureInfo>
+
+    </Request>
+
+    <Exception>
+     <?Enum list="&Formats.Exception;" using="&Format.xml;" ?>
+    </Exception>
+
+    <!-- No VendorSpecificCapabilities -->
+    <!-- No UserDefinedSymbolization -->
+
+    <!--
+
+    PUBLISHED LAYERS
+
+    -->
+    <Layer>
+     <Title>&Service.Title;</Title>
+     <?Enum list="&ReferenceSystems;" using="&RS_CRS.xml;"?>
+     <EX_GeographicBoundingBox>
+        <westBoundLongitude>-180</westBoundLongitude>
+        <eastBoundLongitude>180</eastBoundLongitude>
+        <southBoundLatitude>-90</southBoundLatitude>
+        <northBoundLatitude>90</northBoundLatitude>
+    </EX_GeographicBoundingBox>
+     <?EnumLayers using="&Layer.xml;" ?>
+    </Layer>
+   </Capability>
+  </WMS_Capabilities>
+ </Define>
+
+</Definitions>
+
+<!--
+
+  WMS GetCapabilities  - XML as text/xml
+
+-->
+<Response request="GetCapabilities" content-type="text/xml">
+&GetCapabilities.xml;
+</Response>
+
+<!--
+
+  WMS GetCapabilities  - XML as application/vnd.ogc.wms_xml
+
+-->
+<Response request="GetCapabilities" content-type="application/vnd.ogc.wms_xml">
+&GetCapabilities.xml;
+</Response>
+
+<!--
+
+  WMS GetCapabilities  - HTML
+
+-->
+<Response request="GetCapabilities" content-type="text/html">
+<html>
+ <head>
+  <title>GetCapabilities Response for &Service.Title;</title>
+  &html.stylesheet;
+ </head>
+ <body>
+  <table border="1">
+   <tr><td class="title" colspan="2">Service Metadata - version &TemplateVersion;</td></tr>
+   <tr><td class="name">Name</td><td>&Service.Name;</td></tr>
+   <tr><td class="name">Title</td><td>&Service.Title;</td></tr>
+  <?Ifdef item="Service.Abstract"?>
+   <tr><td class="name">Abstract</td><td>&Service.Abstract;</td></tr>
+  <?Endif?>
+  <?Ifdef item="Service.Keywords"?>
+   <tr><td class="name">Keywords</td><td>
+    <?Enum list="&Service.Keywords;" using="&Format.html;"?>
+   </td></tr>
+  <?Endif?>
+   <tr><td class="name">Online Resource</td><td>&Url.OnlineResource;</td></tr>
+   <tr><td class="name">Contact Information</td><td>
+     &Service.Contact.Name;<br/>
+     &Service.Contact.Organization<br/>
+   <?Ifdef item="Service.Contact.Position"?>&Service.Contact.Position;<br/><?Endif?>
+   <?Ifdef item="Service.Contact.Address.Type"?>
+     &Service.Contact.Address.Street;<br/>
+     &Service.Contact.Address.City;, &Service.Contact.Address.StateProv;<br/>
+     &Service.Contact.Address.PostCode;<br/>
+     &Service.Contact.Address.Country;
+   <?Ifdef item="Service.Contact.Phone"?>Phone: &Service.Contact.Phone;<br/><?Endif?>
+   <?Ifdef item="Service.Contact.Fax"?>Fax: &Service.Contact.Fax;<br/><?Endif?>
+   <?Ifdef item="Service.Contact.Email"?>Email: &Service.Contact.Email;<br/><?Endif?>
+    </tr></td>
+    <?Endif?>
+  <tr><td class="name">Fees</td><td>&Service.Fees;</td></tr>
+  <tr><td class="name">Access Constraints</td><td>&Service.AccessConstraints;</td></tr>
+  <tr><td class="title" colspan="2">Capbilities</td></tr>
+  <tr><td class="name">GetCapabilities</td><td>
+   URL: &Url.GetCapabilities;<br/>
+   Formats:
+   <?Enum list="&Formats.GetCapability;" using="&Format.html;"?>
+  </td></tr>
+  <tr><td class="name">GetMap</td><td>
+   URL: &Url.GetMap;<br/>
+   Formats:
+   <?Enum list="&Formats.GetMap;" using="&Format.html;"?>
+  </td></tr>
+  <tr><td class="name">GetFeatureInfo</td><td>
+   URL: &Url.GetFeatureInfo;<br/>
+   Formats:
+   <?Enum list="&Formats.GetFeatureInfo;" using="&Format.html;"?>
+  </td></tr>
+  <tr><td class="title" colspan="2">Published Layers</td></tr>
+  <?EnumLayers using="&EnumLayer.html;"?>
+  </table>
+ </body>
+</html>
+</Response>
+
+<!--
+
+  WMS GetFeatureInfo  - XML
+
+-->
+<Response request="GetFeatureInfo" content-type="text/xml">
+ <FeatureInfoCollection>
+  <?EnumFeatureInfo using="&FeatureInfo.xml;" ?>
+ </FeatureInfoCollection>
+</Response>
+
+
+<!--
+
+  WMS GetFeatureInfo  - HTML
+
+-->
+<Response request="GetFeatureInfo" content-type="text/html">
+<html>
+<head>
+<title>GetFeatureInfo</title>
+</head>
+<body>
+<table border="1">
+ <?EnumFeatureInfo using="&FeatureInfo.html;" ?>
+</table>
+</body>
+</html>
+</Response>
+
+
+<!--
+
+  WMS GetFeatureInfo  - TEXT
+
+-->
+<Response request="GetFeatureInfo" content-type="text/plain">
+ <?EnumFeatureInfo using="&FeatureInfo.text;" ?>
+</Response>
+
+
+<!--
+
+  Exception format - XML
+
+-->
+<Response request="Exception" content-type="text/xml">
+<ServiceExceptionReport version="&TemplateVersion;">
+ <ServiceException code="&Exception.Type;">
+  &Exception.message;
+ </ServiceException>
+</ServiceExceptionReport>
+</Response>
+
+</Template>

Modified: trunk/MgDev/Server/src/Wms/OgcWmsService.config.awd
===================================================================
--- trunk/MgDev/Server/src/Wms/OgcWmsService.config.awd	2010-07-06 07:43:04 UTC (rev 4993)
+++ trunk/MgDev/Server/src/Wms/OgcWmsService.config.awd	2010-07-07 01:46:35 UTC (rev 4994)
@@ -11,7 +11,7 @@
    <Version number="1.0.0"/>
    <Version number="1.1.0"/>
    <Version number="1.1.1"/>
-   <!--Version number="1.3.0"/-->
+   <Version number="1.3.0"/>
  </Define>
 
  <!-- These are edited by the Site Administration tool, though you
@@ -115,7 +115,8 @@
 
  <!-- This is the default definition for a reference system (SRS, or CRS) -->
  <Define item="RS.xml"><SRS>&Enum.item;</SRS></Define>
-
+ <Define item="RS_CRS.xml"><CRS>&Enum.item;</CRS></Define>
+ 
  <!-- You can control the formats supported by various
       WMS responses by (a) modifying these lists and
       (b) adding (if necessary) the appropriate
@@ -222,6 +223,7 @@
       types in a badly-formed <Bounds /> element that isn't EPSG:4326
       then the whole enchilada is serious GIGO. -->
  <Define item="Enum.item.SRS">EPSG:4326</Define>
+ <Define item="Enum.item.CRS">EPSG:4326</Define>
  <Define item="Enum.item.north">90</Define>
  <Define item="Enum.item.south">-90</Define>
  <Define item="Enum.item.west">-180</Define>



More information about the mapguide-commits mailing list