Index: /trunk/data/tagging-preset.xsd
===================================================================
--- /trunk/data/tagging-preset.xsd	(revision 7502)
+++ /trunk/data/tagging-preset.xsd	(revision 7503)
@@ -87,11 +87,19 @@
 
     <complexType name="chunk">
-        <sequence>
-            <choice minOccurs="1" maxOccurs="unbounded">
-                <group ref="tns:optional_elements" />
-                <element name="key" type="tns:key" />
-                <element name="optional" type="tns:optional" minOccurs="0" />
-            </choice>
-        </sequence>
+        <choice minOccurs="1" maxOccurs="1">
+            <sequence>
+                <choice minOccurs="1" maxOccurs="unbounded">
+                    <group ref="tns:optional_elements" />
+                    <element name="key" type="tns:key" />
+                    <element name="optional" type="tns:optional" minOccurs="0" />
+                </choice>
+            </sequence>
+            <sequence>
+                <!-- Cannot use tns:list_elements here because reference is present both in optional_elements and list_elements
+                so it violates cos-nonambig: Unique Particle Attribution :
+                <group ref="tns:list_elements" minOccurs="1" maxOccurs="unbounded" />-->
+                <element name="list_entry" type="tns:list_entry" minOccurs="1" maxOccurs="unbounded" />
+            </sequence>
+        </choice>
         <attribute name="id" type="ID" use="required" />
     </complexType>
@@ -117,4 +125,11 @@
 	</group>
 
+    <group name="list_elements">
+        <choice>
+            <element name="list_entry" type="tns:list_entry" />
+            <element name="reference" type="tns:reference" />
+        </choice>
+    </group>
+
 	<complexType name="key">
 		<attribute name="key" type="string" use="required" />
@@ -122,5 +137,4 @@
 		<attribute name="match" type="string" />
 	</complexType>
-
 
 	<complexType name="link">
@@ -179,5 +193,5 @@
 		<!-- use either list_entry's or a combination of values/display_values -->
 		<sequence>
-			<element name="list_entry" type="tns:list_entry" minOccurs="0" maxOccurs="unbounded" />
+            <group ref="tns:list_elements" minOccurs="0" maxOccurs="unbounded" />
 		</sequence>
 		<attribute name="key" type="string" use="required" />
@@ -207,5 +221,5 @@
 		<!-- use either list_entry's or a combination of values/display_values -->
 		<sequence>
-			<element name="list_entry" type="tns:list_entry" minOccurs="0" maxOccurs="unbounded" />
+            <group ref="tns:list_elements" minOccurs="0" maxOccurs="unbounded" />
 		</sequence>
 		<attribute name="key" type="string" use="required" />
