XSD-схема

XSD-схема вида сведений – используется СМЭВ в качестве правил, на основании которых выполняется форматный контроль сообщений. XSD - это файл, содержащий XML Schema. В свою очередь XML Schema - язык описания структуры XML-документа.

Электронные сообщения в СМЭВ передаются в формате XML в кодировке UTF-8 с указанием кодировки в заголовке сообщения. Соответствующие им WSDL и XSD файлы также должны использовать кодировку UTF-8 с указанием кодировки в заголовке сообщения.

Правила формирования

Форматы передаваемых данных разрабатываются владельцем сведения с использованием языка описания схем данных XML Schema Definition (XSD) и должны соответствовать следующим правилам:

  • для каждого протокола обмена один из элементов СМЭВ-заголовка, описанных на корневом уровне схемы, должен представлять собой «элемент запроса», содержащий бизнес-данные запроса или рассылки;
  • для каждого протокола обмена, один из элементов СМЭВ-заголовка, описанных на корневом уровне схемы, должен представлять собой «элемент ответа», содержащий бизнес-данные ответа;
  • для каждого протокола обмена корневой элемент запроса, и корневой элемент ответа должны быть описаны в одной схеме (иметь одно и то же пространство имен схемы). При этом схема может быть разбита на несколько XML-документов (конструкция xs:include), а также ссылаться на другие XML-схемы (конструкция xs:import);
  • для директивных протоколов обмена необходимо включать в состав элементов, описанных на корневом уровне схемы, специализированные инструкции, содержащие директивы для процессинга СМЭВ;
  • для директивных протоколов обмена в состав форматов передаваемых данных необходимо включать схемы СМЭВ-вложений; XML схемы протоколов обмена, причём как СМЭВ-заголовков, так и СМЭВ-вложений, регистрируемые в СМЭВ, должны удовлетворять требованиям документа «Требования к XML-схемам, регистрируемым в СМЭВ».

ИС участников взаимодействия в теле электронных сообщений должны поддерживать применение блоков и элементов данных, а также электронных подписей, описанных в данном документе. Использование других блоков и элементов, отличных от описанных в данном документе, не допускается.

Целевое пространство имён (target namespace) любой схемы, используемой в СМЭВ, должно быть глобально уникально. Чтобы облегчить соблюдение этого требования, в СМЭВ каждому ОИВ – владельцу данных должен присваиваться базовый URI. Все схемы, регистрируемые в СМЭВ этим Владельцем данных, должны иметь target namespace, начинающиеся с базового URI этого владельца. Таким образом, ответственность за уникальность базовых URI несёт оператор СМЭВ, а Владелец данных отвечает за уникальность target namespace в области действия своего базового URI.

Проверка схемы и сообщений

XSD-схема ВС должна проходить проверку на соответствие Методическим рекомендациям СМЭВ с помощью инструмента «Проверка корректности xsd-схем».

Проверка самих XML-сообщений на соответствие Методическим рекомендациям СМЭВ может быть выполнена с помощью инструмента «Проверка корректности xml-сообщения».

Validate Message

Пример XSD-схемы

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://kvs.pfr.com/snils-validation/1.0.1" xmlns:smev="urn://x-artefacts-smev-gov-ru/supplementary/commons/1.0.1" xmlns:jxb="http://java.sun.com/xml/ns/jaxb" targetNamespace="http://kvs.pfr.com/snils-validation/1.0.1" elementFormDefault="qualified" attributeFormDefault="unqualified" jxb:version="2.0">
	<import namespace="urn://x-artefacts-smev-gov-ru/supplementary/commons/1.0.1" schemaLocation="smev-supplementary-commons-1.0.1.xsd"/>
	<element name="SnilsValidationRequest">
		<complexType>
			<sequence>
				<group ref="smev:PhysicalPersonQualifiedName-ModelGroup"/>
				<element name="Snils" type="smev:SNILSType" nillable="false"/>
				<element name="Gender" type="smev:GenderType" minOccurs="0"/>
				<element name="BirthDate" type="date" minOccurs="0"/>
			</sequence>
		</complexType>
	</element>
	<element name="SnilsValidationResponse">
		<complexType>
			<group ref="tns:SnilsValidationGroupResponse" minOccurs="0"/>
		</complexType>
	</element>
	<group name="SnilsValidationGroupResponse">
		<sequence>
			<element name="Result" type="boolean" nillable="false"/>
		</sequence>
	</group>
</schema>
  • XSD-схема
  • Правила формирования
  • Проверка схемы и сообщений
  • Пример XSD-схемы
  • Подавай заявку сейчас

    Оставьте свои контактные данные и наш менеджер свяжется с вами в ближайшее время