<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema elementFormDefault="qualified" version="1.0" targetNamespace="http://www.spbexchange.ru/insiders_document" xmlns:tns="http://www.spbexchange.ru/insiders_document" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="insiders" type="tns:insidersList"/>

  <xs:element name="insiders_document" type="tns:insidersDocument"/>

  <xs:element name="organization" type="tns:orgInsider"/>

  <xs:element name="organization_info" type="tns:organizationInfo"/>

  <xs:element name="person" type="tns:personInsider"/>

  <xs:complexType name="insidersDocument">
    <xs:sequence>
      <xs:element ref="tns:organization_info"/>
      <xs:element name="exchanges" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="exchange" type="xs:string" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element ref="tns:insiders"/>
    </xs:sequence>
    <xs:attribute name="created" type="xs:date" use="required"/>
  </xs:complexType>

  <xs:complexType name="organizationInfo">
    <xs:all>
      <xs:element name="full_name" type="xs:string"/>
      <xs:element name="short_name" type="xs:string"/>
	  <xs:element name="category" type="xs:string"/>
      <xs:element name="inn" type="xs:string"/>
      <xs:element name="ogrn" type="xs:string"/>
      <xs:element name="address" type="xs:string"/>
      <xs:element name="post_address" type="xs:string"/>
      <xs:element name="website_address" type="xs:string"/>
	  <xs:element name="contact_person" type="xs:string"/>
      <xs:element name="phone" type="xs:string"/>
      <xs:element name="fax" type="xs:string" minOccurs="0"/>
      <xs:element name="email" type="xs:string"/>
    </xs:all>
  </xs:complexType>

  <xs:complexType name="insidersList">
    <xs:all>
      <xs:element name="organizations" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="tns:organization" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="persons" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="tns:person" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:all>
  </xs:complexType>

  <xs:complexType name="orgInsider">
    <xs:all>
      <xs:element name="inc_date" type="xs:date"/>
      <xs:element name="inc_reason" type="xs:string"/>
      <xs:element name="inc_category" type="xs:string"/>
      <xs:element name="inc_financial_instrument" type="xs:string"/>
      <xs:element name="exc_date" type="xs:date" minOccurs="0"/>
      <xs:element name="exc_reason" type="xs:string" minOccurs="0"/>
      <xs:element name="exc_category" type="xs:string"/>
      <xs:element name="exc_financial_instrument" type="xs:string"/>
      <xs:element name="name" type="xs:string"/>
      <xs:element name="inn" type="xs:string"/>
      <xs:element name="ogrn" type="xs:string"/>
      <xs:element name="kio" type="xs:string"/>
      <xs:element name="okcm" type="xs:string"/>
      <xs:element name="registration_number" type="xs:string"/>
      <xs:element name="address" type="xs:string" minOccurs="0"/>
      <xs:element name="post_address" type="xs:string" minOccurs="0"/>
      <xs:element name="phone" type="xs:string" minOccurs="0"/>
      <xs:element name="email" type="xs:string" minOccurs="0"/>
    </xs:all>
  </xs:complexType>

  <xs:complexType name="personInsider">
    <xs:all>
      <xs:element name="inc_date" type="xs:date"/>
      <xs:element name="inc_reason" type="xs:string"/>
      <xs:element name="inc_category" type="xs:string"/>
      <xs:element name="inc_financial_instrument" type="xs:string"/>
      <xs:element name="inc_org_fullname" type="xs:string"/>
      <xs:element name="inc_job" type="xs:string"/>
      <xs:element name="exc_date" type="xs:date" minOccurs="0"/>
      <xs:element name="exc_reason" type="xs:string" minOccurs="0" />
      <xs:element name="exc_category" type="xs:string" />
      <xs:element name="exc_financial_instrument" type="xs:string" />
      <xs:element name="exc_org_fullname" type="xs:string" />
      <xs:element name="exc_job" type="xs:string" />
      <xs:element name="last_name" type="xs:string" minOccurs="0" />
      <xs:element name="first_name" type="xs:string" minOccurs="0" />
      <xs:element name="middle_name" type="xs:string" minOccurs="0" />
      <xs:element name="birth_date" type="xs:date" minOccurs="0" />
      <xs:element name="birth_place" type="xs:string"  minOccurs="0"/>
      <xs:element name="doc_type" type="tns:DocumentType" />
      <xs:element name="doc_sn" type="xs:string" />
      <xs:element name="doc_organ" type="xs:string" minOccurs="0"/>
      <xs:element name="address" type="xs:string" minOccurs="0"/>
      <xs:element name="post_address" type="xs:string" minOccurs="0"/>
      <xs:element name="phone" type="xs:string" minOccurs="0"/>
      <xs:element name="email" type="xs:string" minOccurs="0"/>
      <xs:element name="snils" type="xs:string" minOccurs="0"/>
	</xs:all>
  </xs:complexType>
  <xs:simpleType name="DocumentType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="PSRF"/>
      <xs:enumeration value="BIRTH-SERT"/>
      <xs:enumeration value="FOREIGN-PS"/>
      <xs:enumeration value="STATELESS"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
