@@ -551,6 +551,72 @@ void QgsProjectParser::addLayers( QDomDocument &doc,
551551 layerElem.appendChild ( abstractElem );
552552 }
553553
554+ // keyword list
555+ QStringList keywordStringList = currentLayer->keywordList ().split ( " ," );
556+ if ( keywordStringList.size () > 0 )
557+ {
558+ bool siaFormat = featureInfoFormatSIA2045 ();
559+
560+ QDomElement keywordListElem = doc.createElement ( " KeywordList" );
561+ for ( int i = 0 ; i < keywordStringList.size (); ++i )
562+ {
563+ QDomElement keywordElem = doc.createElement ( " Keyword" );
564+ QDomText keywordText = doc.createTextNode ( keywordStringList.at ( i ).trimmed () );
565+ keywordElem.appendChild ( keywordText );
566+ if ( siaFormat )
567+ {
568+ keywordElem.setAttribute ( " vocabulary" , " SIA_Geo405" );
569+ }
570+ keywordListElem.appendChild ( keywordElem );
571+ }
572+ layerElem.appendChild ( keywordListElem );
573+ }
574+
575+ QString attribution = currentLayer->attribution ();
576+ if ( !attribution.isEmpty () )
577+ {
578+ QDomElement attribElem = doc.createElement ( " Attribution" );
579+ QDomElement attribTitleElem = doc.createElement ( " Title" );
580+ QDomText attribText = doc.createTextNode ( attribution );
581+ attribTitleElem.appendChild ( attribText );
582+ attribElem.appendChild ( attribTitleElem );
583+ QString attributionUrl = currentLayer->attributionUrl ();
584+ if ( !attributionUrl.isEmpty () )
585+ {
586+ QDomElement attribORElem = doc.createElement ( " OnlineResource" );
587+ attribORElem.setAttribute ( " xmlns:xlink" , " http://www.w3.org/1999/xlink" );
588+ attribORElem.setAttribute ( " xlink:type" , " simple" );
589+ attribORElem.setAttribute ( " xlink:href" , attributionUrl );
590+ attribElem.appendChild ( attribORElem );
591+ }
592+ layerElem.appendChild ( attribElem );
593+ }
594+
595+ QString metadataUrl = currentLayer->metadataUrl ();
596+ if ( !metadataUrl.isEmpty () )
597+ {
598+ QDomElement metaUrlElem = doc.createElement ( " MetadataUrl" );
599+ QString metadataUrlType = currentLayer->metadataUrlType ();
600+ if ( !metadataUrlType.isEmpty () )
601+ {
602+ metaUrlElem.setAttribute ( " type" , metadataUrlType );
603+ }
604+ QString metadataUrlFormat = currentLayer->metadataUrlFormat ();
605+ if ( !metadataUrlFormat.isEmpty () )
606+ {
607+ QDomElement metaUrlFormatElem = doc.createElement ( " Format" );
608+ QDomText metaUrlFormatText = doc.createTextNode ( metadataUrlFormat );
609+ metaUrlFormatElem.appendChild ( metaUrlFormatText );
610+ metaUrlElem.appendChild ( metaUrlFormatElem );
611+ }
612+ QDomElement metaUrlORElem = doc.createElement ( " OnlineResource" );
613+ metaUrlORElem.setAttribute ( " xmlns:xlink" , " http://www.w3.org/1999/xlink" );
614+ metaUrlORElem.setAttribute ( " xlink:type" , " simple" );
615+ metaUrlORElem.setAttribute ( " xlink:href" , metadataUrl );
616+ metaUrlElem.appendChild ( metaUrlORElem );
617+ layerElem.appendChild ( metaUrlElem );
618+ }
619+
554620 // CRS
555621 QStringList crsList = createCRSListForLayer ( currentLayer );
556622 appendCRSElementsToLayer ( layerElem, doc, crsList );
0 commit comments