code: function(layer, filters, geometryAttributes) {
          var sld = {version: "1.0.0", namedLayers: {}};
          var layerNames = [layer.params.LAYERS].join(",").split(",");
          for (var i=0, len=layerNames.length; i<len; i++) { 
              var name = layerNames[i];
              sld.namedLayers[name] = {name: name, userStyles: []};
              var symbolizer = this.selectionSymbolizer;
              var geometryAttribute = geometryAttributes[i];
              if (geometryAttribute.type.indexOf('Polygon') >= 0) {
                  symbolizer = {Polygon: this.selectionSymbolizer['Polygon']};
              } else if (geometryAttribute.type.indexOf('LineString') >= 0) {
                  symbolizer = {Line: this.selectionSymbolizer['Line']};
              } else if (geometryAttribute.type.indexOf('Point') >= 0) {
                  symbolizer = {Point: this.selectionSymbolizer['Point']};
              }
              var filter = filters[i];
              sld.namedLayers[name].userStyles.push({name: 'default', rules: [
                  new OpenLayers.Rule({symbolizer: symbolizer, 
                      filter: filter, 
                      maxScaleDenominator: layer.options.minScale})
              ]});
          }
          return new OpenLayers.Format.SLD({srsName: this.map.getProjection()}).write(sld);
      }
docs: Method: createSLD
  Create the SLD document for the layer using the supplied filters.
  
  Parameters:
  layer - {<OpenLayers.Layer.WMS>}
  filters - Array({<OpenLayers.Filter>}) The filters to be applied.
  geometryAttributes - Array({Object}) The geometry attributes of the
  layer.
  
  Returns:
  {String} The SLD document generated as a string.