Index: trunk/data/defaultpresets.xml
===================================================================
--- trunk/data/defaultpresets.xml	(revision 5611)
+++ trunk/data/defaultpresets.xml	(revision 5614)
@@ -89,4 +89,5 @@
   count: how often can the role occur (if not given unlimited number is assumed)
   type: the data types - way,node,relation,closedway (separated by comma)
+  member_expression: an expression (cf. search dialog) for objects of this role
 
  presets: For external files <presets> should have following attributes:
@@ -2426,10 +2427,10 @@
             <roles>
                 <role key="" text="route segment" requisite="required" type="way" />
-                <role key="stop" text="stop position" requisite="optional" type="node" />
-                <role key="stop_exit_only" text="stop position (exit only)" requisite="optional" type="node" />
-                <role key="stop_entry_only" text="stop position (entry only)" requisite="optional" type="node" />
-                <role key="platform" text="platform" requisite="optional" type="node,way,closedway" />
-                <role key="platform_exit_only" text="platform (exit only)" requisite="optional" type="node,way,closedway" />
-                <role key="platform_entry_only" text="platform (entry only)" requisite="optional" type="node,way,closedway" />
+                <role key="stop" text="stop position" requisite="optional" type="node" member_expression="public_transport=stop_position" />
+                <role key="stop_exit_only" text="stop position (exit only)" requisite="optional" type="node" member_expression="public_transport=stop_position" />
+                <role key="stop_entry_only" text="stop position (entry only)" requisite="optional" type="node" member_expression="public_transport=stop_position" />
+                <role key="platform" text="platform" requisite="optional" type="node,way,closedway" member_expression="public_transport=platform" />
+                <role key="platform_exit_only" text="platform (exit only)" requisite="optional" type="node,way,closedway" member_expression="public_transport=platform" />
+                <role key="platform_entry_only" text="platform (entry only)" requisite="optional" type="node,way,closedway" member_expression="public_transport=platform" />
             </roles>
         </item>
@@ -2447,5 +2448,5 @@
             </optional>
             <roles>
-                <role key="" text="route variant/direction (at least 2)" requisite="required" type="relation"/> <!-- FIXME: at least 2 members are required -->
+                <role key="" text="route variant/direction (at least 2)" requisite="required" type="relation" member_expression="type=route"/> <!-- FIXME: at least 2 members are required -->
             </roles>
         </item>
@@ -2464,7 +2465,7 @@
             </optional>
             <roles>
-                <role key="stop" text="Stop Position" requisite="optional" type="node"/>
-                <role key="platform" text="Platform" requisite="optional" type="node,way,closedway"/>
-                <role key="" text="Station or amenities" requisite="optional" type="node,way,closedway"/>
+                <role key="stop" text="Stop Position" requisite="optional" type="node" member_expression="public_transport=stop_position"/>
+                <role key="platform" text="Platform" requisite="optional" type="node,way,closedway" member_expression="public_transport=platform"/>
+                <role key="" text="Station or amenities" requisite="optional" type="node,way,closedway" member_expression="amenity|public_transport=station"/>
             </roles>
         </item>
@@ -5906,6 +5907,6 @@
             <text key="name" text="Street name" />
             <roles>
-                <role key="street" text="street" requisite="required" type="way" />
-                <role key="house" text="house" requisite="required" type="node,way,closedway,relation" />
+                <role key="street" text="street" requisite="required" type="way" member_expression="highway &quot;addr:street&quot;" />
+                <role key="house" text="house" requisite="required" type="node,way,closedway,relation" member_expression="&quot;addr:housenumber&quot;" />
             </roles>
         </item>
@@ -5963,7 +5964,7 @@
             </optional>
             <roles>
-                <role key="" text="waterways (no riverbank)" requisite="optional" type="way" />
-                <role key="main_stream" text="waterways (no riverbank)" requisite="optional" type="way" />
-                <role key="side_stream" text="branch waterways (no riverbank)" requisite="optional" type="way" />
+                <role key="" text="waterways (no riverbank)" requisite="optional" type="way" member_expression="waterway -waterway:riverbank" />
+                <role key="main_stream" text="waterways (no riverbank)" requisite="optional" type="way" member_expression="waterway -waterway:riverbank" />
+                <role key="side_stream" text="branch waterways (no riverbank)" requisite="optional" type="way" member_expression="waterway -waterway:riverbank"/>
                 <role key="spring" text="spring of waterway" requisite="optional" type="node" />
             </roles>
Index: trunk/data/tagging-preset.xsd
===================================================================
--- trunk/data/tagging-preset.xsd	(revision 5611)
+++ trunk/data/tagging-preset.xsd	(revision 5614)
@@ -57,5 +57,5 @@
 				<element name="optional" type="tns:optional" minOccurs="0" />
 			</choice>
-			<element name="roles" type="tns:roles" minOccurs="0" />
+			<element name="roles" type="tns:roles" minOccurs="0" maxOccurs="1" />
 		</sequence>
 		<attribute name="name" type="string" use="required" />
@@ -232,4 +232,5 @@
 		<attribute name="type" type="string" />
 		<attribute name="count" type="integer" />
+		<attribute name="member_expression" type="string" />
 	</complexType>
 
