<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:complexType name="EventItemType">
    <xs:attribute name="name" type="xs:string" use="required" >
      <xs:annotation>
        <xs:documentation xml:lang="ru-ru">
          Правило которым обрабатывается событие.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="event" use="required" >
      <xs:annotation>
        <xs:documentation xml:lang="ru-ru">
          Тип события (перечень строго ограничен).
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:simpleType name="GridSheet_AlignType">
    <xs:annotation>
      <xs:documentation xml:lang="ru-ru">
        Тип горизонтального выравнивания текста.
        Разные типы данных имеют разное выравнивание по умолчанию.
      </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="left">
        <xs:annotation>
          <xs:documentation xml:lang="ru-ru">
            Выравнивание по левому краю.
          </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="center">
        <xs:annotation>
          <xs:documentation xml:lang="ru-ru">
            Выравнивание по центру.
          </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="right">
        <xs:annotation>
          <xs:documentation xml:lang="ru-ru">
            Выравнивание по правому краю.
          </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="GridSheet_VAlignType">
    <xs:annotation>
      <xs:documentation xml:lang="ru-ru">
        Тип вертикального выравнивания. По умолчанию - center.
      </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="top">
        <xs:annotation>
          <xs:documentation xml:lang="ru-ru">
            Выравнивание по верхней границе.
          </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="center">
        <xs:annotation>
          <xs:documentation xml:lang="ru-ru">
            Выравнивание по центру.
          </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="bottom">
        <xs:annotation>
          <xs:documentation xml:lang="ru-ru">
            Выравнивание по нижней границе.
          </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="GridSheet_FixedKindType">
    <xs:annotation>
      <xs:documentation xml:lang="ru-ru">
        Тип фиксирования граф. По умолчанию none (отсутствует).
      </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="none">
        <xs:annotation>
          <xs:documentation xml:lang="ru-ru">
            Фиксирование отсутствует (по умолчанию).
          </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="left">
        <xs:annotation>
          <xs:documentation xml:lang="ru-ru">
            Графы зафиксированы по левому краю.
          </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="right">
        <xs:annotation>
          <xs:documentation xml:lang="ru-ru">
            Графы зафиксированы по правому краю.
          </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>  

  <xs:simpleType name="GridSheet_SortOrderType">
    <xs:annotation>
      <xs:documentation xml:lang="ru-ru">
        Типы сортировки. По умолчанию - 0 (нет сортировки).
      </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:nonNegativeInteger">
      <xs:enumeration value="0">
        <xs:annotation>
          <xs:documentation xml:lang="ru-ru">
            Нет сортировки.
          </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1">
        <xs:annotation>
          <xs:documentation xml:lang="ru-ru">
            Сортировка по возрастанию.
          </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="2">
        <xs:annotation>
          <xs:documentation xml:lang="ru-ru">
            Сортировка по убыванию.
          </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="aggrDirectionType">
    <xs:annotation>
      <xs:documentation xml:lang="ru-ru">
        Направление расчета параметров агрегации. 
        По умолчанию - up.
      </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="up">
        <xs:annotation>
          <xs:documentation xml:lang="ru-ru">
            Расчет дочерних и родительских элементов начиная с самой нижней строки (родители выше детей).
          </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="down">
        <xs:annotation>
          <xs:documentation xml:lang="ru-ru">
            Расчет дочерних и родительских элементов начиная с самой верхней строки (родители ниже детей).
          </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>  
  
  <xs:simpleType name="Color">
    <xs:restriction base="xs:string">
      <xs:length fixed="true" value="6"/>
      <xs:pattern value="" />
    </xs:restriction>
  </xs:simpleType>

</xs:schema>