<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
	<xs:element name="Root">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Main" type="MainType" maxOccurs="unbounded"/>
				<xs:element name="Constraint" type="ConstraintType" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:complexType name="MainType">
		<xs:sequence>
			<xs:element name="Group" type="GroupType" maxOccurs="unbounded"/>
			<xs:element name="Constraint" type="ConstraintType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="GroupType">
		<xs:sequence>
			<xs:element name="Group" type="GroupType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Segment" type="SegmentType" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Constraint" type="ConstraintType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>

		<xs:complexType name="SegmentType">
			<xs:sequence>
				<xs:element name="Constraint" type="ConstraintType" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>

	<xs:complexType name="ConstraintType">
		<xs:choice minOccurs="0">
			<xs:element name="a" type="xs:string" maxOccurs="unbounded"/>
			<xs:element name="b" type="xs:string" maxOccurs="unbounded"/>
			<xs:element name="c" type="xs:string" maxOccurs="unbounded"/>
		</xs:choice>
		<xs:attribute name="x" type="xs:string" use="required"/>
		<xs:attribute name="y" type="xs:string"/>
	</xs:complexType>
</xs:schema>