Changes between Version 14 and Version 15 of MapGuideRfc126


Ignore:
Timestamp:
May 9, 2013, 6:13:54 AM (11 years ago)
Author:
jng
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MapGuideRfc126

    v14 v15  
    190190Depending on the requestData masked value, we will have a {{{MgFeatureInformation}}} (containing the tooltip, hyperlink and selection set), a {{{MgBatchPropertyCollection}}} containing the selected feature attributes and a {{{STRING}}} (containing the base64 selection image). Then we construct the appropriate XML response based on what pieces of data we have.
    191191
     192Structurally speaking the combined response looks like the original QUERYMAPFEATURES response, with the addition of 2 top-level elements:
     193 * <InlineSelectionImage> for the inline selection (if requested)
     194 * <SelectedFeatures> for selected features and their attributes (if requested).
     195
     196For the <SelectedFeatures> element, in order to produce a response that non-MapGuide client applications can easily understand, we don't do a verbatim dump of the MgBatchPropertyCollection in our combined response. We massage the collection and output a custom XML structure like so:
     197
     198 * [1] <SelectedFeatures> Describes the selected features and its attributes. Empty if no attributes requested in the bitmask
     199   * [0...n] <SelectedLayer> Describes a layer containing selected features. Includes name and id attributes to cross-match with the selection XML that's also included in the response
     200     * [1] <LayerMetadata> Describes the layer properties, its display name and property type. Due to how QueryFeatureProperties works, display names are written out instead of the FDO property names. This element provides a reverse lookup in-case the FDO property name for an attribute needs to be known
     201     * [0...n] <Feature> Describes each selected feature of that layer
     202       * [1] <Bounds> Describes the bounding box of the feature as a space-delimited quartet [minx miny maxx maxy]
     203       * [0...n] <Property> Describes a property value for the current feature
     204         * [1] <Name> The mapped property name (display name). To get the FDO property name, one can cross reference this name against the parent <LayerMetadata>
     205         * [0...1] <Value> The property value. We follow MgProperty XML behaviour. The omission of this tag indicates a null value.
     206
     207An easy way to understand this new structure is to see some sample responses provided below
     208
    192209A rectangular selection query (assuming no support for data URIs) would look like this (note the value of REQUESTDATA):
    193210
     
    489506<Hyperlink />
    490507<InlineSelectionImage />
    491 <Attributes />
     508<SelectedFeatures />
    492509</FeatureInformation>
    493510}}}