<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#ffffff" text="#000000">
Hello, i'm a newy in this matter, and after a week i have installed the
tinyows demo in my server (debian squeeze) and i could make it work,
all layers are showing, but i cannot make it save. <br>
<br>
Any tip or help will be apreciate. I don't know what else try, i have
no more ideas.<br>
<br>
When i edit same features and click save this is what <b>firebug post</b>:<br>
<br>
&lt;wfs:Transaction xmlns:wfs=<a class="moz-txt-link-rfc2396E" href="http://www.opengis.net/wfs">"http://www.opengis.net/wfs"</a>
service="WFS" version="1.1.0"
xsi:schemaLocation=<a class="moz-txt-link-rfc2396E" href="http://www.opengis.net/wfshttp://schemas.opengis.net/wfs/1.1.0/wfs.xsdhttp://www.agpstracking.com/http://www.agpstracking.com/cgi-bin/tinyows?service=wfs&amp;request=DescribeFeatureType&amp;version=1.1.0&amp;typename=france">"http://www.opengis.net/wfs
http://schemas.opengis.net/wfs/1.1.0/wfs.xsd
http://www.agpstracking.com/
http://www.agpstracking.com/cgi-bin/tinyows?service=wfs&amp;request=DescribeFeatureType&amp;version=1.1.0&amp;typename=france"</a>
xmlns:xsi=<a class="moz-txt-link-rfc2396E" href="http://www.w3.org/2001/XMLSchema-instance">"http://www.w3.org/2001/XMLSchema-instance"</a>&gt;<br>
&lt;wfs:Update typeName="feature:france"
xmlns:feature=<a class="moz-txt-link-rfc2396E" href="http://www.agpstracking.com/">"http://www.agpstracking.com/"</a>&gt;<br>
&lt;wfs:Property&gt;<br>
&lt;wfs:Name&gt;the_geom&lt;/wfs:Name&gt;<br>
&lt;wfs:Value&gt;<br>
&lt;gml:MultiSurface xmlns:gml=<a class="moz-txt-link-rfc2396E" href="http://www.opengis.net/gml">"http://www.opengis.net/gml"</a>
srsName="EPSG:27582"&gt;<br>
&lt;gml:surfaceMember&gt;<br>
&lt;gml:Polygon&gt;<br>
&lt;gml:exterior&gt;<br>
&lt;gml:LinearRing&gt;<br>
&lt;gml:posList&gt;650260.......&lt;/gml:posList&gt;<br>
&lt;/gml:LinearRing&gt;<br>
&lt;/gml:exterior&gt;<br>
&lt;/gml:Polygon&gt;<br>
&lt;/gml:surfaceMember&gt;<br>
&lt;/gml:MultiSurface&gt;<br>
&lt;/wfs:Value&gt;<br>
&lt;/wfs:Property&gt;<br>
&lt;wfs:Property&gt;<br>
&lt;wfs:Name&gt;gid&lt;/wfs:Name&gt;<br>
&lt;wfs:Value&gt;90&lt;/wfs:Value&gt;<br>
&lt;/wfs:Property&gt;<br>
&lt;wfs:Property&gt;<br>
&lt;wfs:Name&gt;id_geofla&lt;/wfs:Name&gt;<br>
&lt;wfs:Value&gt;32129&lt;/wfs:Value&gt;<br>
&lt;/wfs:Property&gt;<br>
&lt;wfs:Property&gt;<br>
&lt;wfs:Name&gt;code_chf_l&lt;/wfs:Name&gt;<br>
&lt;wfs:Value&gt;024&lt;/wfs:Value&gt;<br>
&lt;/wfs:Property&gt;<br>
&lt;wfs:Property&gt;<br>
&lt;wfs:Name&gt;nom_chf_l&lt;/wfs:Name&gt;<br>
&lt;wfs:Value&gt;AUXERRE&lt;/wfs:Value&gt;<br>
&lt;/wfs:Property&gt;<br>
&lt;wfs:Property&gt;<br>
&lt;wfs:Name&gt;x_chf_lieu&lt;/wfs:Name&gt;<br>
&lt;wfs:Value&gt;6921&lt;/wfs:Value&gt;<br>
&lt;/wfs:Property&gt;<br>
&lt;wfs:Property&gt;<br>
&lt;wfs:Name&gt;y_chf_lieu&lt;/wfs:Name&gt;<br>
&lt;wfs:Value&gt;23116&lt;/wfs:Value&gt;<br>
&lt;/wfs:Property&gt;<br>
&lt;wfs:Property&gt;<br>
&lt;wfs:Name&gt;x_centroid&lt;/wfs:Name&gt;<br>
&lt;wfs:Value&gt;6932&lt;/wfs:Value&gt;<br>
&lt;/wfs:Property&gt;<br>
&lt;wfs:Property&gt;<br>
&lt;wfs:Name&gt;y_centroid&lt;/wfs:Name&gt;<br>
&lt;wfs:Value&gt;23112&lt;/wfs:Value&gt;<br>
&lt;/wfs:Property&gt;<br>
&lt;wfs:Property&gt;<br>
&lt;wfs:Name&gt;nom_dept&lt;/wfs:Name&gt;<br>
&lt;wfs:Value&gt;YONNE&lt;/wfs:Value&gt;<br>
&lt;/wfs:Property&gt;<br>
&lt;wfs:Property&gt;<br>
&lt;wfs:Name&gt;code_reg&lt;/wfs:Name&gt;<br>
&lt;wfs:Value&gt;26&lt;/wfs:Value&gt;<br>
&lt;/wfs:Property&gt;<br>
&lt;wfs:Property&gt;<br>
&lt;wfs:Name&gt;nom_region&lt;/wfs:Name&gt;<br>
&lt;wfs:Value&gt;BOURGOGNE&lt;/wfs:Value&gt;<br>
&lt;/wfs:Property&gt;<br>
&lt;wfs:Property&gt;<br>
&lt;wfs:Name&gt;code_dept&lt;/wfs:Name&gt;<br>
&lt;wfs:Value&gt;89&lt;/wfs:Value&gt;<br>
&lt;/wfs:Property&gt;<br>
&lt;ogc:Filter xmlns:ogc=<a class="moz-txt-link-rfc2396E" href="http://www.opengis.net/ogc">"http://www.opengis.net/ogc"</a>&gt;<br>
&lt;ogc:FeatureId&gt;&lt;/ogc:FeatureId&gt;<br>
&lt;/ogc:Filter&gt;<br>
&lt;/wfs:Update&gt;<br>
&lt;/wfs:Transaction&gt;<br>
<br>
<br>
<b>this is the tinyows response in firebug:</b><br>
<pre role="list"><code class="wrappedText focusRow" role="listitem">&lt;?xml version='1.0' encoding='UTF-8'?&gt;
</code><code class="wrappedText focusRow" role="listitem">&lt;ows:ExceptionReport
</code><code class="wrappedText focusRow" role="listitem"> xmlns='<a class="moz-txt-link-freetext" href="http://www.opengis.net/ows">http://www.opengis.net/ows</a>'
</code><code class="wrappedText focusRow" role="listitem"> xmlns:ows='<a class="moz-txt-link-freetext" href="http://www.opengis.net/ows">http://www.opengis.net/ows</a>'
</code><code class="wrappedText focusRow" role="listitem"> xmlns:xsi='<a class="moz-txt-link-freetext" href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>'
</code><code class="wrappedText focusRow" role="listitem"> xsi:schemaLocation='<a class="moz-txt-link-freetext" href="http://www.opengis.net/ows">http://www.opengis.net/ows</a> <a class="moz-txt-link-freetext" href="http://schemas.opengis.net/ows/1.0.0/owsExceptionReport">http://schemas.opengis.net/ows/1.0.0/owsExceptionReport</a></code><code
 class="wrappedText focusRow" role="listitem">.xsd'
</code><code class="wrappedText focusRow" role="listitem"> version='1.1.0' language='en'&gt;
</code><code class="wrappedText focusRow" role="listitem"> &lt;ows:Exception exceptionCode='InvalidParameterValue' locator='request'&gt;
</code><code class="wrappedText focusRow" role="listitem">  &lt;ows:ExceptionText&gt;XML request isn't valid&lt;/ows:ExceptionText&gt;
</code><code class="wrappedText focusRow" role="listitem"> &lt;/ows:Exception&gt;
</code><code class="wrappedText focusRow" role="listitem">&lt;/ows:ExceptionReport&gt;</code></pre>
<br>
<br>
This is what i have &nbsp; in: <br>
&nbsp;&nbsp;&nbsp; <b>/etc/tinyows.xml:</b><br>
&nbsp;&nbsp;&nbsp; &lt;tinyows
online_resource=<a class="moz-txt-link-rfc2396E" href="http://www.agpstracking.com/cgi-bin/tinyows">"http://www.agpstracking.com/cgi-bin/tinyows"</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; schema_dir="/usr/local/share/tinyows/schema/" log_level="1"
log="/var/log/tinyows.log"&gt;<br>
<br>
&nbsp; &lt;pg host="127.0.0.1" user="remise" password="12346"
dbname="tinyows_demo" port="5433"/&gt;<br>
<br>
&nbsp; &lt;metadata name="TinyOWS Server"<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; title="TinyOWS Server - Demo Service" /&gt;<br>
<br>
&nbsp; &lt;layer retrievable="1"<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writable="1"<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_prefix="tows"<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_uri=<a class="moz-txt-link-rfc2396E" href="http://www.agpstracking.com/">"http://www.agpstracking.com/"</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name="world"<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; server=<a class="moz-txt-link-rfc2396E" href="http://www.agpstracking.com/">"http://www.agpstracking.com/"</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; title="World Administrative Boundaries" /&gt;<br>
<br>
&nbsp; &lt;layer retrievable="1"<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writable="1"<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_prefix="tows"<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ns_uri=<a class="moz-txt-link-rfc2396E" href="http://www.agpstracking.com/">"http://www.agpstracking.com/"</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name="france"<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; server=<a class="moz-txt-link-rfc2396E" href="http://www.agpstracking.com/">"http://www.agpstracking.com/"</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; title="French Administrative Sub Boundaries (IGN - GeoFLA
Departements)" /&gt;<br>
<br>
&nbsp;&nbsp;&nbsp; &lt;/tinyows&gt;<br>
<br>
<br>
<b>this is the javascript file:</b><br>
<br>
var map, wfs;<br>
<br>
var DeleteFeature = OpenLayers.Class(OpenLayers.Control, {<br>
&nbsp;&nbsp;&nbsp; initialize: function(layer, options) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OpenLayers.Control.prototype.initialize.apply(this, [options]);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.layer = layer;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.handler = new OpenLayers.Handler.Feature(<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this, layer, {click: this.clickFeature}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );<br>
&nbsp;&nbsp;&nbsp; },<br>
&nbsp;&nbsp;&nbsp; clickFeature: function(feature) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // if feature doesn't have a fid, destroy it<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(feature.fid == undefined) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.layer.destroyFeatures([feature]);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; feature.state = OpenLayers.State.DELETE;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.layer.events.triggerEvent("afterfeaturemodified", <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {feature: feature});<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; feature.renderIntent = "select";<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.layer.drawFeature(feature);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; },<br>
&nbsp;&nbsp;&nbsp; setMap: function(map) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.handler.setMap(map);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OpenLayers.Control.prototype.setMap.apply(this, arguments);<br>
&nbsp;&nbsp;&nbsp; },<br>
&nbsp;&nbsp;&nbsp; CLASS_NAME: "OpenLayers.Control.DeleteFeature"<br>
});<br>
<br>
<br>
<br>
function showMsg(szMessage) {<br>
&nbsp;&nbsp;&nbsp; window.alert(szMessage);<br>
&nbsp;&nbsp;&nbsp; /*document.getElementById("message").innerHTML = szMessage;<br>
&nbsp;&nbsp;&nbsp; setTimeout(<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "document.getElementById('message').innerHTML = ''",2000);*/<br>
};<br>
<br>
function showSuccessMsg(){<br>
&nbsp;&nbsp;&nbsp; showMsg("Transaction successfully completed");<br>
};<br>
<br>
function showFailureMsg(){<br>
&nbsp;&nbsp;&nbsp; showMsg("An error occured while operating the transaction");<br>
};<br>
<br>
<br>
function init() {<br>
&nbsp;&nbsp;&nbsp;&nbsp; map = new OpenLayers.Map('basicMap', {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; projection: new OpenLayers.Projection("EPSG:27582"),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; units: "m",<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; maxResolution: "auto",<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; maxExtent: new OpenLayers.Bounds(5000,1620000,1198000,2678000),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; controls: [<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new OpenLayers.Control.PanZoom()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; });<br>
&nbsp;&nbsp;&nbsp; var base = new OpenLayers.Layer.WMS("OpenLayers WMS",<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a class="moz-txt-link-rfc2396E" href="http://www.geosignal.org/cgi-bin/wmsmap?">"http://www.geosignal.org/cgi-bin/wmsmap?"</a>,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {layers: "Regions,Departements",<br>
&nbsp;&nbsp;&nbsp; &nbsp;projection:"EPSG:27582",<br>
&nbsp;&nbsp;&nbsp; displayProjection: new OpenLayers.Projection("EPSG:27582"),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; units: "m",<br>
&nbsp;&nbsp;&nbsp; &nbsp;maxResolution: "auto",<br>
&nbsp;&nbsp;&nbsp; &nbsp;maxExtent: new OpenLayers.Bounds(5000,1620000,1198000,2678000),<br>
&nbsp;&nbsp;&nbsp; &nbsp;sld:
<a class="moz-txt-link-rfc2396E" href="http://www.tinyows.org/tracdocs/demo/OpenLayers-2.9/examples/sld.xml">"http://www.tinyows.org/tracdocs/demo/OpenLayers-2.9/examples/sld.xml"</a><br>
&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; );<br>
<br>
&nbsp;&nbsp;&nbsp; map.addLayer(base);<br>
<br>
&nbsp;&nbsp;&nbsp; var saveStrategy = new OpenLayers.Strategy.Save();<br>
&nbsp;&nbsp;&nbsp; saveStrategy.events.register("success", '', showSuccessMsg);<br>
&nbsp;&nbsp;&nbsp; saveStrategy.events.register("fail", '', showFailureMsg);<br>
<br>
&nbsp;&nbsp; wfs = new OpenLayers.Layer.Vector("Editable Features", {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strategies: [new OpenLayers.Strategy.BBOX(), saveStrategy],<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; projection: new OpenLayers.Projection("EPSG:27582"),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protocol: new OpenLayers.Protocol.WFS({<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; version: "1.1.0",<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; srsName: "EPSG:27582",<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; url: <a class="moz-txt-link-rfc2396E" href="http://www.agpstracking.com/cgi-bin/tinyows?">"http://www.agpstracking.com/cgi-bin/tinyows?"</a>,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; featureType: "france",<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; featureNS: <a class="moz-txt-link-rfc2396E" href="http://www.agpstracking.com/">"http://www.agpstracking.com/"</a>,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; geometryName: "the_geom",<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; schema:
<a class="moz-txt-link-rfc2396E" href="http://www.agpstracking.com/cgi-bin/tinyows?service=wfs&amp;request=DescribeFeatureType&amp;version=1.1.0&amp;typename=france">"http://www.agpstracking.com/cgi-bin/tinyows?service=wfs&amp;request=DescribeFeatureType&amp;version=1.1.0&amp;typename=france"</a>,<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; outputFormat: "application/json",<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; readFormat: new OpenLayers.Format.GeoJSON()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; })<br>
&nbsp;&nbsp;&nbsp; });<br>
<br>
&nbsp;&nbsp; map.addLayer(wfs);<br>
<br>
&nbsp;&nbsp;&nbsp; var panel = new OpenLayers.Control.Panel(<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {'displayClass': 'customEditingToolbar'}<br>
&nbsp;&nbsp;&nbsp; );<br>
&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; var navigate = new OpenLayers.Control.Navigation({<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; title: "Pan Map"<br>
&nbsp;&nbsp;&nbsp; });<br>
&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; var draw = new OpenLayers.Control.DrawFeature(<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wfs, OpenLayers.Handler.Polygon,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; title: "Draw Feature",<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; displayClass: "olControlDrawFeaturePolygon",<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; multi: true<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; );<br>
&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; var edit = new OpenLayers.Control.ModifyFeature(wfs, {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; title: "Modify Feature",<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; displayClass: "olControlModifyFeature"<br>
&nbsp;&nbsp;&nbsp; });<br>
<br>
&nbsp;&nbsp;&nbsp; var del = new DeleteFeature(wfs, {title: "Delete Feature"});<br>
&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; var save = new OpenLayers.Control.Button({<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; title: "Save Changes",<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; trigger: function() {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(edit.feature) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; edit.selectControl.unselectAll();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; saveStrategy.save();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; displayClass: "olControlSaveFeatures"<br>
&nbsp;&nbsp;&nbsp; });<br>
<br>
&nbsp;&nbsp;&nbsp; panel.addControls([navigate, save, edit, draw, del]);<br>
&nbsp;&nbsp;&nbsp; panel.defaultControl = navigate;<br>
&nbsp;&nbsp;&nbsp; map.addControl(panel);<br>
&nbsp;&nbsp;&nbsp; map.zoomToMaxExtent();<br>
<br>
}<br>
<br>
<br>
<b>this is my html file:</b><br>
<br>
&lt;html&gt;<br>
&nbsp; &lt;head&gt;<br>
&lt;LINK REL=StyleSheet HREF='../estilo.css' TYPE='text/css'&gt;<br>
&lt;link rel="stylesheet" href="theme/default/style.css"
type="text/css" /&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;script src="OpenLayers-2.9/OpenLayers.js"&gt;&lt;/script&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;style&gt;<br>
<br>
&nbsp;&nbsp;&nbsp; #map {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; width: 800px;<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; height: 500px;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; float: left;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; border: 1px solid #ccc;<br>
&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #message {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; position: relative;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; left: 5px;<br>
&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #docs {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; float: left;<br>
&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .customEditingToolbar {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; float: right;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; right: 0px;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; height: 30px; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; width: 200px;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .customEditingToolbar div {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; float: right;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; margin: 5px;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; width: 24px;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; height: 24px;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .olControlNavigationItemActive { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-image:
url("theme/default/img/editing_tool_bar.png");<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-repeat: no-repeat;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-position: -103px -23px; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .olControlNavigationItemInactive { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-image:
url("theme/default/img/editing_tool_bar.png");<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-repeat: no-repeat;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-position: -103px -0px; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .olControlDrawFeaturePolygonItemInactive { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-image:
url("theme/default/img/editing_tool_bar.png");<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-repeat: no-repeat;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-position: -26px 0px; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .olControlDrawFeaturePolygonItemActive { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-image:
url("theme/default/img/editing_tool_bar.png");<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-repeat: no-repeat;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-position: -26px -23px
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .olControlModifyFeatureItemActive { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-image:
url(theme/default/img/move_feature_on.png);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-repeat: no-repeat;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-position: 0px 1px;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .olControlModifyFeatureItemInactive { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-image:
url(theme/default/img/move_feature_off.png);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-repeat: no-repeat;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-position: 0px 1px;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .olControlDeleteFeatureItemActive { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-image:
url(theme/default/img/remove_point_on.png);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-repeat: no-repeat;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-position: 0px 1px;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .olControlDeleteFeatureItemInactive { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-image:
url(theme/default/img/remove_point_off.png);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-repeat: no-repeat;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; background-position: 0px 1px;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &lt;/style&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;script src="tinyows_wfs-t.js"&gt;&lt;/script&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;/head&gt;<br>
<br>
&nbsp;&nbsp;&nbsp; &lt;body onload="init()"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;h1 id="title"&gt;WFS Transaction Example, (TinyOWS ans
OpenLayers)&lt;/h1&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div id="tags"&gt;&lt;/div&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;p id="shortdesc"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Shows the use of the WFS Transactions (WFS-T).<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Parks of Osnabruck (Frida).<br>
&nbsp;&nbsp;&nbsp; &lt;br /&gt;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Base layers is OpenStreetMap from Omniscale WMS Server.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/p&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div id="basicMap"&gt;&lt;/div&gt;<br>
<br>
&nbsp;&nbsp;&nbsp; &lt;div id="message"&gt;&lt;/div&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div id="docs"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;p&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The WFS protocol allows for creation of new features and<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reading, updating, or deleting of existing features.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/p&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;p&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Use the tools to create, modify, and delete (in order
from left<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to right) features. Use the save tool (picture of a
disk) to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; save your changes. Use the navigation tool (hand) to
stop<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; editing and use the mouse for map navigation.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/p&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;p&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; See the &lt;a href="tinyows_wfs-t.js"
target="_blank"&gt;<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wfs-protocol-transactions.js source&lt;/a&gt; to see
how this is done.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/p&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;/body&gt;<br>
&lt;/html&gt;<br>
<br>
THANKS<br>
</body>
</html>