highsource / ogc-schemas

XML<->Java and XML<->JS for OGC XSDs.
BSD 2-Clause "Simplified" License
82 stars 49 forks source link

PerpendicularOffset not parsed on LineSymbolizer (Geoserver SLD) #185

Open bartvde opened 7 years ago

bartvde commented 7 years ago

So using the GeoServer SLD parser on this XML:

<?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>Dashed line</Name>
    <UserStyle>
      <Title>SLD Cook Book: Offset line</Title>
      <FeatureTypeStyle>
        <Rule>
          <LineSymbolizer>
            <Stroke>
              <CssParameter name="stroke">#000000</CssParameter>
            </Stroke>
          </LineSymbolizer>
          <LineSymbolizer>
            <Stroke>
              <CssParameter name="stroke">#FF0000</CssParameter>
              <CssParameter name="stroke-dasharray">5 2</CssParameter>
            </Stroke>
            <PerpendicularOffset>5</PerpendicularOffset>
          </LineSymbolizer>
        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

I'm getting back:

{"TYPE_NAME":"SLD_1_0_0.StyledLayerDescriptor","version":"1.0.0","namedLayerOrUserLayer":[{"TYPE_NAME":"SLD_1_0_0.NamedLayer","name":"Dashed line","namedStyleOrUserStyle":[{"TYPE_NAME":"SLD_1_0_0.UserStyle","title":"SLD Cook Book: Offset line","featureTypeStyle":[{"TYPE_NAME":"SLD_1_0_0.FeatureTypeStyle","rule":[{"TYPE_NAME":"SLD_1_0_0.Rule","symbolizer":[{"name":{"namespaceURI":"http://www.opengis.net/sld","localPart":"LineSymbolizer","prefix":"sld","key":"{http://www.opengis.net/sld}LineSymbolizer","string":"{http://www.opengis.net/sld}sld:LineSymbolizer"},"value":{"TYPE_NAME":"SLD_1_0_0.LineSymbolizer","stroke":{"TYPE_NAME":"SLD_1_0_0.Stroke","cssParameter":[{"TYPE_NAME":"SLD_1_0_0.CssParameter","name":"stroke","content":["#000000"]}]}}},{"name":{"namespaceURI":"http://www.opengis.net/sld","localPart":"LineSymbolizer","prefix":"sld","key":"{http://www.opengis.net/sld}LineSymbolizer","string":"{http://www.opengis.net/sld}sld:LineSymbolizer"},"value":{"TYPE_NAME":"SLD_1_0_0.LineSymbolizer","stroke":{"TYPE_NAME":"SLD_1_0_0.Stroke","cssParameter":[{"TYPE_NAME":"SLD_1_0_0.CssParameter","name":"stroke","content":["#FF0000"]},{"TYPE_NAME":"SLD_1_0_0.CssParameter","name":"stroke-dasharray","content":["5 2"]}]}}}]}]}]}]}]}

So PerpendicularOffset is not parsed even though it's allowed by the GeoServer schema

https://github.com/geoserver/geoserver/commit/7d00473b6c7ddab81d331aec38dc2c301d1d7359

Or was the parser done before this change was done in the GeoServer schema?

https://github.com/geoserver/geoserver/commit/7d00473b6c7ddab81d331aec38dc2c301d1d7359

highsource commented 7 years ago

Current version of ogc-schemas does not have this element yet. Please PR (see also tests).

bartvde commented 7 years ago

thanks for the pointer @highsource I will look into a PR tomorrow