<xs:schema xmlns="http://пф.рф/СУПП/2017-09-04" xmlns:УТ2="http://пф.рф/УТ/2017-08-21" xmlns:АФ4="http://пф.рф/АФ/2017-08-21" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0" targetNamespace="http://пф.рф/СУПП/2017-09-04" elementFormDefault="qualified" attributeFormDefault="unqualified">

	<xs:import namespace="http://пф.рф/УТ/2017-08-21" schemaLocation="ais/%D0%A1%D1%85%D0%B5%D0%BC%D1%8B/%D0%A3%D0%BD%D0%B8%D1%84%D0%A2%D0%B8%D0%BF%D1%8B_2017-08-21.xsd"/>
	<xs:import namespace="http://пф.рф/АФ/2017-08-21" schemaLocation="ais/%D0%A1%D1%85%D0%B5%D0%BC%D1%8B/%D0%A2%D0%B8%D0%BF%D1%8B%D0%90%D0%A4_2017-08-21.xsd"/>

	<xs:annotation>
		<xs:documentation>Схема Описания сценария создания УПП</xs:documentation>
	</xs:annotation>
	<xs:element name="СУПП">
		<xs:annotation>
			<xs:documentation>Сценарий создания УПП. Список элементов для служебной информации УПП с указанием xPath-путей для получения значений этих элементов</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="УПП" type="АФ4:XSDСхема">
					<xs:annotation>
						<xs:documentation>Путь до схемы УПП (УПП который должен быть сформирован в результате проверки документа). Указывается путь относительно корневного элемента библиотеки метаописаний (КАФ)</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="Элемент" type="ТипЭлемент" maxOccurs="unbounded" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Элемент блока Служебная информация</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="ИмяФайла" type="ТипИмяФайла" minOccurs="0">
					<xs:annotation>
						<xs:documentation>Описание формирования имени файла с УПП. При отсутствии имя файла с УПП формируется по шаблону 'ПФР_УППО_[Текущая дата в виде строки yyyyMMdd]_[GUID].xml'</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:complexType name="ТипЭлемент">
		<xs:annotation>
			<xs:documentation>Элемент блока Служебная информация</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Название" type="УТ2:ТипНепустаяСтрока">
				<xs:annotation>
					<xs:documentation>Название элемента</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Префикс" type="УТ2:ТипНепустаяСтрока" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Префикс для элемента. Не указывается, если элемент в пространстве имен по умолчанию</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:choice>
				<xs:annotation>
					<xs:documentation>Выбор между списком вложенных элементов и выражением для поиска значения</xs:documentation>
				</xs:annotation>
				<xs:element name="СписокЭлементов">
					<xs:annotation>
						<xs:documentation>Список вложенных элементов</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Элемент" type="ТипЭлемент" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>Элемент вложенного блока</xs:documentation>
								</xs:annotation>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Путь" type="УТ2:ТипНепустаяСтрока" minOccurs="0">
					<xs:annotation>
						<xs:documentation>xPath-выражение для получения значения. Не указывается, если элемент является блоком</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="ТипИмяФайла">
		<xs:annotation>
			<xs:documentation>Описание формирования имени файла с УПП</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:choice maxOccurs="unbounded">
				<xs:element name="Строка" type="УТ2:ТипНепустаяСтрока">
					<xs:annotation>
						<xs:documentation>Просто строка</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="Путь" type="УТ2:ТипНепустаяСтрока">
					<xs:annotation>
						<xs:documentation>xPath-выражение для получения значения</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="Дата">
					<xs:annotation>
						<xs:documentation>Текущая дата и время в виде строки с указанным шаблоном (описание шаблонов - https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-4.0/26etazsy(v=vs.100), например, шаблон 'yyyyMMdd' формирует строку '20181025' для 25 октября 2018 года, при пустом значении элемента используется шаблон 'yyyyMMdd'</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="GUID">
					<xs:annotation>
						<xs:documentation>GUID в виде строки с указанным шаблоном (описание шаблонов - https://docs.microsoft.com/en-us/dotnet/api/system.guid.tostring?view=netframework-4.7.2, при пустом значении элемента используется шаблон 'D' - '00000000-0000-0000-0000-000000000000')</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
</xs:schema>