<?xml version="1.0" encoding="windows-1251"?>
<!-- edited with XMLSpy v2017 rel. 3 sp1 (x64) (http://www.altova.com) by Altova XMLSpy 2017 Professional XML Editor - Release 3, Concurrent for 20 users (AO GNIVC) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:usch="http://www.unisoftware.ru/schematron-extensions" xmlns:sql="urn:schemas-microsoft-com:mapping-schema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="Файл">
		<xs:annotation>
			<!---**************************************************************************************************************************************************************************-->
			<xs:appinfo>
				<sch:pattern name="Проверка имени файла на соответствие значению атрибута @ИдФайл">
					<sch:rule context="Файл">
						<sch:assert test="usch:getFileName() = @ИдФайл">
							<usch:error code="0400400007" path="@ИдФайл" value-of-select="@ИдФайл" doc-id-path="usch:getFileName()" doc-id-caption="Файл">Имя файла обмена "<usch:value-of select="usch:getFileName()"/>" не совпадает со значением элемента ИдФайл "<usch:value-of select="@ИдФайл"/>"</usch:error>
						</sch:assert>
					</sch:rule>
				</sch:pattern>
			</xs:appinfo>
			<!---**************************************************************************************************************************************************************************-->
			<xs:documentation>Файл обмена</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Документ">
					<xs:annotation>
						<xs:documentation>Универсальное сообщение</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="СведУС">
								<xs:annotation>
									<xs:documentation>Общие сведения об универсальном сообщении</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:attribute name="ДатаФорм" type="ДатаТип" use="required">
										<xs:annotation>
											<xs:documentation>Дата формирования</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="ВремФорм" type="ВремяТип" use="required">
										<xs:annotation>
											<xs:documentation>Время формирования</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="ИмяПолФайл" use="required">
										<xs:annotation>
											<xs:documentation>Имя файла, на который формируется универсальное сообщение</xs:documentation>
										</xs:annotation>
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:minLength value="1"/>
												<xs:maxLength value="255"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
								</xs:complexType>
							</xs:element>
							<xs:element name="СвСобытДок" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>Сведения о событиях, имеющих отношение к выставлению, получению и/или проверке первичных и иных документов, включая счета-фактуры</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="ТекстУС" minOccurs="0">
											<xs:annotation>
												<xs:documentation>Текст универсального сообщения</xs:documentation>
											</xs:annotation>
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:minLength value="1"/>
													<xs:maxLength value="10000"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
									</xs:sequence>
									<xs:attribute name="СтатусУС" use="required">
										<xs:annotation>
											<xs:documentation>Статус универсального сообщения</xs:documentation>
										</xs:annotation>
										<xs:simpleType>
											<xs:restriction base="xs:integer">
												<xs:totalDigits value="4"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
								</xs:complexType>
							</xs:element>
							<xs:element name="ОтпрУС">
								<xs:annotation>
									<xs:documentation>Отправитель универсального сообщения</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="СвЛицОтпрУС" type="СвЛицУСТип" minOccurs="0">
											<xs:annotation>
												<xs:documentation>Сведения о лице, формирующем и отправляющем универсальное сообщение</xs:documentation>
											</xs:annotation>
										</xs:element>
									</xs:sequence>
									<xs:attribute name="ИдОтпрУС" use="required">
										<xs:annotation>
											<xs:documentation>Идентификатор участника электронного документооборота в рамках выставления и получения первичных и иных документов, включая счета-фактуры, отправляющего универсальное сообщение</xs:documentation>
										</xs:annotation>
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:minLength value="4"/>
												<xs:maxLength value="46"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
								</xs:complexType>
							</xs:element>
							<xs:element name="ПолучУС">
								<xs:annotation>
									<xs:documentation>Получатель универсального сообщения</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="СвЛицПолучУС" type="СвЛицУСТип" minOccurs="0">
											<xs:annotation>
												<xs:documentation>Сведения о лице, в адрес которого направляется универсальное сообщение</xs:documentation>
											</xs:annotation>
										</xs:element>
									</xs:sequence>
									<xs:attribute name="ИдПолучУС" use="required">
										<xs:annotation>
											<xs:documentation>Идентификатор участника электронного документооборота в рамках выставления и получения первичных и иных документов, включая счета-фактуры, которому направляется универсальное сообщение</xs:documentation>
										</xs:annotation>
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:minLength value="4"/>
												<xs:maxLength value="46"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:attribute>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="КНД" use="required">
							<xs:annotation>
								<xs:documentation>Код формы документа по классификатору налоговых документов (КНД)</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="КНДТип">
									<xs:enumeration value="1115144"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="ИдФайл" use="required">
				<xs:annotation>
					<xs:documentation>Идентификатор файла</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:minLength value="1"/>
						<xs:maxLength value="255"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="ВерсФорм" use="required">
				<xs:annotation>
					<xs:documentation>Версия формата</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:minLength value="1"/>
						<xs:maxLength value="5"/>
						<xs:enumeration value="5.01"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="ВерсПрог" use="required">
				<xs:annotation>
					<xs:documentation>Версия программы, с помощью которой сформирован файл</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="40"/>
						<xs:minLength value="1"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="СвЛицУСТип">
		<xs:annotation>
			<xs:documentation>Сведения о лице</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="ФИО" type="ФИОТип">
				<xs:annotation>
					<xs:documentation>Фамилия, имя, отчество (при наличии)</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Контакт" minOccurs="0">
				<xs:annotation>
					<!---************************************************************************************************************************************************************-->
					<xs:appinfo>
						<sch:pattern name="Присутствие элемента ИнКонт в зависимости от наличия элементов Тлф и ЭлПочта">
							<sch:rule context="Контакт">
								<sch:assert test="usch:iif(
									count(Тлф)=0 and count(ЭлПочта)=0  , 
									count(ИнКонт)!=0, 
									(count(ИнКонт)!=0 or count(ИнКонт)=0)
									)">
									<usch:error code="0400300003" path="ИнКонт" value-of-select="count(ИнКонт)">Не выполнено условие присутствия элемента ИнКонт при отсутствии элементов Тлф и ЭлПочта</usch:error>
								</sch:assert>
							</sch:rule>
						</sch:pattern>
					</xs:appinfo>
					<!---************************************************************************************************************************************************************-->
					<xs:documentation>Контактные данные</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Тлф" minOccurs="0" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Номер контактного телефона/факс</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:minLength value="1"/>
									<xs:maxLength value="20"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
						<xs:element name="ЭлПочта" minOccurs="0" maxOccurs="unbounded">
							<xs:annotation>
								<xs:documentation>Адрес электронной почты</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:minLength value="1"/>
									<xs:maxLength value="100"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
						<xs:element name="ИнКонт" minOccurs="0">
							<xs:annotation>
								<xs:documentation>Иные контактные данные</xs:documentation>
							</xs:annotation>
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:minLength value="1"/>
									<xs:maxLength value="255"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="Должн" use="optional">
			<xs:annotation>
				<xs:documentation>Должность</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:minLength value="1"/>
					<xs:maxLength value="255"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="ФИОТип">
		<xs:annotation>
			<xs:documentation>Фамилия, имя, отчество физического лица</xs:documentation>
		</xs:annotation>
		<xs:attribute name="Фамилия" use="required">
			<xs:annotation>
				<xs:documentation>Фамилия</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:minLength value="1"/>
					<xs:maxLength value="60"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="Имя" use="required">
			<xs:annotation>
				<xs:documentation>Имя</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:minLength value="1"/>
					<xs:maxLength value="60"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="Отчество" use="optional">
			<xs:annotation>
				<xs:documentation>Отчество</xs:documentation>
			</xs:annotation>
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:minLength value="1"/>
					<xs:maxLength value="60"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	<xs:simpleType name="КНДТип">
		<xs:annotation>
			<xs:documentation>Код из Классификатора налоговой документации</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:length value="7"/>
			<xs:pattern value="[0-9]{7}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ВремяТип">
		<xs:annotation>
			<xs:documentation>Время в формате ЧЧ.ММ.СС</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:length value="8"/>
			<xs:pattern value="([0-1]{1}[0-9]{1}|2[0-3]{1})\.([0-5]{1}[0-9]{1})\.([0-5]{1}[0-9]{1})"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ДатаТип">
		<xs:annotation>
			<xs:documentation>Дата в формате ДД.ММ.ГГГГ (01.01.1900 - 31.12.2099)</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:length value="10"/>
			<xs:pattern value="((((0[1-9]{1}|1[0-9]{1}|2[0-8]{1})\.(0[1-9]{1}|1[0-2]{1}))|((29|30)\.(01|0[3-9]{1}|1[0-2]{1}))|(31\.(01|03|05|07|08|10|12)))\.((19|20)[0-9]{2}))|(29\.02\.((19|20)(((0|2|4|6|8)(0|4|8))|((1|3|5|7|9)(2|6)))))"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>
