Dear list,

I've got problems with parsing a GML-Format. I do get two objects though from 
geoserver, as I filtered them.
But I don't seem to be able to get the key:value-pairs either of the request or 
the parser (or both ;-)) set correctly. 

Can someone please help me use the namespace prefixes and tags correctly.

var filter_header = '<wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs"; 
service="WFS" ';
var filter_header = filter_header + ' version="1.1.0" ';
var filter_header = filter_header + 
'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>';
var filter_header = filter_header + '<wfs:Query typeName="demo:flurst" ';
var filter_header = filter_header + 
'xsi:schemaLocation="http://www.opengis.net/wfs 
http://schemas.opengis.net/wfs/1.1.0/wfs.xsd ';
var filter_header = filter_header + 
'http://myDomain.com:8090/geoserver/wfs/DescribeFeatureType?version=1.1.0&amp;typename=demo:flurst";
 ';
var filter_header = filter_header + 'srsName="EPSG:31468" 
xmlns:feature="http://myDomain.com/demo";>';

var filter_footer = '</wfs:Query></wfs:GetFeature>';

var filter_1_1 = new OpenLayers.Format.Filter({version: "1.1.0"});
var xml = new OpenLayers.Format.XML();

var filter_body = new OpenLayers.Filter.Logical({
                type: OpenLayers.Filter.Logical.OR,
                filters: [
                                new OpenLayers.Filter.Comparison({
                                    type: OpenLayers.Filter.Comparison.EQUAL_TO,
                                    property: "infotext",
                                    value: "FS30117000000"
                                }),
                                new OpenLayers.Filter.Comparison({
                                    type: OpenLayers.Filter.Comparison.EQUAL_TO,
                                    property: "infotext",
                                    value: "FS50068000000"
                                })
                ]
        });
filter_body = xml.write(filter_1_1.write(filter_body));     
var final_filter = filter_header + filter_body + filter_footer;

var dbresponse = new OpenLayers.Request.POST({
                url: 
"http://myDomain.com:8090/geoserver/wfs/DescribeFeatureType?version=1.1.0&amp;typename=demo:flurst";,
                featureNS: "http://myDomain.com/demo";,
                featureNSPrefix:"gml",
                featureType: "flurst",
                data: final_filter,
                geometryName: "the_geom",
                
schema:"http://myDomain.com:8090/geoserver/wfs/DescribeFeatureType?version=1.1.0&typename=demo:flurst";,
                callback:function(dbresponse){
                        //console.log(dbresponse.responseText);
                        var g = new OpenLayers.Format.GML(
                                {                    
                                        featureType:'flurst',
                                        gmlns: 'http://myDomain.com/demo', 
                                        featureNS:'http://myDomain.com/demo',
                                        featurePrefix:"wfs",
                                        featureName: 'flurst', 
                                        geometryName: "the_geom", 
                                        collectionName:"MultiSurface", 
                                        extractAttributes: true, 
                                }
                        ); 
                        //console.log(g);
                        var vectorlayer = new 
OpenLayers.Layer.Vector("Vector"); 
                        var features = g.read(dbresponse.responseText);
                        console.log(features);
                        vectorlayer.addFeatures([features]);
                        map.addLayer(vectorlayer);
                }
});

This is the answer copied from FIREBUG/Console:

<?xml version="1.0" encoding="UTF-8"?>
<wfs:FeatureCollection numberOfFeatures="2" 
timeStamp="2009-11-12T08:41:00.430+01:00" 
xsi:schemaLocation="http://www.opengis.net/wfs 
http://myDomain.com:8090/geoserver/schemas/wfs/1.1.0/wfs.xsd 
http://myDomain.com/demo 
http://myDomain.com:8090/geoserver/wfs?service=WFS&amp;version=1.1.0&amp;request=DescribeFeatureType&amp;typeName=demo:flurst";
 
                xmlns:ogc="http://www.opengis.net/ogc"; 
                xmlns:demo="http://myDomain.com/demo"; 
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
                xmlns:ows="http://www.opengis.net/ows"; 
                xmlns:gml="http://www.opengis.net/gml"; 
                xmlns:xlink="http://www.w3.org/1999/xlink";>
<gml:featureMembers>
<demo:flurst gml:id="flurst.1359">
<demo:infotext>FS30117000000</demo:infotext>
<demo:gemeinde>Musterstadt</demo:gemeinde>
<demo:gemarkung>Musterfeld</demo:gemarkung>

                .. more attributes ...

<demo:the_geom>
<gml:MultiSurface srsName="http://www.opengis.net/gml/srs/epsg.xml#31468";>
<gml:surfaceMember>
<gml:Polygon>
<gml:exterior>
<gml:LinearRing>
<gml:posList> ... long list of coordinates .. .
</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</demo:the_geom>
</demo:flurst>
<demo:flurst gml:id="flurst.1537"> 

                .. another feature ..
                
</demo:flurst>
</gml:featureMembers>
</wfs:FeatureCollection>


I use Geoserver 1.7.4., OL 2.8

I hope, someone can help me.

Thanks in advance from Babsi

_____________________________________________________________
DSL-Preisknaller: DSL-Komplettpakete von WEB.DE schon für 
16,99 Euro/mtl.!* Hier klicken: http://produkte.web.de/go/02/

_______________________________________________
Users mailing list
[email protected]
http://openlayers.org/mailman/listinfo/users

Reply via email to