OpenSearch [1] is a standard for simple web search engines with a single full text search box (searchTerms), broadly used in web browsers. Its 'Geo' draft extension [2][3] allows for geographic filtering (bbox, etc) and geographic response formats. Some catalog software (ie geonetwork) can deploy OpenSearch-geo services. Having an OL client reference implementation should help to push the standard beyond its actual draft status, and will enable much use cases.
'OpenSearch description document' (XML), equivalent to a 'capabilities' in OWS languaje, defines accepted request parameters and response formats (such as GeoRSS, Atom, KML, GeoJSON).
Results are enriched with 'atom' and 'opensearch' tags describing alternative links and pagination metadata.
Proposed implementation in OL includes the following classes:
-> OpenLayers.Format.OpenSearchDescription (extends XML format): Description document parser (read only).
-> OpenLayers.Strategy.OpenSearch (extends Strategy): Controls above parser, OpenSearch requests and responses, draws results in vector layer. 'public' methods to change request params and control paged results (next,prev).
-> OpenLayers.Control.OpenSearch, provides user interface: textbox input, results attributes.
Not clear yet how to parse opensearch-specific tags in XML responses without intruding specific code into all affected format parsers (KML, Atom, GeoRSS). Different namespaces, but should be parsed along with features...
Sandbox: http://svn.openlayers.org/sandbox/oscar.fonts/opensearch/
[1] http://www.opensearch.org/Home
[2] http://www.opensearch.org/Specifications/OpenSearch/Extensions/Geo/1.0/Draft_1
[3] http://portal.opengeospatial.org/files/?artifact_id=35983