diff --git a/examples/wfs-filter.html b/examples/wfs-filter.html
new file mode 100644
index 0000000000..2c6466d650
--- /dev/null
+++ b/examples/wfs-filter.html
@@ -0,0 +1,29 @@
+
+
+
+ OpenLayers WFS Protocol with Filter
+
+
+
+
+
+
+
+ WFS Protocol and Filter
+
+ Demonstrates the use of a filter in making GetFeature requests using the WFS protocol.
+
+
+
+
+ If a vector layer has a filter and the protocol supports server-side filtering,
+ the filter will be serialized in requests for features. The WFS protocol can be
+ used with a vector layer to serialize a filter using OGC Filter Encoding. This
+ example requests all features that are TYPE
"highway" or "road".
+
+ See the wfs-filter source
+ for details on how this is done.
+
+
+
+
diff --git a/examples/wfs-filter.js b/examples/wfs-filter.js
new file mode 100644
index 0000000000..517323eba6
--- /dev/null
+++ b/examples/wfs-filter.js
@@ -0,0 +1,48 @@
+var map;
+
+// use proxy if requesting features cross-domain
+OpenLayers.ProxyHost= "/proxy/?url=";
+
+function init() {
+
+ map = new OpenLayers.Map({
+ div: "map",
+ layers: [
+ new OpenLayers.Layer.WMS(
+ "Natural Earth",
+ "http://demo.opengeo.org/geoserver/wms",
+ {layers: "topp:naturalearth"}
+ ),
+ new OpenLayers.Layer.Vector("WFS", {
+ strategies: [new OpenLayers.Strategy.BBOX()],
+ protocol: new OpenLayers.Protocol.WFS({
+ url: "http://demo.opengeo.org/geoserver/wfs",
+ featureType: "tasmania_roads",
+ featureNS: "http://www.openplans.org/topp"
+ }),
+ styleMap: new OpenLayers.StyleMap({
+ strokeWidth: 3,
+ strokeColor: "#333333"
+ }),
+ filter: new OpenLayers.Filter.Logical({
+ type: OpenLayers.Filter.Logical.OR,
+ filters: [
+ new OpenLayers.Filter.Comparison({
+ type: OpenLayers.Filter.Comparison.EQUAL_TO,
+ property: "TYPE",
+ value: "highway"
+ }),
+ new OpenLayers.Filter.Comparison({
+ type: OpenLayers.Filter.Comparison.EQUAL_TO,
+ property: "TYPE",
+ value: "road"
+ })
+ ]
+ })
+ })
+ ],
+ center: new OpenLayers.LonLat(146.7, -41.8),
+ zoom: 6
+ });
+
+}