I'm trying to build a Geoserver (V2.0.2) style file for OSM data using https://github.com/FlorentDotMe/OSM-Styles-for-GeoServer as a starting point but they produce a number of validation errors
Can some one suggest where I'm going wrong or where I can get a valid style file for OSM data (Points, Lines and Polygons)?
This is what i've done to date. According to this blog you can ignore these http://guanxiaoyu.blogspot.co.uk/2010/06/florentdotmes-osm-sld-for-geoserver.html
and previewing the separate layers works however grouping the layers together Lines on top of polygons & then attempt to preview the group doesn't work the file save to dialogue box is shown indicating an error I'm assuming is related to the validation errors
following the instructions in this comment http://blog.geoserver.org/2009/01/30/geoserver-and-openstreetmap/#comment-76354 I've attempted to fix the style_osm_line but I'm still getting loads of errors
so I've created a smaller manageable sub file to work out how it works, I'm aware it is very incomplete. I get the following errors.
Errors
org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'Filter'. One of '{"http://www.opengis.net/sld":Name, "http://www.opengis.net/sld":Title, "http://www.opengis.net/sld":Abstract, "http://www.opengis.net/sld":LegendGraphic, "http://www.opengis.net/ogc":Filter, "http://www.opengis.net/sld":ElseFilter, "http://www.opengis.net/sld":MinScaleDenominator, "http://www.opengis.net/sld":MaxScaleDenominator, "http://www.opengis.net/sld":Symbolizer}' is expected.
org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'Filter'. One of '{"http://www.opengis.net/sld":Name, "http://www.opengis.net/sld":Title, "http://www.opengis.net/sld":Abstract, "http://www.opengis.net/sld":LegendGraphic, "http://www.opengis.net/ogc":Filter, "http://www.opengis.net/sld":ElseFilter, "http://www.opengis.net/sld":MinScaleDenominator, "http://www.opengis.net/sld":MaxScaleDenominator, "http://www.opengis.net/sld":Symbolizer}' is expected.
org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'Filter'. One of '{"http://www.opengis.net/sld":Name, "http://www.opengis.net/sld":Title, "http://www.opengis.net/sld":Abstract, "http://www.opengis.net/sld":LegendGraphic, "http://www.opengis.net/ogc":Filter, "http://www.opengis.net/sld":ElseFilter, "http://www.opengis.net/sld":MinScaleDenominator, "http://www.opengis.net/sld":MaxScaleDenominator, "http://www.opengis.net/sld":Symbolizer}' is expected.
org.xml.sax.SAXParseException: cvc-complex-type.2.4.b: The content of element 'ogc:Or' is not complete. One of '{"http://www.opengis.net/ogc":comparisonOps, "http://www.opengis.net/ogc":spatialOps, "http://www.opengis.net/ogc":logicOps}' is expected.
SLD File
<?xml version="1.0" encoding="ISO-8859-1"?> <StyledLayerDescriptor version="1.0.0"
xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd"
xmlns="http://www.opengis.net/sld"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<NamedLayer>
<Name>style_osm_line</Name>
<UserStyle>
<Title>'Line'</Title>
<!--TAG-->
<FeatureTypeStyle>
<Rule>
<Filter>
<ogc:Or>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>highway</ogc:PropertyName>
<ogc:Literal>footway</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>highway</ogc:PropertyName>
<ogc:Literal>pedestrian</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>highway</ogc:PropertyName>
<ogc:Literal>path</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>highway</ogc:PropertyName>
<ogc:Literal>steps</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Or>
</Filter>
<MinScaleDenominator>1000</MinScaleDenominator>
<MaxScaleDenominator>12500</MaxScaleDenominator>
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke">#A20808</CssParameter>
<CssParameter name="stroke-width">2</CssParameter>
<CssParameter name="stroke-dasharray">1 3</CssParameter>
<CssParameter name="stroke-linejoin">round</CssParameter>
<CssParameter name="stroke-linecap">round</CssParameter>
<CssParameter name="stroke-opacity">0.5</CssParameter>
</Stroke>
</LineSymbolizer>
</Rule>
</FeatureTypeStyle>
<FeatureTypeStyle>
<Rule>
<Filter>
<ogc:Or>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>highway</ogc:PropertyName>
<ogc:Literal>unclassified</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>highway</ogc:PropertyName>
<ogc:Literal>road</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>highway</ogc:PropertyName>
<ogc:Literal>residential</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>highway</ogc:PropertyName>
<ogc:Literal>unsurfaced</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>highway</ogc:PropertyName>
<ogc:Literal>living_street</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Or>
</Filter>
<MinScaleDenominator>1000</MinScaleDenominator>
<MaxScaleDenominator>12500</MaxScaleDenominator>
<TextSymbolizer>
<Label>
<ogc:PropertyName>name</ogc:PropertyName>
</Label>
<Font>
<CssParameter name="font-family">Lucida Sans</CssParameter>
<CssParameter name="font-size">10</CssParameter>
<CssParameter name="font-style">normal</CssParameter>
<CssParameter name="font-weight">normal</CssParameter>
</Font>
<LabelPlacement>
<LinePlacement />
</LabelPlacement>
<Halo>
<Radius>1</Radius>
<Fill>
<CssParameter name="fill">#ffffff</CssParameter>
</Fill>
</Halo>
<Fill>
<CssParameter name="fill">#000000</CssParameter>
<CssParameter name="fill-opacity">1.0</CssParameter>
</Fill>
<VendorOption name="followLine">true</VendorOption>
<VendorOption name="group">yes</VendorOption>
<VendorOption name="spaceAround">0</VendorOption>
<VendorOption name="maxDisplacement">300</VendorOption>
<VendorOption name="repeat">750</VendorOption>
</TextSymbolizer>
</Rule>
</FeatureTypeStyle>
<FeatureTypeStyle>
<Rule>
<Filter>
<ogc:Or><ogc:PropertyIsEqualTo><ogc:PropertyName>highway</ogc:PropertyName><ogc:Literal>tertiary</ogc:Literal></ogc:PropertyIsEqualTo></ogc:Or>
</Filter>
<MinScaleDenominator>1000</MinScaleDenominator>
<MaxScaleDenominator>12500</MaxScaleDenominator>
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke">#bbbbba</CssParameter>
<CssParameter name="stroke-width">10</CssParameter>
<CssParameter name="stroke-linejoin">round</CssParameter>
<CssParameter name="stroke-linecap">round</CssParameter>
</Stroke>
</LineSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>