Changes between Version 1 and Version 2 of MapGuideRfc106


Ignore:
Timestamp:
Jul 25, 2010, 7:11:23 PM (14 years ago)
Author:
liuar
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MapGuideRfc106

    v1 v2  
    2828== Proposed Solution ==
    2929
     30'''1) Enhance the !GetFeatureType operation to support mutiple GML formats'''[[BR]]
     31[[BR]]
     32It's described in WFS 1.1.0 specification section 8.1 that the only mandatory output in response to a !DescribeFeatureType request is a GML3 application schema defined using XML Schema.  Because GML2 application schema is kept for backward compatibility, it is necessary for MapGuide to enhance the !HttpWfsGetFeatureType to handle different GML formats.
     33[[BR]][[BR]]
     34
     35'''2) Enhance the !GetFeature operation to support mutiple GML formats'''[[BR]]
     36[[BR]]
     37In WFS 1.1.0 specification section 9.2:  ''The optional output format attribute specifies the format of the response to a !GetFeature request. The default value is text/xml;subtype=gml/3.1.1 indicating that a vald GML3 document, that validate s against a valid GML3 application schema, must be generated.  For backward compatibility, the value GML2 may be specified indicating that a valid GML2 document, that validates against a valid GML2 application schema, must be generated.'' So,it is necessary for MapGuide to enhance the !HttpWfsGetFeature to handle different GML formats.
     38
    3039
    3140== Implications ==
     41
     42A new !DescribeWfsFeature API should be added to handle the output GML format
     43{{{
     44    ////////////////////////////////////////////////////////////////////////////////////////////////////////
     45    /// \brief
     46    /// Retrieves schema informationabout a set of feature classes for a given feature source  with specified format.
     47    ///
     48    /// \note1
     49    ///
     50    /// <!-- Syntax in .Net, Java, and PHP -->
     51    /// \htmlinclude DotNetSyntaxTop.html
     52    /// virtual MgByteReader DescribeWfsFeatureType(MgResourceIdentifier featureSourceId, MgStringCollection featureClasses, string outputFormat);
     53    /// \htmlinclude SyntaxBottom.html
     54    /// \htmlinclude JavaSyntaxTop.html
     55    /// virtual MgByteReader DescribeWfsFeatureType(MgResourceIdentifier featureSourceId, MgStringCollection featureClasses, string outputFormat);
     56    /// \htmlinclude SyntaxBottom.html
     57    /// \htmlinclude PHPSyntaxTop.html
     58    /// virtual MgByteReader DescribeWfsFeatureType(MgResourceIdentifier featureSourceId, MgStringCollection featureClasse, string outputFormats);
     59    /// \htmlinclude SyntaxBottom.html
     60    ///
     61    /// \param featureSourceId (MgResourceIdentifier)
     62    /// The resource identifier defining the
     63    /// location of the feature source in
     64    /// the repository.
     65    /// \param featureClasses (MgStringCollection)
     66    /// A collection of strings identifying the feature classes for which to
     67    /// retrieve schema information. If this collection is null or empty, information
     68    /// is returned for all feature classes.
     69    /// \param outputFormat (String/string)
     70    /// A string identifying the output format of
     71    /// the retrieved schema information.
     72    ///
     73    /// \return
     74    /// Returns an MgByteReader containing the XML schema.
     75    ///
     76    virtual MgByteReader* DescribeWfsFeatureType(MgResourceIdentifier* featureSourceId, MgStringCollection* featureClasses, CREFSTRING outputFormat) = 0;
     77
     78}}}
     79
     80A new !DescribeWfsFeature API should be added to handle the output GML format
     81
     82{{{
     83    ////////////////////////////////////////////////////////////////////////////////////////////////////////
     84    /// \brief
     85    /// Retrieves feature information based on the supplied criteria with specified format.
     86    ///
     87    /// \note1
     88    ///
     89    /// <!-- Syntax in .Net, Java, and PHP -->
     90    /// \htmlinclude DotNetSyntaxTop.html
     91    /// virtual MgByteReader GetWfsFeature(MgResourceIdentifier featureSourceId, string featureClass, MgStringCollection requiredProperties, string srs, string filter, int maxFeatures, string outputFormat);
     92    /// \htmlinclude SyntaxBottom.html
     93    /// \htmlinclude JavaSyntaxTop.html
     94    /// virtual MgByteReader GetWfsFeature(MgResourceIdentifier featureSourceId, String featureClass, MgStringCollection requiredProperties, String srs, String filter, int maxFeatures, string outputFormat);
     95    /// \htmlinclude SyntaxBottom.html
     96    /// \htmlinclude PHPSyntaxTop.html
     97    /// virtual MgByteReader GetWfsFeature(MgResourceIdentifier featureSourceId, string featureClass, MgStringCollection requiredProperties, string srs, string filter, int maxFeatures, string outputFormat);
     98    /// \htmlinclude SyntaxBottom.html
     99    ///
     100    /// \param featureSourceId (MgResourceIdentifier)
     101    /// The resource identifier defining the
     102    /// location of the feature source in
     103    /// the repository.
     104    /// \param featureClass (String/string)
     105    /// The feature class containing the features to retrieve.
     106    /// \param requiredProperties (MgStringCollection)
     107    /// The collection of properties to retrieve for each feature. If the
     108    /// collection is null or empty, all properties will be retrieved.
     109    /// \param srs (String/string)
     110    /// The spatial reference system in which to return feature geometries
     111    /// \param filter (String/string)
     112    /// An XML string containing the definition for an OGC filter
     113    /// \param maxFeatures (int)
     114    /// The maximum number of features to retrieve. If the value is less
     115    /// than or equal to zero, all features will be retrieved.
     116    /// \param outputFormat (String/string)
     117    /// A string identifying the output format of
     118    /// the retrieved feature information.
     119    ///
     120    /// \return
     121    /// Returns an MgByteReader containing the requested feature information.
     122    ///
     123    virtual MgByteReader* GetWfsFeature(MgResourceIdentifier* featureSourceId, CREFSTRING featureClass,MgStringCollection* requiredProperties, CREFSTRING srs, CREFSTRING filter, INT32 maxFeatures, CREFSTRING outputFormat) = 0;
     124}}}
    32125
    33126