anchor.diff:  %%
   all() ->
   	[filter_members, filter_array, filter_deep_object, filter_deep_array,
  -			filter_complex, filter_match_list].
  +			filter_match, filter_match_array, filter_match_list, filter_complex].
   
   %%---------------------------------------------------------------------
   %%  Test cases
  
positive.code: 	ObjectOut = {struct, [{"g", {array, [O2, O4]}}]},
  	ObjectOut = ocs_rest:filter(Filters, ObjectIn).
  
  %%---------------------------------------------------------------------
  %%  Internal functions
  %%---------------------------------------------------------------------
  
negative.code: 	ObjectOut = {struct, [A, {"b", {array, [Co, Do, Eo]}}]},
  	ObjectOut = ocs_rest:filter(Filters, ObjectIn).
  
  filter_match() ->
  	[{userdata, [{doc, "Filter objects with value matching"}]}].
  
  filter_match(_Config) ->
  	BX = {"x", "bob"},
  	BY = {"y", erlang:unique_integer()},
  	DX = {"x", "alice"},
  	DZ = {"y", erlang:unique_integer()},
  	A = {struct, [{"w", 1}, {"x", "bob"}, {"y", 2}, {"z", 3}]},
  	B = {struct, [{"w", 4}, BX, BY, {"z", 5}]},
  	C = {struct, [{"w", 6}, {"x", "ted"}, {"y", 7}, {"z", 8}]},
  	D = {struct, [{"w", 9}, DX, {"y", 10}, {"z", DZ}]},
  	ObjectIn = {struct, [{"a", A}, {"b", B}, {"c", C}, {"d", D}]},
  	Filters = "a.x=fred,a.y,b.x=carol,d.x=alice,d.z",
  	ObjectOut = {struct, [{"b", {struct, [BX, BY]}},
  			{"z", {struct, [DX, DZ]}}]},
  	ObjectOut = ocs_rest:filter(Filters, ObjectIn).
  
  filter_match_array() ->
  	[{userdata, [{doc, "Filter array with value matching"}]}].
  
  filter_match_array(_Config) ->
  	BX = {"x", "carol"},
  	BY = {"y", erlang:unique_integer()},
  	DX = {"x", "alice"},
  	DY = {"y", erlang:unique_integer()},
  	A = {struct, [{"w", 1}, {"x", "bob"}, {"y", 2}, {"z", 3}]},
  	B = {struct, [{"w", 4}, BX, BY, {"z", 5}]},
  	C = {struct, [{"w", 6}, {"x", "ted"}, {"y", 7}, {"z", 8}]},
  	D = {struct, [{"w", 9}, DX, DY, {"z", 10}]},
  	ObjectIn = {array, [A, B, C, D]},
  	Filters = "x=carol,y,x=alice",
  	ObjectOut = {array, [{struct, [BX, BY]},
  			{struct, [DX, DY]}]},
  	ObjectOut = ocs_rest:filter(Filters, ObjectIn).
  
  filter_match_list() ->
  