[mapserver-users] SOS response XML validity

MassimoF massimo.ferraguto at ssf.fi
Mon Feb 16 06:49:32 PST 2009


Hello,

I have created a mapfile to generate a SOS response containing data from a
database. I have understood that mapserver supports only "flat" reporting of
the database columns to the xml response.

My problem is that I wonder whether this kind of "flat" response is valid or
not. If I try to validate the response against the xml schema I get errors. 

How can I solve this problem of xml validity against the schema?

Here are the errors:

*** Error start ***
Element <observedProperty> is not allowed under element <om:Observation>.
    Reason: The following elements are expected at this location (see below)
        <om:observedProperty>
        <om:resultQuality>
    Annotations of type 'om:ObservationType' (see below)
        Base type for Observations.
Observation is an act ("event"), whose result is an estimate of the value of
a property of the feature of interest.
The observed property may be any property associated with the type of the
feature of interest.
The following properties are inherited from AbstractFeatureType:
    Error location: om:ObservationCollection / om:member / om:Observation /
observedProperty
    Details
        cvc-model-group: Element <observedProperty> unexpected by type
'om:ObservationType' of element <om:Observation>.
        cvc-elt.5.2.1: The element <om:Observation> is not valid with
respect to the actual type definition 'om:ObservationType'.
*** Error end ***
        
after modifying observedProperty ==> om:observedProperty I get another
error:
        
*** Error start ***
Text 'temperature' is not allowed for element <om:observedProperty>. The
element declaration's content type is 'element-only'.
    Error location: om:ObservationCollection / om:member / om:Observation /
om:observedProperty
    Details
        cvc-complex-type.2.3: Text 'temperature' is not allowed for element
<om:observedProperty>. The element declaration's content type is
'element-only'.
        cvc-elt.5.2.1: The element <om:observedProperty> is not valid with
respect to the actual type definition 'swe:PhenomenonPropertyType'.        
*** Error end ***

Here is an example response that I get from my server:

<?xml version="1.0" encoding="ISO-8859-1"?>
<om:ObservationCollection xmlns:gml="http://www.opengis.net/gml"
xmlns:ows="http://www.opengis.net/ows/1.1"
xmlns:swe="http://www.opengis.net/swe/1.0.1"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:sos="http://www.opengis.net/sos/1.0"
xmlns:om="http://www.opengis.net/om/1.0" gml:id="htb_offering"
xsi:schemaLocation="http://www.opengis.net/om/1.0
http://schemas.opengis.net/om/1.0.0/om.xsd">
  <gml:description xmlns:gml="http://www.opengis.net/gml">htb
data</gml:description>
  <gml:name xmlns:gml="http://www.opengis.net/gml">Helsinki test bed
data</gml:name>
  <om:member>
    <om:Observation>
      <om:samplingTime>
        <gml:TimeInstant>
          <gml:timePosition>20081127042000</gml:timePosition>
        </gml:TimeInstant>
      </om:samplingTime>
      <om:procedure xlink:href="urn:ogc:def:procedure:temperature"/>
      <om:observedProperty>temperature</om:observedProperty>
      <om:result>
        <gml:featureMember xmlns:gml="http://www.opengis.net/gml">
          <gml:temperature>
            <gml:boundedBy>
              <gml:Envelope>
                <gml:lowerCorner>25.399600 60.316000</gml:lowerCorner>
                <gml:upperCorner>25.399600 60.316000</gml:upperCorner>
              </gml:Envelope>
            </gml:boundedBy>
            <msGeometry>
              <gml:Point>
                <gml:pos>25.399600 60.316000</gml:pos>
              </gml:Point>
            </msGeometry>
            <locationid>37</locationid>
            <insertionTime>20081127042054</insertionTime>
            <latitude>60.316</latitude>
            <longitude>25.3996</longitude>
            <leveltype>altitude</leveltype>
            <levelvalue>17</levelvalue>
            <levelunit>m</levelunit>
            <version>1</version>
            <parameterName>temperature</parameterName>
            <value>-1.1</value>
            <unit>C</unit>
            <aggregationName>instant</aggregationName>
            <aggregationValue>0</aggregationValue>
            <aggregationUnit>n/a</aggregationUnit>
            <form>n/a</form>
          </gml:temperature>
        </gml:featureMember>
      </om:result>
    </om:Observation>
  </om:member>
</om:ObservationCollection>


-- 
View this message in context: http://n2.nabble.com/SOS-response-XML-validity-tp2335205p2335205.html
Sent from the Mapserver - User mailing list archive at Nabble.com.




More information about the MapServer-users mailing list