<?xml version="1.0" encoding="windows-1251"?>
<!-- edited with XMLSpy v2013 (http://www.altova.com) by  () -->
<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:sequence>
										<xs:element name="НПФЛ">
											<xs:annotation>
												<xs:documentation>Налогоплательщик - индивидуальный предприниматель</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:element name="ФИО" type="ФИОТип">
														<xs:annotation>
															<xs:documentation>Фамилия, имя, отчество (при наличии) физического лица</xs:documentation>
														</xs:annotation>
													</xs:element>
												</xs:sequence>
												<xs:attribute name="ИННФЛ" type="ИННФЛТип" use="required">
													<xs:annotation>
														<xs:documentation>ИНН физического лица</xs:documentation>
													</xs:annotation>
												</xs:attribute>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="Подписант">
								<xs:annotation>
									<!--********************************************************************************************************************************************************-->
									<xs:appinfo>
										<sch:pattern name="Присутствие ФИО в  зависимости  от  значения  ПрПодп">
											<sch:rule context="Подписант">
												<!-- Контроль  обязательности  присутствия  ФИО  представителя  в  зависимости  от  значения  ПрПодп -->
												<sch:assert test="usch:iif(   @ПрПодп=2, count(ФИО)!=0, (count(ФИО)!=0 or count(ФИО)=0))">
													<usch:error code="0400300003" path="ФИО" value-of-select="@ПрПодп"> Не выполнено условие присутствия (отсутствия) элемента Файл/Документ/Подписант/ФИО при значении элемента ПрПодп, равном "<usch:value-of select="@ПрПодп"/>". </usch:error>
												</sch:assert>
											</sch:rule>
										</sch:pattern>
									</xs:appinfo>
									<!--********************************************************************************************************************************************************-->
									<!--********************************************************************************************************************************************************-->
									<xs:appinfo>
										<sch:pattern name="Присутствие сведений о представителе">
											<sch:rule context="Подписант">
												<!-- Контроль обязательности присутствия Сведений о представителе налогоплательщика в зависимости от значения ПрПодп -->
												<sch:assert test="usch:iif(@ПрПодп=2, count(СвПред)!=0, (count(СвПред)!=0 or count(СвПред)=0))">
													<usch:error code="0400300003" path="@ПрПодп" value-of-select="@ПрПодп">Не выполнено условие присутствия (отсутствия) элемента Файл/Документ/Подписант/СвПред при значении элемента ПрПодп, равном "<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="ФИО" type="ФИОТип" minOccurs="0">
											<xs:annotation>
												<xs:documentation>Фамилия, имя, отчество (при наличии)</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="СвПред" minOccurs="0">
											<xs:annotation>
												<xs:documentation>Сведения о представителе  индивидуального предпринимателя</xs:documentation>
												<xs:documentation><![CDATA[Элемент обязателен при <ПрПодп>=2]]></xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<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="120"/>
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
									<xs:attribute name="ПрПодп" use="required">
										<xs:annotation>
											<xs:documentation>Признак лица, подписавшего документ</xs:documentation>
											<xs:documentation>Принимает значение:
1 – индивидуальный предприниматель   |
2 – представитель индивидуального предпринимателя</xs:documentation>
										</xs:annotation>
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:length value="1"/>
												<xs:enumeration value="1"/>
												<xs:enumeration value="2"/>
											</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="20"/>
											</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="СвДействПт" minOccurs="0">
											<xs:annotation>
												<xs:documentation>Сведения об имеющихся патентах на право применения патентной системы налогообложения с неистекшим сроком действия</xs:documentation>
											</xs:annotation>
											<xs:complexType>
												<xs:sequence>
													<xs:element name="ДействПт" maxOccurs="unbounded">
														<xs:annotation>
															<xs:documentation>Сведения о патенте на право применения патентной системы налогообложения с неистекшим сроком действия</xs:documentation>
														</xs:annotation>
														<xs:complexType>
															<xs:attribute name="НомерПт" use="required">
																<xs:annotation>
																	<xs:documentation>Номер патента</xs:documentation>
																</xs:annotation>
																<xs:simpleType>
																	<xs:restriction base="xs:string">
																		<xs:length value="13"/>
																		<xs:pattern value="[0-9]{13}"/>
																	</xs:restriction>
																</xs:simpleType>
															</xs:attribute>
															<xs:attribute name="ДатаНачПт" type="ДатаТип" use="required">
																<xs:annotation>
																	<xs:documentation>Дата начала действия патента</xs:documentation>
																	<xs:documentation>
Дата в формате ДД.ММ.ГГГГ</xs:documentation>
																</xs:annotation>
															</xs:attribute>
															<xs:attribute name="ДатаКонПт" type="ДатаТип" use="optional">
																<xs:annotation>
																	<xs:documentation>Дата окончания действия патента</xs:documentation>
																	<xs:documentation>
Дата в формате ДД.ММ.ГГГГ</xs:documentation>
																</xs:annotation>
															</xs:attribute>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
									<xs:attribute name="ДатаУтрПСН" type="ДатаТип" use="required">
										<xs:annotation>
											<xs:documentation>Дата наступления обстоятельства, являющегося основанием для утраты права на применение патентной системы налогообложения</xs:documentation>
											<xs:documentation>
Дата в формате ДД.ММ.ГГГГ</xs:documentation>
										</xs:annotation>
									</xs:attribute>
									<xs:attribute name="КодППункт" use="required">
										<xs:annotation>
											<xs:documentation>Код подпункта пункта 6 статьи 346.45 Налогового кодекса Российской Федерации, являющегося основанием утраты права на применение патентной системы налогообложения</xs:documentation>
										</xs:annotation>
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:length value="1"/>
												<xs:enumeration value="1"/>
												<xs:enumeration value="2"/>
												<xs:enumeration value="3"/>
											</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="1150025"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
						<xs:attribute name="ДатаДок" type="ДатаТип" use="required">
							<xs:annotation>
								<xs:documentation>Дата формирования документа</xs:documentation>
								<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:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="ИдФайл" use="required">
				<xs:annotation>
					<xs:documentation>Идентификатор файла</xs:documentation>
					<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:maxLength value="40"/>
						<xs:minLength value="1"/>
					</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.05"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<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:complexType name="JavaScript">
		<xs:annotation>
			<xs:appinfo>
				<!--**********************************************************************************************************************************************-->
				<!--                                                       Функция получения текущей даты                                                     -->
				<usch:jscript><![CDATA[ 
									function getDateCurrent()
					{

						var DateCurrent = new Date();                                                           	 // получить объект - текущую дату
						var dd = DateCurrent.getDate();
						var dd1 = 0
						if (dd <= "9")
						{dd = "0" + dd;}
						var mm = DateCurrent.getMonth() + 1;
						if (mm <= "9")
						{mm = "0" + mm;}
						var yyyy = DateCurrent.getFullYear()
						var dmy = dd +"." + mm + "."  +yyyy;
						{return dmy ;}																						
					}
					]]></usch:jscript>
				<!--**********************************************************************************************************************************************-->
				<!--**********************************************************************************************************************************************-->
				<!--                                                       Функция сравнения даты с текущей датой                                                       -->
				<usch:jscript><![CDATA[ 
									function checkDateCurrent(context)
					{
						var value = getNextValue(context)
						var Param = value.split(".")                                                             // получить дату и разделить ее на подстроки дд мм ггггг  
						var DateParam = new Date (Param [2], Param [1] - 1, Param [0])        	 //Создать объект даты в формате гггг мм дд
						var DateCurrent = new Date()                                                           	 // получить текущую дату
							if ( Date.parse(DateCurrent) >= Date.parse(DateParam)) 						// Дата документа меньше текущей даты?
						{return true;}																						//Да
							else
						{return false;}																						//Нет
					}
					]]></usch:jscript>
				<usch:jscript>
					<!--**********************************************************************************************************************************************-->
					<!--                          Функция проверки контрольного числа СНИЛС                                                   --><![CDATA[ 
										function checkSNILS(context)
					{
							var value = getNextValue(context)											      //Получить СНИЛС
							var part = value.substr(0,3) + value.substr(4,3) + value.substr(8,3)    //Получить 9 цифр СНИЛС, убрав знаки тире	
							var ContrNum = value.substr(12,2)											      //Выделить КЧ из СНИЛС
						if (part <= 001001998)
							{return true;}
							var summa = 0, leng =9;	
					    for (var count = 0; count < 9; count++) 
							{summa += part.substr(count,1) * leng--;}
							summa = (summa % 101) % 100;						//Если summa = (100 или 101) то КЧ = 00
						if (ContrNum == summa)																//КЧ совпадают   
							{return true;}
						else
							{return false;}
					}
					]]></usch:jscript>
				<!--****************************************************************************************************************************************-->
				<!--********* Функция проверки по шаблону серии и номера документа, удостоверяющего личность **********-->
				<usch:jscript><![CDATA[ 
// -------------------------- Функция проверки по шаблону серии и номера документа, удостоверяющего личность-----------------------
function checkDocument(value, template) {
	if (!value || !template) {
		return ('');
	}
	template = getNextValue(template);
	value = getNextValue(value);

	value = repairString(value).toUpperCase();
	var feedback = new Array(value, template, value);
	
	if (template.indexOf('R') ==0 && value.indexOf('-') >0) {
		feedback = USSR(feedback);	// Паспорт СССР, Св-во о рождении (первая буква в шаблоне "R")
	}
	
	if (feedback) {
		value	 = feedback[2];
		template = feedback[1];
		feedback = feedback[0];
		
		var textlen = feedback.length;
		var tempLen = template.length;
		
		var error = true;
		if (template.indexOf('S') >-1 && textlen <= tempLen) {
			error = false;
		} else if (textlen >= CHRTRAN(template,'0').length && textlen <= tempLen) {
			error = false;
			var symbol;
			var regNumb = new RegExp(/\d/);
			var regChar = new RegExp(/[А-ЯЁ]/);
			
			for (var n=0; n < tempLen; n++) {
				symbol = feedback.slice(n,n+1);
				switch (template.slice(n,n+1)) {
					case ('-'): if (symbol !='-') {error = true;}			break;
					case (' '): if (symbol !=' ') {error = true;}			break;
					case ('Б'): if (!regChar.test(symbol)) {error = true;}	break;
					case ('0'): if (!regNumb.test(symbol)) {error = true;}	break;
					case ('9'): if (!regNumb.test(symbol)) {error = true;}
				}
				if (error || textlen == n+1) {break;}
			}
		}
		/*if (error) {
			//alert('Введенные Вами серия и номер документа не соответствуют формату!');
			alert('Неверная структура введённого значения. Не соответствует шаблону ['+ template +'].');
		}*/
	}
	
	return (!error);
}
					]]></usch:jscript>
				<!--**********************************************************************************************************************************************-->
// Приведение строки в божеский вид. --------------------------------------------------------
				<usch:jscript><![CDATA[ 
function repairString(expression, len) {
	//return expression.replace(/^\s+|\s+$/g,'').replace(/\n|\r|\s\s+/g,' ');
	expression = removeDS(rTrim(lTrim(removeCR(expression.toString()))));
	len = parseInt(len);
	if (!isNaN(len)) {
		expression = expression.slice(0,len)
	}
	return (expression);
}
					]]></usch:jscript>
				<!--**********************************************************************************************************************************************-->
// Замена символов перевода строки и возврата каретки, символом пробела. --------------------
				<usch:jscript><![CDATA[ 
function removeCR(expression) {
	return expression.replace(/\n|\r/g,' ');		// carriage return and line feed
}
					]]></usch:jscript>
				<!--**********************************************************************************************************************************************-->
// Удаление повторяющихся пробелов. ---------------------------------------------------------
				<usch:jscript><![CDATA[ 
function removeDS(expression) {
	return expression.replace(/\s\s+/g,' ');		// double space
}
					]]></usch:jscript>
				<!--**********************************************************************************************************************************************-->
// Удаление начальных пробелов. -------------------------------------------------------------
				<usch:jscript><![CDATA[ 
function lTrim(expression) {
	return expression.replace(/^\s+/,'');
}
					]]></usch:jscript>
				<!--**********************************************************************************************************************************************-->
// Удаление конечных пробелов. --------------------------------------------------------------
				<usch:jscript><![CDATA[ 
function rTrim(expression) {
	return expression.replace(/\s+$/,'');
}
					]]></usch:jscript>
				<!--**********************************************************************************************************************************************-->
// Замена символов
				<usch:jscript><![CDATA[ 
function CHRTRAN(cSearched, cExpressionSought, cReplacement) {
	if (cSearched) {
		try {
			if (cExpressionSought) {
				var value = cSearched.toString();
				var expr = cExpressionSought.toString();
				var repl ='';
				if (cReplacement) {repl = cReplacement.toString();}
				
				var result ='',   part ='',   amount =0;
				var exPart = expr.split('');
				
				for (var j=0; j < exPart.length; j++) {
					result ='';
					part = value.split(exPart[j]);
					amount = part.length -1;
					for (var i=0; i < amount; i++) {
						result += part[i] + repl.slice(j,j+1);
					}
					result += part[amount];
					value = result;
				}
				return (value);
			}
		} catch (e) {alert(e.message); throw e;}
		
		return (cSearched);
	}
}
					]]></usch:jscript>
				<!--**********************************************************************************************************************************************-->
// Паспорт гражданина СССР, Свидетельство о рождении (первая буква в шаблоне "R")
				<usch:jscript><![CDATA[ 
function USSR(arValue) {
	var feedback = null;
			
	var part = arValue[0].split('-');
	var numb = parseInt(part[0]);
	if (numb) {
		numb = ArabicToRoman(numb);
	} else {
		part[0] = CHRTRAN(part[0],'СМХ','CMX');
		if (part[0] == ArabicToRoman(RomanToArabic(part[0]))) {
			numb = part[0];
		} else {
			var warning ='Введенное Вами римское число неверно!\nМожно ввести серию равным по величине';
			warning +=' арабским числом или использовать латинские буквы I,V,X,L,M,C и русские Х,М,С';
			alert('Введенное Вами римское число неверно!');
		}
	}
	
	if (numb) {
		feedback = new Array(3);
		feedback[0] = STRTRAN(arValue[0], part[0] +'-', '', 1, 1);	// остаток значения
		feedback[1] = STRTRAN(arValue[1], 'R-', '', 1, 1);			// остаток шаблона
		feedback[2] = STRTRAN(arValue[0], part[0], numb, 1, 1);		// полное значение
	}
	
	return (feedback);
}
					]]></usch:jscript>
				<!--**********************************************************************************************************************************************-->
// перевод Римских цифр в Арабские
					
				<usch:jscript><![CDATA[ 
function RomanToArabic(value) {
	var feedback =0;
	var curValue =0;
	var next;
	for (var n=0; n < value.length ; n++) {
		next = value.slice(n+1,n+2);
		switch (value.slice(n,n+1)) {
			case ('I'): feedback += (next && 'VX'.indexOf(next) >=0 ?-1 :1);		break;
			case ('V'): feedback += 5;												break;
			case ('X'): feedback += (next && 'LC'.indexOf(next) >=0 ?-10 :10);		break;
			case ('L'): feedback += 50;												break;
			case ('C'): feedback += (next && 'DM'.indexOf(next) >=0 ?-100 :100);	break;
			case ('D'): feedback += 500;											break;
			case ('M'): feedback += 1000;
		}
	}
	
	return (feedback);
}
					]]></usch:jscript>
				<!--**********************************************************************************************************************************************-->
// перевод Арабских цифр в Римские
				<usch:jscript><![CDATA[ 
function ArabicToRoman(value) {
	var feedback ='';
	var curValue ='';
	var part = PADL(value,4).split('');
	var arTemp = new Array();
	arTemp[0]=['M','MM','MMM'];
	arTemp[1]=['C','CC','CCC','CD','D','DC','DCC','DCCC','CM'];
	arTemp[2]=['X','XX','XXX','XL','L','LX','LXX','LXXX','XC'];
	arTemp[3]=['I','II','III','IV','V','VI','VII','VIII','IX'];
	
	for (var n=0; n < arTemp.length; n++) {
		if (arTemp[n].length >= part[n]) {
			curValue = arTemp[n][part[n]-1];
			if (curValue) {feedback += curValue;}
		}
	}
	
	return (feedback);
}
					]]></usch:jscript>
				<!--**********************************************************************************************************************************************-->
				<usch:jscript><![CDATA[ 
function STRTRAN(cSearched, cExpressionSought, cReplacement, nStartOccurrence, nNumberOfOccurrences) {
	try {
		if (cSearched && cExpressionSought) {
			var value = cSearched.toString();
			var expr = cExpressionSought.toString();
			var repl ='';
			if (cReplacement) {repl = cReplacement.toString();}
			
			var start = conversionToPositiveNumber(nStartOccurrence);
			var count = conversionToPositiveNumber(nNumberOfOccurrences);
			
			var result ='';
			var _tally =0;
			var part = value.split(expr);
			
			var amount = part.length -1;
			for (var i=0; i < amount; i++) {
				if (start) {
					if (i >= start -1) {
						_tally++;
						if (count && _tally > count) {result += part[i] + expr;}	// без изменений
						else						 {result += part[i] + repl;}	// замена
					} else							 {result += part[i] + expr;}	// без изменений
				} else								 {result += part[i] + repl;}	// замена
			}
			
			return (result += part[amount]);										// ВЫХОД с заменой ->
		}
	} catch (e) {alert('Процедура "STRTRAN" вызвала ошибку.\n'+ e.message); throw e;}
	
	return (cSearched);																// ВЫХОД без изменений->
}
					]]></usch:jscript>
				<!--**********************************************************************************************************************************************-->
				<usch:jscript><![CDATA[ 
function conversionToPositiveNumber(value) {
	var feedback =0;
	if (value) {
		value = parseInt(value);
		if (value) {feedback = (value < 0) ?0 - value :value;}
	}
	return (feedback);
}
					]]></usch:jscript>
				<!--**********************************************************************************************************************************************-->
// Добавление ведущих символов. -------------------------------------------------------------
				<usch:jscript><![CDATA[ 
function PADL(value, len, symbol) {
	var feedback ='';
	value = value.toString();
	var lenVal = value.length;
	var size = len ?'len' :'lenVal';
	symbol = symbol ?symbol.slice(0,1) :' ';
	len = len ?Number(len) :0;	len = isNaN(len) ?0 :len;
	if (lenVal < len) {
		for (var i=0; i < len - lenVal; i++) {feedback += symbol;}
		feedback += value
	} else {feedback = value.slice(0,eval(size));}
	return (feedback);
}
					]]></usch:jscript>
				<!--**********************************************************************************************************************************************-->
			</xs:appinfo>
			<xs:documentation>Функции JavaScript</xs:documentation>
		</xs:annotation>
	</xs:complexType>
	<xs:simpleType name="ИННФЛТип">
		<xs:annotation>
			<xs:documentation>Идентификационный номер налогоплательщика - физического лица</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:length value="12"/>
			<xs:pattern value="([0-9]{1}[1-9]{1}|[1-9]{1}[0-9]{1})[0-9]{10}"/>
		</xs:restriction>
	</xs:simpleType>
	<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="4"/>
			<xs:pattern value="[0-9]{4}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ДатаТип">
		<xs:annotation>
			<xs:documentation>Дата в формате ДД.ММ.ГГГГ (01.01.2000 - 31.12.2099)</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:length value="10"/>
			<xs:pattern value="(((0[1-9]{1}|[1-2]{1}[0-9]{1})\.(0[1-9]{1}|1[0-2]{1}))|((30)\.(01|0[3-9]{1}|1[0-2]{1}))|((31)\.(01|03|05|07|08|10|12)))\.(20[0-9]{2})"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>
