<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:element name="Selection">
		<xs:annotation>
			<xs:documentation>Comment describing your root element</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Group" minOccurs="1" maxOccurs="1"/>
				<xs:element ref="SubGroup" minOccurs="0" maxOccurs="unbounded"/>				
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Group">
		<xs:complexType>								
			<xs:sequence maxOccurs="unbounded">				
				<xs:element ref="Object" minOccurs="1"/>
			</xs:sequence>
			<xs:attribute name="distinct">
				      <xs:simpleType>
				        <xs:restriction base="xs:NMTOKEN">
				        <xs:enumeration value="no"/>
				        <xs:enumeration value="yes"/>
				        </xs:restriction>
				      </xs:simpleType>
			</xs:attribute>			
		</xs:complexType>
	</xs:element>
	<xs:element name="SubGroup">
		<xs:complexType>								
			<xs:sequence maxOccurs="unbounded">
				<xs:element name="GroupExp" minOccurs="1" maxOccurs="1">
					<xs:complexType>
					  <xs:simpleContent>
						<xs:extension base="xs:string">
						<xs:attribute name="displayLabel" type="xs:string" use="required"/>
						</xs:extension>
					  </xs:simpleContent>			
					</xs:complexType>
				</xs:element>
				<xs:element name="GroupLink" minOccurs="1" maxOccurs="1">
					<xs:complexType>
					  <xs:simpleContent>
						<xs:extension base="xs:string">
						<xs:attribute name="to" type="xs:string" use="required"/>
					  	</xs:extension>
					  </xs:simpleContent>		
					</xs:complexType>
				</xs:element>				
				<xs:element ref="Object" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="id" type="xs:string" use="required"/>
			<xs:attribute name="displayLabel" type="xs:string" use="required"/>			
		</xs:complexType>
	</xs:element>
	<xs:element name="Object">
		<xs:complexType>
			<xs:all minOccurs="0" maxOccurs="1">
				<xs:element name="Link" minOccurs="0" maxOccurs="1">
					<xs:complexType>
					  <xs:simpleContent>
						<xs:extension base="xs:string">
						<xs:attribute name="to" type="xs:string" use="required"/>
						<xs:attribute name="type" use="required">
							<xs:simpleType>
						        <xs:restriction base="xs:NMTOKEN">
						        <xs:enumeration value="inner"/>
						        <xs:enumeration value="outer"/>
						        </xs:restriction>
						      </xs:simpleType>	
						</xs:attribute>					
						<xs:attribute name="linkIfNoCrit" default="no">
							      <xs:simpleType>
							        <xs:restriction base="xs:NMTOKEN">
							        <xs:enumeration value="no"/>
							        <xs:enumeration value="yes"/>
							        </xs:restriction>
							      </xs:simpleType>
						</xs:attribute>
						</xs:extension>
					   </xs:simpleContent>			
					</xs:complexType>
				</xs:element>
				<xs:element name="Store" minOccurs="0" maxOccurs="1">
					<xs:complexType>
					  <xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="into" type="xs:string" use="required"/>
						</xs:extension>
					  </xs:simpleContent>									
					</xs:complexType>
				</xs:element>
				<xs:element name="Filter" minOccurs="0" maxOccurs="1"/>				
			</xs:all>
			<xs:attribute name="alias" type="xs:string"/>
			<xs:attribute name="name" type="xs:string"/>
			<xs:attribute name="displayLabel" type="xs:string"/>			
			<xs:attribute name="showCriteria" default="no">
				      <xs:simpleType>
				        <xs:restriction base="xs:NMTOKEN">
				        <xs:enumeration value="no"/>
				        <xs:enumeration value="yes"/>
				        </xs:restriction>
				      </xs:simpleType>
			</xs:attribute>	
		</xs:complexType>
	</xs:element>
</xs:schema> 