<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="author">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="esee" />
        <xs:element ref="eurl" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="behaviour">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="newline" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="sign">
    <xs:complexType mixed="true" />
  </xs:element>
  <xs:element name="comment">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="author" />
        <xs:element ref="config" />
        <xs:element ref="desc" />
        <xs:element ref="exception" />
        <xs:element ref="member" />
        <xs:element ref="param" />
        <xs:element ref="purpose" />
        <xs:element ref="remark" />
        <xs:element ref="return" />
        <xs:element ref="see" />
        <xs:element ref="since" />
        <xs:element ref="status" />
        <xs:element ref="url" />
        <xs:element ref="verdict" />
        <xs:element ref="version" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="config">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="esee" />
        <xs:element ref="eurl" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="desc">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="esee" />
        <xs:element ref="eurl" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="element">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="name" />
        <xs:element ref="location" />
        <xs:element ref="comment" minOccurs="0" />
        <xs:element ref="behaviour" />
        <xs:element ref="sign" />
      </xs:sequence>
      <xs:attribute name="type" type="xs:string" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="esee">
    <xs:complexType mixed="true" />
  </xs:element>
  <xs:element name="eurl">
    <xs:complexType mixed="true" />
  </xs:element>
  <xs:element name="exception">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="esee" />
        <xs:element ref="eurl" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="file">
    <xs:complexType mixed="true" />
  </xs:element>
  <xs:element name="group">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="name" />
        <xs:element ref="location" />
        <xs:element ref="comment" minOccurs="0" />
        <xs:choice>
          <xs:element ref="group" />
          <xs:element ref="element" />
        </xs:choice>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="location">
    <xs:complexType mixed="true" />
  </xs:element>
  <xs:element name="member">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="esee" />
        <xs:element ref="eurl" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="module">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="name" />
        <xs:element ref="comment" minOccurs="0" />
        <xs:choice>
          <xs:element ref="group" />
          <xs:element ref="element" />
        </xs:choice>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="name">
    <xs:complexType mixed="true" />
  </xs:element>
  <xs:element name="newline" type="xs:string" />
  <xs:element name="param">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="esee" />
        <xs:element ref="eurl" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="project">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="file" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="module" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="purpose">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="esee" />
        <xs:element ref="eurl" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="remark">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="esee" />
        <xs:element ref="eurl" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="return">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="esee" />
        <xs:element ref="eurl" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="see">
    <xs:complexType mixed="true" />
  </xs:element>
  <xs:element name="since">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="esee" />
        <xs:element ref="eurl" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="status">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="esee" />
        <xs:element ref="eurl" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="url">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="esee" />
        <xs:element ref="eurl" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="verdict">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="esee" />
        <xs:element ref="eurl" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="version">
    <xs:complexType mixed="true">
      <xs:choice>
        <xs:element ref="esee" />
        <xs:element ref="eurl" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
</xs:schema>