[OpenLayers-Users] CSW request with filter is missing XML namespace
Damiano ALBANI
damiano.albani at univ-nantes.fr
Mon May 16 07:45:28 EDT 2011
Hello,
Here's a simple CSW GetRecords request, specifying a bounding box:
var filterBoundingBox = new OpenLayers.Filter.Comparison({
type: OpenLayers.Filter.Spatial.BBOX,
property: "ows:BoundingBox",
value: bbox
});
var options = {
resultType: "results",
startPosition: 1,
maxRecords: 20,
outputFormat: "application/xml",
outputSchema: "http://www.isotc211.org/2005/gmd",
Query: {
ElementSetName: {
value: "full"
},
Constraint: {
version: "1.1.0",
Filter: filterBoundingBox
}
}
};
var format = new OpenLayers.Format.CSWGetRecords();
console.log(format.write(options));
Which shows on the console :
<csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
service="CSW"
version="2.0.2"
resultType="results"
outputFormat="application/xml"
outputSchema="http://www.isotc211.org/2005/gmd"
startPosition="1"
maxRecords="20">
<csw:Query typeNames="csw:Record">
<csw:ElementSetName>full</csw:ElementSetName>
<csw:Constraint version="1.1.0">
<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
<ogc:BBOX>
<ogc:PropertyName>ows:BoundingBox</ogc:PropertyName>
<gml:Envelope xmlns:gml="http://www.opengis.net/gml">
<gml:lowerCorner>-8.623046875 25.8935546875</gml:lowerCorner>
<gml:upperCorner>13.349609375 47.8662109375</gml:upperCorner>
</gml:Envelope>
</ogc:BBOX>
</ogc:Filter>
</csw:Constraint>
</csw:Query>
</csw:GetRecords>
The problem is that the "ows" namespace is not declared anywhere, be it
on the <ogc:Filter> element or the root element.
Which generates error on the CSW server side.
Again, if I want to have a filter like:
var filterSubject = new OpenLayers.Filter.Comparison({
type: OpenLayers.Filter.Comparison.LIKE,
property: "apiso:Subject",
value: "*qwerty*"
});
How/where am I supposed to declare the "apiso" namespace?
Of course, just before sending the request of the wire, I can manually
modify the XML string in JavaScript, but is it the "right-way-to-do-it"?
Thanks,
--
Damiano ALBANI
More information about the Users
mailing list