<?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 ref="main"/>
      <xs:element ref="constraint" minOccurs="0"/></xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="main">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="group"/>
      <xs:element ref="constraint" minOccurs="0"/></xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="group">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="segment"/>
      <xs:element ref="group" minOccurs="0"/><xs:element ref="constraint" minOccurs="0"/></xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="segment">
    <xs:complexType><xs:sequence><xs:element ref="constraint" minOccurs="0"/></xs:sequence></xs:complexType>
  </xs:element>
<xs:element name="constraint"><xs:complexType><xs:sequence><xs:element name="a" type="xs:string"/><xs:element name="b" type="xs:string"/></xs:sequence><xs:attribute name="x" type="xs:string" use="required"/><xs:attribute name="y" type="xs:string"/></xs:complexType></xs:element></xs:schema>
