﻿<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	targetNamespace=" http://ezoport.com/ru/prog/calif.html"
	xmlns="http://ezoport.com/ru/prog/calif.html"
	elementFormDefault="qualified">
	<xsd:annotation>
		<xsd:documentation>
			CALIF - Common AstroLogical Interchange Format
			Общий Астрологический Обменный Формат
			Дата последнего изменения 20140812
		</xsd:documentation>
	</xsd:annotation>

<xsd:element name="recset">
	<xsd:annotation>
		<xsd:documentation>
			Контейнер всех записей обменного файла
			Это корневой элемент обменного файла
		</xsd:documentation>
	</xsd:annotation>
	<xsd:complexType>
		<xsd:sequence>
			<xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="strict"/>
			<xsd:element name="rec" type="trec" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
</xsd:element>

<xsd:element name="trec">
	<xsd:annotation>
		<xsd:documentation>
			Контейнер записи с данными по карте 
			Это корневой элемент записи по карте
		</xsd:documentation>
	</xsd:annotation>
	<xsd:sequence>
		<xsd:element name="rkey" type="trkey"/>
		<xsd:element name="pkey" type="tpkey"/>
		<xsd:element name="rtag" type="trtag"/>
		<xsd:element name="name" type="tname"/>
		<xsd:element name="dt" type="tdt"/>
		<xsd:element name="delta" type="tdelta"/>
		<xsd:element name="lat" type="tlat"/>
		<xsd:element name="lon" type="tlon"/>
		<xsd:element name="place" type="tplace"/>
		<xsd:element name="remc" type="tremc" minOccurs="0"/>
		<xsd:element name="ctag" type="tctag" minOccurs="0"/>
		<xsd:element name="themes" type="tthemes" minOccurs="0"/>
		<xsd:element name="sex" type="tsex" minOccurs="0"/>
		<xsd:element name="prectag" type="prectag" minOccurs="0"/>
		<xsd:element name="rpic" type="trpic" minOccurs="0"/>
		<xsd:element name="nkeys" type="tnkeys"/>
		<xsd:element name="addvals" type="taddvals"/>
		<xsd:element name="fval" type="tfval"/>
		<xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="strict"/>
	</xsd:sequence>
</xsd:element>

<xsd:element name="tnkeys">
	<xsd:annotation>
		<xsd:documentation>
			Контейнер записи со ссылками на базовую натальную карту
			Это корневой элемент записи по ссылке на натальную карту
		</xsd:documentation>
	</xsd:annotation>
	<xsd:sequence>
		<xsd:element name="nkey" type="tnkey"/>
		<xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="strict"/>
	</xsd:sequence>
</xsd:element>

<xsd:simpleType name="trkey">
	<xsd:annotation>
		<xsd:documentation>
			Уникальный ключ записи.Записью может быть как карта, так и папка. Ключ должен однозначно идентифицировать каждую запись. В качестве ключа рекомендуется использовать GUID.
		</xsd:documentation>
	</xsd:annotation>
	<xsd:restriction base="xsd:ID">
 		<xsd:minLength value="1"/>
	 	<xsd:maxLength value="32"/>
	</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="tpket">
	<xsd:annotation>
		<xsd:documentation>
			Уникальный ключ записи родителя. Родителем может быть только папка. Ключ должен однозначно идентифицировать каждую запись. В качестве ключа рекомендуется использовать GUID.
		</xsd:documentation>
	</xsd:annotation>
	<xsd:restriction base="xsd:ID">
 		<xsd:minLength value="1"/>
		<xsd:maxLength value="32"/>
	</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="trtag">
	<xsd:annotation>
		<xsd:documentation>
			Признак типа записи. Признак папки (F) или карты (D)
		</xsd:documentation>
	</xsd:annotation>
	<xsd:restriction base="xsd:char">
		<xsd:enumeration value="F"/>
		<xsd:enumeration value="D"/>
	</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="tname">
	<xsd:annotation>
		<xsd:documentation>
			Наименование карты (ФИО, событие, вопрос и т.д.)
		</xsd:documentation>
	</xsd:annotation>
	<xsd:restriction base="xsd:string">
	</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="tdt">
	<xsd:annotation>
		<xsd:documentation>
			Дата-время карты в формате YYYYMMDDHHMISS (год-месяц-день-часы-мин-секунды)
		</xsd:documentation>
	</xsd:annotation>
	<xsd:restriction base="xsd:string">
		<xsd:minLength value="14"/>
	 	<xsd:maxLength value="14"/>
	</xsd:restriction>
 </xsd:simpleType>

<xsd:simpleType name="tdelta">
	<xsd:annotation>
		<xsd:documentation>
			Поправка к UTC в формате NHHMISS (знак-часы-мин-секунды). С учётом признака направления поправки UTC в атрибутах набора записей.
		</xsd:documentation>
	</xsd:annotation>
	<xsd:restriction base="xsd:string">
		<xsd:minLength value="7"/>
	 	<xsd:maxLength value="7"/>
	</xsd:restriction>
 </xsd:simpleType>

<xsd:simpleType name="tlat">
	<xsd:annotation>
		<xsd:documentation>
			Широта места в формате DDMISSN (градусы-мин-секунды-полусфера)
		</xsd:documentation>
	</xsd:annotation>
	<xsd:restriction base="xsd:string">
		<xsd:minLength value="7"/>
	 	<xsd:maxLength value="7"/>
	</xsd:restriction>
 </xsd:simpleType>

<xsd:simpleType name="tlon">
	<xsd:annotation>
		<xsd:documentation>
			Долгота места в формате DDDMISSN (градусы-мин-секунды-полусфера)
		</xsd:documentation>
	</xsd:annotation>
	<xsd:restriction base="xsd:string">
		<xsd:minLength value="8"/>
	 	<xsd:maxLength value="8"/>
	</xsd:restriction>
 </xsd:simpleType>

<xsd:simpleType name="tplace">
	<xsd:annotation>
		<xsd:documentation>
			Текстовое описание места
		</xsd:documentation>
	</xsd:annotation>
	<xsd:restriction base="xsd:string">
	</xsd:restriction>
 </xsd:simpleType>

<xsd:simpleType name="tremc">
	<xsd:annotation>
		<xsd:documentation>
			Примечание по карте
		</xsd:documentation>
	</xsd:annotation>
	<xsd:restriction base="xsd:string">
	</xsd:restriction>
 </xsd:simpleType>

<xsd:simpleType name="tctag">
	<xsd:annotation>
		<xsd:documentation>
			Признак карты. 0 - признак не определён, N - натальная карта, E - событие, H - хорарная карта
		</xsd:documentation>
	</xsd:annotation>
	<xsd:restriction base="xsd:char">
		<xsd:enumeration value="0"/>
	 	<xsd:enumeration value="N"/>
	 	<xsd:enumeration value="E"/>
	 	<xsd:enumeration value="H"/>
	</xsd:restriction>
 </xsd:simpleType>

<xsd:simpleType name="tthems">
	<xsd:annotation>
		<xsd:documentation>
			Тема(ы) карты для события и темы кверента-квезита для хорара в формате NNMM (NN-для события или кверента, MM - для квезита)
		</xsd:documentation>
	</xsd:annotation>
	<xsd:restriction base="xsd:string">
		<xsd:minLength value="4"/>
	 	<xsd:maxLength value="4"/>
	</xsd:restriction>
 </xsd:simpleType>

<xsd:simpleType name="tsex">
	<xsd:annotation>
		<xsd:documentation>
			Признак пола в формате S (0 - (ноль) пол не определён, M - мужской, F - женский)
		</xsd:documentation>
	</xsd:annotation>
	<xsd:restriction base="xsd:char">
		<xsd:enumeration value="N"/>
	 	<xsd:enumeration value="M"/>
	 	<xsd:enumeration value="F"/>
	</xsd:restriction>
 </xsd:simpleType>

<xsd:simpleType name="tprectag">
	<xsd:annotation>
		<xsd:documentation>
			Признак точности карты в формате S (Для натальных карт: 0 - (ноль) точность не определена, K - космограмма, N - карта не ректифицирована, R - карта ректифицирована.
			Для событий: 0 - (ноль) не определена, P - событие точно, M - минуты, H - часы, D - дни, W - недели, Y - месяцы)
		</xsd:documentation>
	</xsd:annotation>
	<xsd:restriction base="xsd:char">
		<xsd:enumeration value="0"/>
		<xsd:enumeration value="K"/>
		<xsd:enumeration value="N"/>
		<xsd:enumeration value="R"/>
		<xsd:enumeration value="P"/>
		<xsd:enumeration value="M"/>
		<xsd:enumeration value="H"/>
	 	<xsd:enumeration value="D"/>
	 	<xsd:enumeration value="W"/>
	 	<xsd:enumeration value="Y"/>
	</xsd:restriction>
 </xsd:simpleType>

<xsd:simpleType name="trpic">
	<xsd:annotation>
		<xsd:documentation>
			Ссылка на файл фотографии (имя файла и расширение). Пример: vvisockiy.png - файл находится в папке с XML-файлом, img\vvisockiy.png - файл находится в папке IMG, которая находится в папке с XML-файлом
		</xsd:documentation>
	</xsd:annotation>
	<xsd:restriction base="xsd:string">
	</xsd:restriction>
 </xsd:simpleType>

<xsd:simpleType name="tnkey">
 	<xsd:annotation>
		<xsd:documentation>
			Уникальный ключ записи натальной карты для события. Предназначен для указания на натальную карту, породившую данное событие. Используется для автоматизированного анализа событий и карт. В качестве ключа рекомендуется использовать GUID
		</xsd:documentation>
	</xsd:annotation>
	<xsd:restriction base="xsd:ID">
 		<xsd:minLength value="1"/>
	 	<xsd:maxLength value="32"/>
	</xsd:restriction>
 </xsd:simpleType>

<xsd:simpleType name="taddvals">
	<xsd:annotation>
		<xsd:documentation>
			Дополнительные условия, используемые для расширения возможностей автоматизированного выполнения операций. Например, здесь задаются дополнительные темы домов (тег "addtheme"), дополнительные объекты карты (тег "useobj") и исключаемые объекты (тег "ignoreobj"), которые используются для определения тематических объектов, используемых при ректификации и прогностике.
		</xsd:documentation>
	</xsd:annotation>
	<xsd:restriction base="xsd:string">
	</xsd:restriction>
 </xsd:simpleType>

<xsd:simpleType name="tfval">
	<xsd:annotation>
		<xsd:documentation>
			Величина для анализа. Используется в случае автоматизированного анализа событий и карт. Например, величина курса валюты для населённого пункта (биржи) в указанную дату.
		</xsd:documentation>
	</xsd:annotation>
	<xsd:restriction base="xsd:float">
	</xsd:restriction>
 </xsd:simpleType>

</xsd:schema>
