[Geoserver-devel] GML and XML schema types

Hi folks,

has some pain getting the complex_features branch working but eventually Gabriel rescued me.

There is an issue from this testing that needs raising now, to see how to fix and what implications:

WFS advertises a GML Feature Type.

GML Feature Types are represented with a global element:

   <xs:element name="obis_locations" type="sco:obis_locationsType" substitutionGroup="gml:Feature"/>

and the returned data should look like this:

<sco:obis_locations>
  ....

Within the XSD file, sco:obis_locationsType is used to reference the XML Schema type.

Note that the GML feature type is not the same as the XML schema type.

WFS currently advertises the XML schema type in the capabilities doc, and supports it in the Filter request. This is incorrect behaviour - it should advertise and operate on the GML Feature Type.

The current workaround is to name these identically:
   <xs:element name="obis_locations" type="sco:obis_locations" substitutionGroup="gml:Feature"/>
    <xs:complexType name="obis_locations">

This seems to work OK.

Comments?

Rob A

One comment for myself - the curren implementation is actually broken for all externally defined schemas that dont follow this identical naming pattern, which is all, because the GML design guidelines out there suggest the myFeatureType nameing scheme. The workaround allows testing to continue, but not much else.

RA

Rob Atkinson wrote:

Hi folks,

has some pain getting the complex_features branch working but eventually Gabriel rescued me.

There is an issue from this testing that needs raising now, to see how to fix and what implications:

WFS advertises a GML Feature Type.

GML Feature Types are represented with a global element:

  <xs:element name="obis_locations" type="sco:obis_locationsType" substitutionGroup="gml:Feature"/>

and the returned data should look like this:

<sco:obis_locations>
....

Within the XSD file, sco:obis_locationsType is used to reference the XML Schema type.

Note that the GML feature type is not the same as the XML schema type.

WFS currently advertises the XML schema type in the capabilities doc, and supports it in the Filter request. This is incorrect behaviour - it should advertise and operate on the GML Feature Type.

The current workaround is to name these identically:
  <xs:element name="obis_locations" type="sco:obis_locations" substitutionGroup="gml:Feature"/>
   <xs:complexType name="obis_locations">

This seems to work OK.

Comments?

Rob A

-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel