@@ -250,6 +250,11 @@ void QgsProjectParser::describeFeatureType( const QString& aTypeName, QDomElemen
250
250
}
251
251
252
252
QStringList wfsLayersId = wfsLayers ();
253
+ QStringList typeNameList;
254
+ if ( aTypeName != " " )
255
+ {
256
+ typeNameList = aTypeName.split ( " ," );
257
+ }
253
258
254
259
foreach ( const QDomElement &elem, mProjectLayerElements )
255
260
{
@@ -258,7 +263,11 @@ void QgsProjectParser::describeFeatureType( const QString& aTypeName, QDomElemen
258
263
{
259
264
QgsMapLayer *mLayer = createLayerFromElement ( elem );
260
265
QgsVectorLayer* layer = dynamic_cast <QgsVectorLayer*>( mLayer );
261
- if ( layer && wfsLayersId.contains ( layer->id () ) && ( aTypeName == " " || layer->name () == aTypeName ) )
266
+
267
+ QString typeName = layer->name ();
268
+ typeName = typeName.replace ( QString ( " " ), QString ( " _" ) );
269
+
270
+ if ( layer && wfsLayersId.contains ( layer->id () ) && ( aTypeName == " " || typeNameList.contains ( typeName ) ) )
262
271
{
263
272
// do a select with searchRect and go through all the features
264
273
QgsVectorDataProvider* provider = layer->dataProvider ();
@@ -270,9 +279,6 @@ void QgsProjectParser::describeFeatureType( const QString& aTypeName, QDomElemen
270
279
// hidden attributes for this layer
271
280
const QSet<QString>& layerExcludedAttributes = layer->excludeAttributesWFS ();
272
281
273
- QString typeName = layer->name ();
274
- typeName = typeName.replace ( QString ( " " ), QString ( " _" ) );
275
-
276
282
// xsd:element
277
283
QDomElement elementElem = doc.createElement ( " element" /* xsd:element*/ );
278
284
elementElem.setAttribute ( " name" , typeName );
0 commit comments