41 QStringList &layerList );
47 QDomDocument doc =
getStyles( serverIface, project, version, request );
48 response.
setHeader( QStringLiteral(
"Content-Type" ), QStringLiteral(
"text/xml; charset=utf-8" ) );
49 response.
write( doc.toByteArray() );
59 QString layersName = parameters.value(
"LAYERS" );
61 if ( layersName.isEmpty() )
67 QStringList layerList = layersName.split(
',', QString::SkipEmptyParts );
68 if ( layerList.isEmpty() )
74 return getStyledLayerDescriptorDocument( serverIface, project, layerList );
81 QDomDocument doc =
getStyle( serverIface, project, version, request );
82 response.
setHeader( QStringLiteral(
"Content-Type" ), QStringLiteral(
"text/xml; charset=utf-8" ) );
83 response.
write( doc.toByteArray() );
95 QString styleName = parameters.value( QStringLiteral(
"STYLE" ) );
96 QString layerName = parameters.value( QStringLiteral(
"LAYER" ) );
98 if ( styleName.isEmpty() )
104 if ( layerName.isEmpty() )
110 QStringList layerList;
111 layerList.append( layerName );
112 return getStyledLayerDescriptorDocument( serverIface, project, layerList );
118 QStringList &layerList )
120 QDomDocument myDocument = QDomDocument();
122 QDomNode header = myDocument.createProcessingInstruction( QStringLiteral(
"xml" ), QStringLiteral(
"version=\"1.0\" encoding=\"UTF-8\"" ) );
123 myDocument.appendChild( header );
126 QDomElement root = myDocument.createElementNS( QStringLiteral(
"http://www.opengis.net/sld" ), QStringLiteral(
"StyledLayerDescriptor" ) );
127 root.setAttribute( QStringLiteral(
"version" ), QStringLiteral(
"1.1.0" ) );
128 root.setAttribute( QStringLiteral(
"xsi:schemaLocation" ), QStringLiteral(
"http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/StyledLayerDescriptor.xsd" ) );
129 root.setAttribute( QStringLiteral(
"xmlns:ogc" ), QStringLiteral(
"http://www.opengis.net/ogc" ) );
130 root.setAttribute( QStringLiteral(
"xmlns:se" ), QStringLiteral(
"http://www.opengis.net/se" ) );
131 root.setAttribute( QStringLiteral(
"xmlns:xlink" ), QStringLiteral(
"http://www.w3.org/1999/xlink" ) );
132 root.setAttribute( QStringLiteral(
"xmlns:xsi" ), QStringLiteral(
"http://www.w3.org/2001/XMLSchema-instance" ) );
133 myDocument.appendChild( root );
136 #ifdef HAVE_SERVER_PYTHON_PLUGINS
148 QString name = layer->name();
151 else if ( !layer->shortName().isEmpty() )
152 name = layer->shortName();
154 if ( !layerList.contains( name ) )
160 if ( restrictedLayers.contains( layer->name() ) )
162 throw QgsSecurityException( QStringLiteral(
"You are not allowed to access to this layer" ) );
164 #ifdef HAVE_SERVER_PYTHON_PLUGINS
167 throw QgsSecurityException( QStringLiteral(
"You are not allowed to access to this layer" ) );
171 QDomElement namedLayerNode = myDocument.createElement( QStringLiteral(
"NamedLayer" ) );
172 root.appendChild( namedLayerNode );
175 QDomElement nameNode = myDocument.createElement( QStringLiteral(
"se:Name" ) );
176 nameNode.appendChild( myDocument.createTextNode( name ) );
177 namedLayerNode.appendChild( nameNode );
189 props[ QStringLiteral(
"scaleMinDenom" ) ] = QString::number( vlayer->
maximumScale() );
190 props[ QStringLiteral(
"scaleMaxDenom" ) ] = QString::number( vlayer->
minimumScale() );
197 QDomElement userStyleElem = myDocument.createElement( QStringLiteral(
"UserStyle" ) );
199 QDomElement styleNameElem = myDocument.createElement( QStringLiteral(
"se:Name" ) );
200 styleNameElem.appendChild( myDocument.createTextNode( styleName ) );
202 userStyleElem.appendChild( styleNameElem );
204 QDomElement featureTypeStyleElem = myDocument.createElement( QStringLiteral(
"se:FeatureTypeStyle" ) );
205 userStyleElem.appendChild( featureTypeStyleElem );
207 vlayer->
renderer()->
toSld( myDocument, featureTypeStyleElem, props );
213 namedLayerNode.appendChild( userStyleElem );