@@ -363,44 +363,34 @@ void QgsConfigParser::appendCRSElementsToLayer( QDomElement& layerElement, QDomD
363
363
364
364
// insert the CRS elements after the title element to be in accordance with the WMS 1.3 specification
365
365
QDomElement titleElement = layerElement.firstChildElement ( " Title" );
366
+ QDomElement abstractElement = layerElement.firstChildElement ( " Abstract" );
367
+ QDomElement CRSPrecedingElement = abstractElement.isNull () ? titleElement : abstractElement; // last element before the CRS elements
366
368
367
369
// In case the number of advertised CRS is constrained
368
370
QStringList constrainedCrsList = supportedOutputCrsList ();
369
371
if ( constrainedCrsList.size () > 0 )
370
372
{
371
373
for ( int i = constrainedCrsList.size () - 1 ; i >= 0 ; --i )
372
374
{
373
- appendCRSElementToLayer ( layerElement, titleElement, constrainedCrsList.at ( i ), doc );
374
- #if 0
375
- QDomElement crsElement = doc.createElement( "CRS" );
376
- QDomText crsText = doc.createTextNode( constrainedCrsList.at( i ) );
377
- crsElement.appendChild( crsText );
378
- layerElement.insertAfter( crsElement, titleElement );
379
- #endif
375
+ appendCRSElementToLayer ( layerElement, CRSPrecedingElement, constrainedCrsList.at ( i ), doc );
380
376
}
381
377
}
382
378
else // no crs constraint
383
379
{
384
380
foreach ( QString crs, crsList )
385
381
{
386
- appendCRSElementToLayer ( layerElement, titleElement, crs, doc );
387
- #if 0
388
- QDomElement crsElement = doc.createElement( "CRS" );
389
- QDomText crsText = doc.createTextNode( *crsIt );
390
- crsElement.appendChild( crsText );
391
- layerElement.insertAfter( crsElement, titleElement );
392
- #endif
382
+ appendCRSElementToLayer ( layerElement, CRSPrecedingElement, crs, doc );
393
383
}
394
384
}
395
385
}
396
386
397
- void QgsConfigParser::appendCRSElementToLayer ( QDomElement& layerElement, const QDomElement& titleElement , const QString& crsText, QDomDocument& doc ) const
387
+ void QgsConfigParser::appendCRSElementToLayer ( QDomElement& layerElement, const QDomElement& precedingElement , const QString& crsText, QDomDocument& doc ) const
398
388
{
399
389
QString version = doc.documentElement ().attribute ( " version" );
400
390
QDomElement crsElement = doc.createElement ( version == " 1.1.1" ? " SRS" : " CRS" );
401
391
QDomText crsTextNode = doc.createTextNode ( crsText );
402
392
crsElement.appendChild ( crsTextNode );
403
- layerElement.insertAfter ( crsElement, titleElement );
393
+ layerElement.insertAfter ( crsElement, precedingElement );
404
394
}
405
395
406
396
QgsComposition* QgsConfigParser::createPrintComposition ( const QString& composerTemplate, QgsMapRenderer* mapRenderer, const QMap< QString, QString >& parameterMap ) const
0 commit comments