Hello,
I'm attempting to generate an SLD file in python.
And while the output appears valid to me when I load it in as a new style
in Geoserver and click "Validate" I get an error:
> line 17: cvc-complex-type.2.4.a: Invalid content was found starting with
> element 'ogc:Filter'. One of '{"http://www.opengis.net/sld":Symbolizer}'
> is expected.
I'm assuming this occurs 18 times--once for each filter.
The filter tag is correctly nested within the rule tag alongside a
symbolizer, so I don't see what the issue is here.
Here's the full SLD:
<sld:StyledLayerDescriptor xmlns:ogc="http://www.opengis.net/ogc"
xmlns:sld="http://www.opengis.net/sld"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0">
<sld:NamedLayer>
<sld:Name>my style</sld:Name>
<sld:UserStyle>
<sld:FeatureTypeStyle>
<sld:Rule>
<sld:Title>White Pine Rule</sld:Title>
<sld:PolygonSymbolizer>
<sld:Fill>
<sld:CssParameter name="fill">#f490bd</sld:CssParameter>
</sld:Fill>
<sld:Stroke>
<sld:CssParameter name="stroke">#000</sld:CssParameter>
<sld:CssParameter name="stroke-width">1</sld:CssParameter>
</sld:Stroke>
</sld:PolygonSymbolizer>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>xclass</ogc:PropertyName>
<ogc:Literal>White Pine</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</sld:Rule>
<sld:Rule>
<sld:Title>Aspen-Oak Land Rule</sld:Title>
<sld:PolygonSymbolizer>
<sld:Fill>
<sld:CssParameter name="fill">#dfb1f9</sld:CssParameter>
</sld:Fill>
<sld:Stroke>
<sld:CssParameter name="stroke">#000</sld:CssParameter>
<sld:CssParameter name="stroke-width">1</sld:CssParameter>
</sld:Stroke>
</sld:PolygonSymbolizer>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>xclass</ogc:PropertyName>
<ogc:Literal>Aspen-Oak Land</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</sld:Rule>
<sld:Rule>
<sld:Title>Mixed White Pine and Red Pine Rule</sld:Title>
<sld:PolygonSymbolizer>
<sld:Fill>
<sld:CssParameter name="fill">#7a40bc</sld:CssParameter>
</sld:Fill>
<sld:Stroke>
<sld:CssParameter name="stroke">#000</sld:CssParameter>
<sld:CssParameter name="stroke-width">1</sld:CssParameter>
</sld:Stroke>
</sld:PolygonSymbolizer>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>xclass</ogc:PropertyName>
<ogc:Literal>Mixed White Pine and Red Pine</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</sld:Rule>
<sld:Rule>
<sld:Title>River Bottom Forest Rule</sld:Title>
<sld:PolygonSymbolizer>
<sld:Fill>
<sld:CssParameter name="fill">#6ef46e</sld:CssParameter>
</sld:Fill>
<sld:Stroke>
<sld:CssParameter name="stroke">#000</sld:CssParameter>
<sld:CssParameter name="stroke-width">1</sld:CssParameter>
</sld:Stroke>
</sld:PolygonSymbolizer>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>xclass</ogc:PropertyName>
<ogc:Literal>River Bottom Forest</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</sld:Rule>
<sld:Rule>
<sld:Title>Lakes (open water) Rule</sld:Title>
<sld:PolygonSymbolizer>
<sld:Fill>
<sld:CssParameter name="fill">#65d14d</sld:CssParameter>
</sld:Fill>
<sld:Stroke>
<sld:CssParameter name="stroke">#000</sld:CssParameter>
<sld:CssParameter name="stroke-width">1</sld:CssParameter>
</sld:Stroke>
</sld:PolygonSymbolizer>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>xclass</ogc:PropertyName>
<ogc:Literal>Lakes (open water)</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</sld:Rule>
<sld:Rule>
<sld:Title>Big Woods - Hardwoods (oak, maple, basswood,
hickory) Rule</sld:Title>
<sld:PolygonSymbolizer>
<sld:Fill>
<sld:CssParameter name="fill">#5ff47f</sld:CssParameter>
</sld:Fill>
<sld:Stroke>
<sld:CssParameter name="stroke">#000</sld:CssParameter>
<sld:CssParameter name="stroke-width">1</sld:CssParameter>
</sld:Stroke>
</sld:PolygonSymbolizer>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>xclass</ogc:PropertyName>
<ogc:Literal>Big Woods - Hardwoods (oak, maple,
basswood, hickory)</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</sld:Rule>
<sld:Rule>
<sld:Title>Wet Prairie Rule</sld:Title>
<sld:PolygonSymbolizer>
<sld:Fill>
<sld:CssParameter name="fill">#c746f2</sld:CssParameter>
</sld:Fill>
<sld:Stroke>
<sld:CssParameter name="stroke">#000</sld:CssParameter>
<sld:CssParameter name="stroke-width">1</sld:CssParameter>
</sld:Stroke>
</sld:PolygonSymbolizer>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>xclass</ogc:PropertyName>
<ogc:Literal>Wet Prairie</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</sld:Rule>
<sld:Rule>
<sld:Title>Prairie Rule</sld:Title>
<sld:PolygonSymbolizer>
<sld:Fill>
<sld:CssParameter name="fill">#e552cd</sld:CssParameter>
</sld:Fill>
<sld:Stroke>
<sld:CssParameter name="stroke">#000</sld:CssParameter>
<sld:CssParameter name="stroke-width">1</sld:CssParameter>
</sld:Stroke>
</sld:PolygonSymbolizer>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>xclass</ogc:PropertyName>
<ogc:Literal>Prairie</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</sld:Rule>
<sld:Rule>
<sld:Title>Undefined Rule</sld:Title>
<sld:PolygonSymbolizer>
<sld:Fill>
<sld:CssParameter name="fill">#c933f7</sld:CssParameter>
</sld:Fill>
<sld:Stroke>
<sld:CssParameter name="stroke">#000</sld:CssParameter>
<sld:CssParameter name="stroke-width">1</sld:CssParameter>
</sld:Stroke>
</sld:PolygonSymbolizer>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>xclass</ogc:PropertyName>
<ogc:Literal>Undefined</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</sld:Rule>
<sld:Rule>
<sld:Title>Aspen-Birch (trending to Conifers) Rule</sld:Title>
<sld:PolygonSymbolizer>
<sld:Fill>
<sld:CssParameter name="fill">#ef7cf9</sld:CssParameter>
</sld:Fill>
<sld:Stroke>
<sld:CssParameter name="stroke">#000</sld:CssParameter>
<sld:CssParameter name="stroke-width">1</sld:CssParameter>
</sld:Stroke>
</sld:PolygonSymbolizer>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>xclass</ogc:PropertyName>
<ogc:Literal>Aspen-Birch (trending to Conifers)</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</sld:Rule>
<sld:Rule>
<sld:Title>Jack Pine Barrens and Openings Rule</sld:Title>
<sld:PolygonSymbolizer>
<sld:Fill>
<sld:CssParameter name="fill">#ff5ebe</sld:CssParameter>
</sld:Fill>
<sld:Stroke>
<sld:CssParameter name="stroke">#000</sld:CssParameter>
<sld:CssParameter name="stroke-width">1</sld:CssParameter>
</sld:Stroke>
</sld:PolygonSymbolizer>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>xclass</ogc:PropertyName>
<ogc:Literal>Jack Pine Barrens and Openings</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</sld:Rule>
<sld:Rule>
<sld:Title>Mixed Hardwood and Pine (Maple, White Pine,
Basswood, etc) Rule</sld:Title>
<sld:PolygonSymbolizer>
<sld:Fill>
<sld:CssParameter name="fill">#66dd9b</sld:CssParameter>
</sld:Fill>
<sld:Stroke>
<sld:CssParameter name="stroke">#000</sld:CssParameter>
<sld:CssParameter name="stroke-width">1</sld:CssParameter>
</sld:Stroke>
</sld:PolygonSymbolizer>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>xclass</ogc:PropertyName>
<ogc:Literal>Mixed Hardwood and Pine (Maple, White Pine,
Basswood, etc)</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</sld:Rule>
<sld:Rule>
<sld:Title>Aspen-Birch (trending to hardwoods) Rule</sld:Title>
<sld:PolygonSymbolizer>
<sld:Fill>
<sld:CssParameter name="fill">#882dd8</sld:CssParameter>
</sld:Fill>
<sld:Stroke>
<sld:CssParameter name="stroke">#000</sld:CssParameter>
<sld:CssParameter name="stroke-width">1</sld:CssParameter>
</sld:Stroke>
</sld:PolygonSymbolizer>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>xclass</ogc:PropertyName>
<ogc:Literal>Aspen-Birch (trending to hardwoods)</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</sld:Rule>
<sld:Rule>
<sld:Title>Brush Prairie Rule</sld:Title>
<sld:PolygonSymbolizer>
<sld:Fill>
<sld:CssParameter name="fill">#8effb2</sld:CssParameter>
</sld:Fill>
<sld:Stroke>
<sld:CssParameter name="stroke">#000</sld:CssParameter>
<sld:CssParameter name="stroke-width">1</sld:CssParameter>
</sld:Stroke>
</sld:PolygonSymbolizer>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>xclass</ogc:PropertyName>
<ogc:Literal>Brush Prairie</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</sld:Rule>
<sld:Rule>
<sld:Title>Pine Flats (Hemlock, Spruce, Fir, White Pine,
Aspen) Rule</sld:Title>
<sld:PolygonSymbolizer>
<sld:Fill>
<sld:CssParameter name="fill">#119e9e</sld:CssParameter>
</sld:Fill>
<sld:Stroke>
<sld:CssParameter name="stroke">#000</sld:CssParameter>
<sld:CssParameter name="stroke-width">1</sld:CssParameter>
</sld:Stroke>
</sld:PolygonSymbolizer>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>xclass</ogc:PropertyName>
<ogc:Literal>Pine Flats (Hemlock, Spruce, Fir, White
Pine, Aspen)</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</sld:Rule>
<sld:Rule>
<sld:Title>Conifer Bogs and Swamps Rule</sld:Title>
<sld:PolygonSymbolizer>
<sld:Fill>
<sld:CssParameter name="fill">#ed3723</sld:CssParameter>
</sld:Fill>
<sld:Stroke>
<sld:CssParameter name="stroke">#000</sld:CssParameter>
<sld:CssParameter name="stroke-width">1</sld:CssParameter>
</sld:Stroke>
</sld:PolygonSymbolizer>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>xclass</ogc:PropertyName>
<ogc:Literal>Conifer Bogs and Swamps</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</sld:Rule>
<sld:Rule>
<sld:Title>Open Muskeg Rule</sld:Title>
<sld:PolygonSymbolizer>
<sld:Fill>
<sld:CssParameter name="fill">#541184</sld:CssParameter>
</sld:Fill>
<sld:Stroke>
<sld:CssParameter name="stroke">#000</sld:CssParameter>
<sld:CssParameter name="stroke-width">1</sld:CssParameter>
</sld:Stroke>
</sld:PolygonSymbolizer>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>xclass</ogc:PropertyName>
<ogc:Literal>Open Muskeg</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</sld:Rule>
<sld:Rule>
<sld:Title>Oak openings and barrens Rule</sld:Title>
<sld:PolygonSymbolizer>
<sld:Fill>
<sld:CssParameter name="fill">#e83c33</sld:CssParameter>
</sld:Fill>
<sld:Stroke>
<sld:CssParameter name="stroke">#000</sld:CssParameter>
<sld:CssParameter name="stroke-width">1</sld:CssParameter>
</sld:Stroke>
</sld:PolygonSymbolizer>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>xclass</ogc:PropertyName>
<ogc:Literal>Oak openings and barrens</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</sld:Rule>
</sld:FeatureTypeStyle>
</sld:UserStyle>
</sld:NamedLayer>
</sld:StyledLayerDescriptor>
Thanks for any help you can provide.
--
Kris Johnson
Natural Resources Research Institute
5013 Miller Trunk Highway, Duluth, MN 55811
p: 218.788.2767
www.nrri.umn.edu
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Geoserver-users mailing list
Please make sure you read the following two resources before posting to this
list:
- Earning your support instead of buying it, but Ian Turton:
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines:
http://geoserver.org/comm/userlist-guidelines.html
If you want to request a feature or an improvement, also see this:
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users