Bart and Christopher, Thank you for your replies. I think it is probably working as expected. I need to find and read the spec and hopefully it will make some sense or at least some more sense.
I am currently trying to write a server in PHP that will work beside mapserver. So mapserver serves the features and the PHP handles the OL WFS-T responses. Other than the fact that I am probably taking a naive approach to the parsing that will probably break if namespace prefixes change, it is working pretty well, except PHP4 has horrid XML parsing tools and I decided to rewrite the PHP code to be more compatible between PHP4 and PHP5 and deal with the bugfix that in the delete transaction namespace I reported. Thank you both, your responses are educational and helpful. Regards, -Steve W Christopher Schmidt wrote: > On Mon, Mar 10, 2008 at 11:38:46AM -0500, Stephen Woodbridge wrote: >> Hi all, >> >> I admit up front that this inquiry might partly be my ignorance on the >> subject, but when OpenLayers.Format.WFS serializes a polygon insert >> request it looks like: >> >> <wfs:Insert> >> <feature:Geofence xmlns:feature="http://mapserver.gis.umn.edu/mapserver"> >> <feature:the_geom> >> <gml:MultiPolygon xmlns:gml="http://www.opengis.net/gml"> >> <gml:polygonMember> >> <gml:Polygon> >> <gml:outerBoundaryIs> >> <gml:LinearRing> >> <gml:coordinates decimal="." cs="," ts=" >> ">-105.662109375,40.1591796875 -107.068359375,38.2255859375 >> -103.640625,37.7861328125 -105.662109375,40.1591796875</gml:coordinates> >> </gml:LinearRing> >> </gml:outerBoundaryIs> >> </gml:Polygon> >> </gml:polygonMember> >> </gml:MultiPolygon> >> </feature:the_geom> >> </feature:Geofence> >> </wfs:Insert> >> >> This appears to be getting done by >> OpenLayers.Format.WFS.createFeatureXML(feature) and the namespace is >> hardcoded to "feature:..." >> >> My question is why this namespace and not the wfs namespace and XML >> something more like: > > Can you provide some evidence that this is how it's supposed to be done? > Inserts and Modifys are different in WFS-T: that's just a case of > OpenLayerse following the spec, as far as I know? > > Note that this isn't a case of the difference being the namespace: the > difference here is that in Insert, you pass a full, GML-serialized > feature. In Modify, you pass a specific property that you are > modifying. > > Essentially, the WFS-T support is largely cobbled together from examples > on the web. If you can provide examples of a server which I can post the > following data to, and see a successful transaction, I'm interested. > >> <wfs:Insert typeName="Geofence"> >> <wfs:Property> >> <wfs:Name>the_geom</wfs:Name> >> <wfs:Value> >> <gml:MultiPolygon xmlns:gml="http://www.opengis.net/gml"> >> <gml:polygonMember> >> <gml:Polygon> >> <gml:outerBoundaryIs> >> <gml:LinearRing> >> <gml:coordinates decimal="." cs="," ts=" >> ">-105.662109375,40.1591796875 -107.068359375,38.2255859375 >> -103.640625,37.7861328125 -105.662109375,40.1591796875</gml:coordinates> >> </gml:LinearRing> >> </gml:outerBoundaryIs> >> </gml:Polygon> >> </gml:polygonMember> >> </gml:MultiPolygon> >> </wfs:Value> >> </wfs:Property> >> <wfs:Property> >> <wfs:Name>name</wfs:Name> >> <wfs:Value>noname</wfs:Value> >> </wfs:Property> >> </wfs:Insert> >> >> This would more closely follow the <wfs:Modify> format and namespace. > > WFS-T support was built on examples, primarily from GeoServer, with > support from Cameron Shorter and others who wrote the original vector > code. The XSDs shipped with the spec are totally useless to me, even > when they're actually accurate, so I don't have a good backup of why it > was done this way, other than "I thought it should be done this way. > >> So why should anyone care? mostly the later is much easier to parse as >> the tags are predetermined by the wfs namespace and not consturcted from >> the arbitrary attributes used in the layer definition. > > 'arbitrary attributes'? The Layer Definition ('Schema') For a WFS layer > is key to all work with WFS, no? > >> I am interested in the "why of this" so I better understand how all this >> works. Reading the code, it looks like this change can be done by >> overloading createFeatureXML with code that generates the later XML >> above, so I could make the change myself outside of the OL code base for >> testing and review. >> >> If I did that would it be an appropriate change to svn? >> A change to svn, would probably break any existing services that depend >> on the existing format for <wfs:Insert>. > > What does the spec say? This matters more than 'existing services', as > far as I'm concerned, but the existing insert statements work with > GeoServer, Manifold, and at least some others, and GeoServer is what I was > working with when I wrote it. > > Regards, _______________________________________________ Users mailing list [email protected] http://openlayers.org/mailman/listinfo/users
