Схема ЭСД МЭДО версия 2.2

В настоящий момент времени в системе МЭДО используется два основных типа ЭСД:

1.  «Документ» , состоящее из паспорта сообщения и прикрепленных файлов, где паспорт сообщения содержит минимальную атрибутику документа и представляется в виде типизированного XML;

2.  «Уведомление», состоящее только из паспорта, где паспорт сообщения содержит информацию о ходе прохождения документа.

и один дополнительный: «Квитанция», как и «Уведомление», соотоящее только из паспорта, содержащую информацию о факте доставки «основных» ЭСД.

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

Элементы и атрибуты, приведённые ниже, рекомендованы для использования. Схема, в дальнейшем, будет расширена путём добавления необязательных элементов и атрибутов.

Заголовок:

//communucation/header/* Определяет тип ЭСД и "источник" сообщения (клиента шлюза МЭДО).

//communucation/header/@type - тип сообщения {"Документ"|"Уведомление"};

//communucation/header/@uid - уникальный идентификатор сообщения GUID (*), формируется новое значение для каждого нового сообщения (атрибут для совместимости помечен как optional, однако формировать его нужно);

//communucation/header/@created – дата и время создания сообщения(атрибут для совместимости помечен как optional, однако формировать его нужно);

//communication/header/source/@uid - уникальный идентификатор "источника" сообщения GUID(*), формируется корреспондентом сообщения один раз и далее используется во всех дальнейших сообщениях;

НЕ нашли? Не то? Что вы ищете?

//communication/header/source/organization - наименование источника, строка не более 511 символов.

Документ:

Значение атрибута type заголовка:

//communucation/header/@type = "Документ"

//communication/document/* Определяет атрибутику (реквизиты) "передаваемого" документа

//communication/document/@uid -.Уникальный идентификатор документа - GUID (*). Если локальная СЭД не поддерживает, то формируется для каждого пересылаемого документа «на лету». Но, видимо, нужно приложить некоторые усилия для обеспечения однозначного соответсвия сформированного идентификатора этому документу для исключения коллизий в дальнейшем (например при передачах квитанций о регистрации).

//communication/document/@id - Локальный идентификатор документа (по БД источника), строка (token) длиной не более 127 символа.

Вид документа:

//communication/document/kind (**), необязательный элемент.

Номер и дата документа

.../document/num/number - номер документа, строка (token) длиной не более 31 символа;

.../document/num/date - дата регистрации документа (date).

Гриф документа:

//communication/document/classification (**), необязательный элемент.

Срочность документа:

//communication/document/urgency (**), необязательный элемент.

Признак «Взамен разосланного»

.../document/insteadOfDistributed (boolean), необязательный элемент.

Данные о лице, подписавшем документ:

Представлены последовательностью "//communication/document/signatories" (Подписавшие) элементов "signatory" (Подписал). Каждый подписавший представляется из 6 элементов, "логическое" ограничение - наличие хотя бы одного из {person|department|post}.

·  .../signatory/region - наименование региона организации (**), необязательный элемент;

·  .../signatory/organization - наименование организации (**);

·  .../signatory/person - сотрудник (лицо), в формате: Фамилия Имя Отчество (**);

·  .../signatory/department - наименование подразделения организации (**), необязательный элемент;

·  .../signatory/post - должность сотрудника (лица) (**), необязательный элемент;

·  .../signatory/signed - (обязательный элемент) дата подписания документа (date);

Адресаты документа (Кому направлено):

Представлены последовательностью "//communication/document/addressees" (Адресаты) элементов "addressee" (Адресат). Каждый адресат представляется из 5 (необязательных) элементов, "логическое" ограничение - это наличие хотя бы одного из них.

·  .../addressee/region - регион (**);

·  .../addressee/organization - наименование организации (**);

·  .../addressee/person - сотрудник (лицо), в формате: Фамилия Имя Отчество (**);

·  .../addressee/department - наименование подразделения организации (**);

·  .../addressee/post - должность сотрудника (лица) (**).

Количество страниц основного документа и приложений:

//communication/document/pages - (обязательный элемент) страниц документа (неотрицателное целое число);

//communication/document/enclosuresPages - (необязательный элемент) станиц приложений (неотрицателное целое число).

Краткое содержание документа:

//communication/document/annotation - строка длиной не более 4000 символов (string), может быть представлена как![CDATA[...]], так и строкой содержащей эскейпы {'|"|&|&gt|<}.

Корреспондент (отправитель документа):

Представлен последовательностью "//communication/document/correspondents" (Корреспонденты) элементов "correspondent" (Корреспондент). Каждый корреспондент представляется из 6 (необязательных) элементов, "логическое" ограничение - это наличие хотя бы одного из них, желательно всегда заполнять элемент .../correspondent/organization, осталные можно не заполнять

·  .../correspondent/region - регион (**), необязательный элемент;

·  .../correspondent/organization - наименование организации (**);

·  .../correspondent/person - сотрудник (лицо), в формате: Фамилия Имя Отчество (**);

·  .../correspondent/department - наименование подразделения организации (**), необязательный элемент;

·  .../correspondent/post - должность сотрудника (лица) (**), необязательный элемент;

·  .../correspondent/num - номер и дата исходящего документа

·  .../num/number - номер документа, строка (token) длиной не более 31 символа, совпадает с .../document/num/number;

·  .../num/date - дата подписания документа (date);

Исполнитель в Министерстве:

Представлен последовательностью "//communication/document/executor".

·  .../executor/person - сотрудник (лицо), в формате: Фамилия Имя Отчество (**);

·  .../executor/department - наименование подразделения организации (**), необязательный элемент;

·  .../executor/post - должность сотрудника (лица) (**), необязательный элемент;

·  ../executor/contactInfo –Контактная информация (телефоны) сотрудника (лица), строка (string) длиной не более 511 символа, необязательный элемент, заполняется только при наличии такой информации;

Список файлов:

//communication/files/* Определяет список всех "прикрепленных" файлов ЭСД.

Список прикрепленных файлов текстов электронного документа представлен последовательностью "//communication/files" элементов "files", где каждый файл представляен:

·  .../file/@localName - имя файла;

·  .../file/@localId - последовательный номер файла в списке (начиная c 0);

·  .../file/@type –тип (формат) файла, необязательный атрибут, возможны значения {"pdf"|"tif"|"doc"|"txt"}, если не задан, то формат файла определяется по расширению в .../file/@localName;

·  .../file/group - группа присоединенного файла, определяет относиться ли файл к текcту документа или к тексту приложений к документу, возможно только два значения {"Текст документа"|"Текст приложения"};

·  .../file/description - комментарий к тексту, произвольная строка длиной не более 511 символов, не обязательный элемент.

·  .../file/pages – количество страниц текста (если только это определимо), не обязательный элемент.

Уведомление:

Значение атрибута type заголовка:

//communucation/header/@type = "Уведомление"

//communication/notification/* Определяет реквизиты уведомления

//communication/notification /@type – тип уведомления, атрибут может принимать значения:{"Зарегистрирован" | "Отказано в регистрации" | "Назначен исполнитель" | "Доклад подготовлен" | "Доклад направлен" | "Исполнение"}

//communication/notification/@uid -.Уникальный идентификатор документа - GUID (*) к которому относиться данное уведомление, если опущен, тогда документ к которому относиться уведомление определяется через элементы. //communication/notification/.../foundation;

//communication/notification/@id - Локальный идентификатор документа (по БД источника), строка (token) длиной не более 127 символа, дополнительный атрибут в пару с @uid.

Уведомление о регистрации

Данное уведомление предназначено для информирования организации, приславшей документ, о регистрации документа в СЭД получателя.

Значение атрибута «тип уведомления»:

//communication/notification/@type="Зарегистрирован"

Используемый элемент:

//communication/notification/documentAccepted

//communication/notification/documentAccepted/timeДата/время формирования данного уведомления (dateTime), обязательный элемент;

//communication/notification/documentAccepted/foundation – Краткая информация о документе к которому относиться данное уведомление.

·  ../foundation/organization – Организация - корреспондент (**);

·  ../foundation/person – Подписавший (**);

·  ../foundation/num – Номер и дата документа;

../num/number – Регистрационный номер, строка token, длиной не более 31 символа;

../num/date – Дата подписания;

//communication/notification/documentAccepted/correspondent – Краткая информация о корреспонденте уведомления, если опущен, то корреспондент будет определяться по //communication/header/source/@uid;

·  ../foundation/region –Регион корреспондента (**), необязательное значение;

·  ../foun dation/organization – Организация - корреспондент уведомления(**);

//communication/notification/documentAccepted/num – Регистрационные номер и дата, за которыми документ был зарегистрирован, обязательный элемент;

../num/number – Регистрационный номер, строка token, длиной не более 31 символа;

../num/date – Дата регистрации (date);

Уведомление об отказе в регистрации

Данное уведомление предназначено для информирования организации, приславшей документ, об отказе в регистрации документа в СЭД получателя.

Значение атрибута «тип уведомления»:

//communication/notification/@type="Отказано в регистрации"

Используемый элемент:

//communication/notification/documentRefused

//communication/ notification/documentRefused/timeДата/время формирования данного уведомления (dateTime), обязательный элемент;

//communication/ notification/documentRefused/foundation – Краткая информация о документе к которому относиться данное уведомление.

·  ../foundation/organization – Организация - корреспондент (**);

·  ../foundation/person – Подписавший (**);

·  ../foundation/num – Номер и дата документа;

../num/number – Регистрационный номер, строка token, длиной не более 31 символа;

../num/date – Дата подписания

//communication/notification/documentRefused/correspondent – Краткая информация о корреспонденте уведомления, если опущен, то корреспондент будет определяться по //communication/header/source/@uid;

·  ../foundation/region –Регион корреспондента (**), необязательное значение;

·  ../foun dation/organization – Организация - корреспондент уведомления(**);

//communication/notification/documentRefused/reason – Причина отказа в регистрации, элемент может принимать значения: {"Не подлежит регистрации" | "Ошибка адресации" | "Не указан корреспондент" | "Нет искового заявления" | "Отсутствует текст" | "Нет подписи" }.

Уведомление о принятии к исполнению

Данное уведомление предназначено для информирования организации, приславшей документ, о принятии документа к исполнению.

Значение атрибута «тип уведомления»:

//communication/notification /@type="Назначен исполнитель"

Используемый элемент:

//communication/notification/executorAssigned

//communication/notification/executorAssigned/timeДата/время формирования данного уведомления (dateTime), обязательный элемент;

//communication/notification/executorAssigned/foundation – Краткая информация о документе к которому относиться данное уведомлениею.

·  ../foundation/organization – Организация - корреспондент (**);

·  ../foundation/person – Подписавший (**);

·  ../foundation/num – Номер и дата документа;

../ num/number – Регистрационный номер, строка token, длиной не более 31 символа;

../ num/date – Дата подписания;

//communication/notification/executorAssigned/clause – Информация о пункте документа к которому относиться данное уведомление, необязательный элемент;

    ../clause/designation – Наименование (обозначение, номер) пункта документа, строка (normalizedString) длиной не более 255 символа; ../clause/text – Содержание (текст) пункта документа, строка (string) длиной не более 4000 символов, может быть представлена как ![CDATA[...]], так и строкой, содержащей эскейпы {'|"|&|&gt|<};

//communication/notification/executorAssigned/correspondent – Краткая информация о корреспонденте уведомления, если опущен.

·  ../foundation/region –Регион корреспондента (**), необязательное значение;

·  ../foun dation/organization – Организация - корреспондент уведомления(**);

//communication/notification/executorAssigned/secretary – Руководитель или курирующий заместитель руководителя ведомства (организации);

    ../secretary/region - Регион (**), необязательный элемент; ../secretary/organization – Наименование ведомства (организации) (**); ../secretary /person - Сотрудник (лицо), в формате: Фамилия Имя Отчество (**); ../secretary/department - Наименование подразделения организации (**), необязательный элемент; ../secretary/post - Должность сотрудника (лица) (**), необязательный элемент; ../secretary/contactInfo –Контактная информация (телефоны) сотрудника (лица), строка (string) длиной не более 511 символа, необязательный элемент, заполняется только при наличии такой информации;

//communication/notification/executorAssigned/manager – Руководитель подразделения – исполнителя ведомства (организации);

    ../manager/region - Регион (**), необязательный элемент; ../manager/organization – Наименование ведомства (организации) (**); ../manager/person - Сотрудник (лицо), в формате: Фамилия Имя Отчество (**); ../manager/department - Наименование подразделения организации (**); ../manager/post - Должность сотрудника (лица) (**); ../manager/contactInfo –Контактная информация (телефоны) сотрудника (лица), строка (string) длиной не более 511 символа, необязательный элемент, заполняется только при наличии такой информации;

//communication/notification/executorAssigned/executor – Ответственный исполнитель ведомства (организации);

    ../executor/region - Регион (**), необязательный элемент; ../executor/organization – Наименование ведомства (организации) (**); ../executor/person - Сотрудник (лицо), в формате: Фамилия Имя Отчество (**); ../executor/department - Наименование подразделения организации (**); ../executor/post - Должность сотрудника (лица) (**); ../executor/contactInfo –Контактная информация (телефоны) сотрудника (лица), строка (string) длиной не более 511 символа, необязательный элемент, заполняется только при наличии такой информации;

Уведомление о подготовлении доклада

Данное уведомление предназначено для информирования организации, приславшей документ, что доклад по документу подготовлен (передан на подпись).

Значение атрибута «тип уведомления»:

//communication/notification /@type="Доклад подготовлен"

Используемый элемент:

//communication/notification/reportPepared

//communication/notification/reportPepared/time timeДата/время формирования данного уведомления (dateTime), обязательный элемент;

//communication/notification/reportPepared/foundation – Краткая информация о документе к которому относиться данное уведомление.

·  ../foundation/organization – Организация - корреспондент (**);

·  ../foundation/person – Подписавший (**);

·  ../foundation/num – Номер и дата документа;

../ num/number – Регистрационный номер, строка token, длиной не более 31 символа;

../ num/date – Дата подписания;

//communication/notification/reportPepared/clause – Информация о пункте документа к которому относиться данное уведомление, необязательный элемент;

    ../clause/designation – Наименование (обозначение, номер) пункта документа, строка (normalizedString) длиной не более 255 символа; ../clause/text – Содержание (текст) пункта документа, строка (string) длиной не более 4000 символов, может быть представлена как ![CDATA[...]], так и строкой, содержащей эскейпы {'|"|&|&gt|<};

//communication/notification/reportPepared/correspondent – Краткая информация о корреспонденте уведомления, если опущен, то корреспондент будет определяться по //communication/header/source/@uid;

·  ../foundation/region –Регион корреспондента (**), необязательное значение;

·  ../foun dation/organization – Организация - корреспондент уведомления(**);

//communication/notification/reportPepared/signatory – Информация о лице, которому документ передан на подпись;

    ../signatory/region - Регион (**), необязательный элемент; ../signatory/organization – Наименование ведомства (организации) (**); ../signatory/person - Сотрудник (лицо), в формате: Фамилия Имя Отчество (**); ../signatory/department - Наименование подразделения организации (**), необязательный элемент; ../signatory/post - Должность сотрудника (лица) (**);

Уведомление о направлении доклада

Данное уведомление предназначено для информирования организации, приславшей документ, что подписанный доклад по документу направлен из ведомства (организации) в адрес Аппарата Правительства Российской Федерации.

Значение атрибута «тип уведомления»:

//communication/notification /@type="Доклад направлен"

Используемый элемент:

//communication/notification/reportSent

//communication/notification/reportSent/timeДата/время формирования данного уведомления (dateTime), обязательный элемент;

//communication/notification/reportSent/foundation – Краткая информация о документе к которому относиться данное уведомление.

·  ../foundation/organization – Организация - корреспондент (**);

·  ../foundation/person – Подписавший (**);

·  ../foundation/num – Номер и дата документа;

../num/number – Регистрационный номер, строка token, длиной не более 31 символа;

../num/date – Дата подписания;

//communication/notification/reportSent/clause – Информация о пункте документа к которому относиться данное уведомление, необязательный элемент;

    ../clause/designation – Наименование (обозначение, номер) пункта документа, строка (normalizedString) длиной не более 255 символа; ../clause/text – Содержание (текст) пункта документа, строка (string) длиной не более 4000 символов, может быть представлена как ![CDATA[...]], так и строкой, содержащей эскейпы {'|"|&|&gt|<};

//communication/notification/reportSent/correspondent – Краткая информация о корреспонденте уведомления, если опущен, то корреспондент будет определяться по //communication/header/source/@uid;

·  ../foundation/region –Регион корреспондента (**), необязательное значение;

·  ../foun dation/organization – Организация - корреспондент уведомления(**);

//communication/notification/reportSent/report – Краткая информация о исходящем документе ведомства (организации), направленного в адрес АП РФ;

    ../report/region - Регион корреспондента (**), необязательный элемент; ../report/organization – Ведомство (организация) - корреспондент (**); ../report/person – Подписавший сотрудник (лицо), в формате: Фамилия Имя Отчество, (**); ../report/department – Подразделение ведомства (организации) подписавшего документ (**), необязательный элемент; ../report/post – Должность подписавшего документ (**); ../report/num – Номер и дата исходящего документа;

../num/number – Регистрационный номер, строка token, длиной не более 31 символа;

../num/date – Дата подписания;

Уведомление о изменении в ходе исполнения

Данное уведомление опционально, предназначено для информирования организации, приславшей документ, о иных событиях в ходе исполнения документа (т. е. отличных от приведенных выше).

Значение атрибута «тип уведомления»:

//communication/notification /@type="Исполнение"

Используемый элемент:

//communication/notification/courseChanged

//communication/notification/courseChanged/time – Дата/время формирования данного уведомления (dateTime), обязательный элемент;

//communication/notification/courseChanged/foundation – Краткая информация о документе к которому относиться данное уведомление.

·  ../foundation/organization – Организация - корреспондент (**);

·  ../foundation/person – Подписавший (**);

·  ../foundation/num – Номер и дата документа;

../num/number – Регистрационный номер, строка token, длиной не более 31 символа;

../num/date – Дата подписания;

//communication/notification/courseChanged/clause – Информация о пункте документа к которому относиться данное уведомление, необязательный элемент;

    ../clause/designation – Наименование (обозначение, номер) пункта документа, строка (normalizedString) длиной не более 255 символа; ../clause/text – Содержание (текст) пункта документа, строка (string) длиной не более 4000 символов, может быть представлена как ![CDATA[...]], так и строкой, содержащей эскейпы {'|"|&|&gt|<};

//communication/notification/courseChanged/correspondent – Краткая информация о корреспонденте уведомления, если опущен, то корреспондент будет определяться по //communication/header/source/@uid;

·  ../foundation/region –Регион корреспондента (**), необязательное значение;

·  ../foun dation/organization – Организация - корреспондент уведомления(**);

//communication/notification/courseChanged/courseText – Текст, содержащий информацию о событии в ходе исполнения, строка (string) длиной не более 4000 символов, может быть представлена как ![CDATA[...]], так и строкой, содержащей эскейпы {'|"|&|&gt|<};

//communication/notification/courseChanged/reference – Краткая информация о некотором документе – основании события в ходе исполнения, необязательный элемент;

    ../reference/region - Регион корреспондента (**), необязательный элемент; ../reference/organization – Ведомство (организация) - корреспондент (**); ../reference/person – Подписавший сотрудник (лицо), в формате: Фамилия Имя Отчество, (**); ../reference/department – Подразделение ведомства (организации) подписавшего документ (**), необязательный элемент; ../reference/post – Должность подписавшего документ (**); ../reference/num – Номер и дата документа;

../num/number – Регистрационный номер, строка token, длиной не более 31 символа;

../num/date – Дата подписания;

//communication/notification/comment – Необязательный комментарий к уведомлению, может быть использован для расширеня информационного содержания, строка (string) длиной не более 2047 символа.

Квитанция:

Значение атрибута type заголовка:

//communucation/header/@type = " Квитанция"

Данный тип сообщений предназначен для квитирования доставки сообщений МЭДО с типами "Документ" и " Уведомление".

//communication/acknowledgment/* Определяет реквизиты квитанции;

//communication/acknowledgment/@uid -.Уникальный идентификатор сообщения (см. //communucation/header/@uid) на которое сформирована данная квитанция - GUID (*);

//communication/notification/time -.Дата/время принятия сообщения;

//communication/notification/accepted -.Признак того, что сообщение принято (обработано) в СЭД;

//communication/notification/comment -.Необязательные комментарии к квитанции, которые могут содержать, например, причину по которой сообщение не было принято;

//communication/notification/hashCodes -.Пока необязательная информация для проверки целостности доставленного сообщения (список хэш-кодов для каждого элемента полученного ЭСД). На текущий момент может быть опущена.

Замечания по формату данных:

(*)

Стока (token) длиной 36 символов, представляющая "глобально уникальный идентификатор" (GUID), формата:

[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12},

пример: "abcdef9-fbcd-ef"

(**)Элементы, содержащие значения для

·  "региона" (region),

·  "организации" (organization),

·  "сотрудника" (person),

·  "подразделения" (department),

·  "должности" (post),

·  "вида документа" (kind)

·  "грифа документа" (classification)

·  "срочности документа" (urgency)

представляютятся в виде:

·  собственно значения - "нормализованной" стоки (normalizedString, может содержать эскейпы {'|"|&|&gt|<}) длиной не более 511 символов;

·  набора необязательных атрибутов:

·  @id - "идентификатор (код) значения" по БД источника (token), строка длиной не более 127 символа

·  @retro - "признак ретроспективы" по БД источника (boolean)

·  @modified - дата последнего изменения значения в БД источника (dateTime)

ПРИЛОЖЕНИЕ

Схема ЭСД МЭДО

<?xml version="1.0" encoding="windows-1251"?>

<xsd:schema xmlns:xsd="http://www. w3.org/2001/XMLSchema" version="2.2" elementFormDefault="qualified" attributeFormDefault="qualified" targetNamespace="http://www. /IEDMS" xmlns="http://www. /IEDMS">

<xsd:element name="communication">

<!--Сообщение-->

<xsd:complexType>

<xsd:sequence>

<xsd:element name="header">

<!--Заголовок сообщения-->

<xsd:complexType>

<xsd:sequence>

<xsd:element name="source" type="communicationPartner">

<!--Источник сообщения-->

</xsd:element>

<xsd:element name="operator" minOccurs="0" type="qualifiedValue">

<!--Оператор отправки-->

</xsd:element>

<xsd:element name="comment" minOccurs="0">

<!--Дополнительная информация(необязательное значение)-->

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:maxLength value="2047"/>

<xsd:minLength value="1"/>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

</xsd:sequence>

<xsd:attribute name="type" use="required" type="messageType">

<!--Тип сообщения-->

</xsd:attribute>

<xsd:attribute name="uid" type="globalUniqueIdentifier">

<!--Уникальный идентификатор сообщения-->

</xsd:attribute>

<xsd:attribute name="created" type="xsd:dateTime">

<!--Дата. время создания сообщения-->

</xsd:attribute>

<xsd:attribute name="cookie" type="anyValue">

<!--Этот атрибут должен быть проигнорирован-->

</xsd:attribute>

</xsd:complexType>

</xsd:element>

<xsd:choice>

<!--В зависимости от типа заголовка, что либо из:-->

<xsd:sequence>

<xsd:element name="document" type="document">

<!--Атрибуты документа-->

</xsd:element>

<xsd:element name="files">

<!--Список присоединенных файлов-->

<xsd:complexType>

<xsd:sequence>

<xsd:element name="file" maxOccurs="unbounded" type="associatedFile" minOccurs="0"/>

</xsd:sequence>

<xsd:attribute name="cookie" type="anyValue">

<!--Этот атрибут должен быть проигнорирован-->

</xsd:attribute>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

<xsd:element name="notification" type="messageNotification">

<!--Уведомление-->

</xsd:element>

<xsd:element name="acknowledgment" type="messageAcknowledgment">

<!--Квитанция о приеме сообщения-->

</xsd:element>

</xsd:choice>

<xsd:element name="deliveryIndex" minOccurs="0">

<!--Указатель рассылки (список адресатов, кому предназначается данное сообщение)-->

<xsd:complexType>

<xsd:sequence>

<xsd:element name="destination" type="deliveryDestination" maxOccurs="unbounded"/>

</xsd:sequence>

<xsd:attribute name="cookie" type="anyValue">

<!--Этот атрибут должен быть проигнорирован-->

</xsd:attribute>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

<xsd:attribute name="version" type="xsd:token" use="required">

<!--Версия (версия XML схемы сообщения)-->

</xsd:attribute>

</xsd:complexType>

</xsd:element>

<xsd:element name="dictionary">

<!--Словарь-->

<xsd:complexType>

<xsd:sequence>

<xsd:element name="clients" minOccurs="0">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="entry" minOccurs="1" maxOccurs="unbounded">

<!--Словарная статья-->

<xsd:complexType>

<xsd:sequence>

<xsd:element name="uniqueId" type="globalUniqueIdentifier">

<!--Уникальный идентификатор-->

</xsd:element>

<xsd:element name="localId" type="identityValue" minOccurs="0">

<!--Зарезервировано: локальный идентификатор-->

</xsd:element>

<xsd:element name="value" type="stringValue">

<!--Наименование-->

</xsd:element>

<xsd:element name="comment" nillable="true" type="stringValue" minOccurs="0">

<!--Комментарий-->

</xsd:element>

<xsd:element name="departId" minOccurs="0" type="identityValue">

<!--Зарезервировано-->

</xsd:element>

<xsd:element name="organization" minOccurs="0">

<!--Организация-->

<xsd:complexType>

<xsd:sequence>

<xsd:element name="shortName" type="stringValue">

<!--Краткое наименование-->

</xsd:element>

<xsd:element name="fullName" type="stringValue" minOccurs="0">

<!--Полное наименование-->

</xsd:element>

</xsd:sequence>

<xsd:attribute name="id" type="identityValue">

<!--Локальный идентификатор-->

</xsd:attribute>

</xsd:complexType>

</xsd:element>

<xsd:element name="startDate" type="xsd:dateTime" minOccurs="0" nillable="true">

<!--Дата начала выгрузки/загрузки-->

</xsd:element>

<xsd:element name="paperless" type="xsd:boolean" minOccurs="0">

<!--Признак безбумажного обмена-->

</xsd:element>

<xsd:element name="mail">

<xsd:simpleType>

<xsd:restriction base="xsd:normalizedString">

<xsd:maxLength value="127"/>

</xsd:restriction>

</xsd:simpleType>

<!--Адрес электронной почты-->

</xsd:element>

<xsd:element name="retro" type="xsd:boolean">

<!--Признак ретроспективы-->

</xsd:element>

<xsd:element name="modified" type="xsd:dateTime">

<!--Дата модификации-->

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

<!--Контрагенты МЭДО-->

</xsd:element>

<xsd:element name="comment" minOccurs="0">

<!--Дополнительная информация(необязательное значение)-->

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:maxLength value="2047"/>

<xsd:minLength value="1"/>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

</xsd:sequence>

<xsd:attribute name="created" type="xsd:dateTime">

<!--Дата генерации-->

</xsd:attribute>

<xsd:attribute name="cookie" type="anyValue">

<!--Этот атрибут должен быть проигнорирован-->

</xsd:attribute>

</xsd:complexType>

</xsd:element>

<xsd:simpleType name="messageType">

<!--Перечисление допустимых видов сообщений. Каждый вид определяет допустимый набор элементов в сообщении-->

<xsd:restriction base="xsd:token">

<xsd:enumeration value="Документ">

<!--Сообщение содержит атрибутику документа-->

</xsd:enumeration>

<xsd:enumeration value="Уведомление">

<!--Сообщение информирует пользователей СЭД АП РФ о ходе процесса прохождения документа в ФОИВ (в пилотном проекте не используется)-->

</xsd:enumeration>

<xsd:enumeration value="Квитанция">

<!--Подтверждение о приеме сообщения-->

</xsd:enumeration>

</xsd:restriction>

</xsd:simpleType>

<xsd:simpleType name="identityValue">

<!--Идентификатор (код) объекта-->

<xsd:restriction base="xsd:token">

<xsd:minLength value="1"/>

<xsd:maxLength value="127"/>

</xsd:restriction>

</xsd:simpleType>

<xsd:simpleType name="stringValue">

<xsd:restriction base="xsd:normalizedString">

<xsd:maxLength value="511"/>

<xsd:minLength value="1"/>

</xsd:restriction>

</xsd:simpleType>

<xsd:simpleType name="anyValue">

<!--Некоторое значение-->

<xsd:restriction base="xsd:string">

<xsd:minLength value="1"/>

<xsd:maxLength value="255"/>

</xsd:restriction>

</xsd:simpleType>

<xsd:simpleType name="shortText">

<xsd:restriction base="xsd:string">

<xsd:maxLength value="4000"/>

</xsd:restriction>

</xsd:simpleType>

<xsd:simpleType name="globalUniqueIdentifier">

<!--Уникальный идентификатор объекта (GUID)-->

<xsd:restriction base="xsd:normalizedString">

<xsd:pattern value="[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"/>

</xsd:restriction>

</xsd:simpleType>

<xsd:attributeGroup name="qualifiedItemAttrs">

<!--Набор атрибутов для значения (объекта), возможно классифицированное источником сообщения-->

<xsd:attribute name="id" type="identityValue">

<!--Необязательный идентификатор-->

</xsd:attribute>

<xsd:attribute name="retro" type="xsd:boolean">

<!--Необязательный признак ретроактивности-->

</xsd:attribute>

<xsd:attribute name="modified" type="xsd:dateTime">

<!--Необязательная дата последнего изменения значения-->

</xsd:attribute>

</xsd:attributeGroup>

<xsd:complexType name="qualifiedValue">

<!--Строковое значение, возможно классифицированное источником сообщения-->

<xsd:simpleContent>

<xsd:extension base="stringValue">

<xsd:attributeGroup ref="qualifiedItemAttrs"/>

</xsd:extension>

</xsd:simpleContent>

</xsd:complexType>

<xsd:complexType name="communicationPartner">

<!--Описание организации и её СЭД, участвующих в системе МЭДО-->

<xsd:sequence>

<xsd:element name="organization" type="xsd:normalizedString">

<!--Наименование организации-->

</xsd:element>

<xsd:element name="comment" minOccurs="0">

<!--Дополнительные данные о СЭД (необязательное значение)-->

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:maxLength value="2047"/>

<xsd:minLength value="1"/>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

</xsd:sequence>

<xsd:attribute name="uid" use="required" type="globalUniqueIdentifier"/>

</xsd:complexType>

<xsd:complexType name="documentNumber">

<!--Номер и дата документа-->

<xsd:sequence>

<xsd:element name="number">

<!--Номер документа-->

<xsd:simpleType>

<xsd:restriction base="xsd:token">

<xsd:maxLength value="31"/>

<xsd:minLength value="1"/>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name="date" type="xsd:date" nillable="true" minOccurs="0">

<!--Дата документа-->

</xsd:element>

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="anyone">

<xsd:sequence>

<xsd:element name="region" type="qualifiedValue" minOccurs="0">

<!--Регион-->

</xsd:element>

<xsd:element name="organization" type="qualifiedValue" minOccurs="0">

<!--Организация-->

</xsd:element>

<xsd:element name="person" type="qualifiedValue" minOccurs="0">

<!--Фамилия, имя отчество-->

</xsd:element>

<xsd:element name="department" minOccurs="0" type="qualifiedValue">

<!--Наименование подразделения (необязательное значение)-->

</xsd:element>

<xsd:element name="post" minOccurs="0" type="qualifiedValue">

<!--Наименование должности (необязательное значение)-->

</xsd:element>

<xsd:element name="contactInfo" minOccurs="0">

<!--Контактная информация (телефоны и т. п.)-->

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:minLength value="1"/>

<xsd:maxLength value="511"/>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="addressee">

<!--Представление адресата (исполнителя)-->

<xsd:complexContent>

<xsd:extension base="anyone">

<xsd:sequence>

<xsd:element name="comment" minOccurs="0">

<!--Необязательный комментарий-->

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:minLength value="1"/>

<xsd:maxLength value="2047"/>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

</xsd:sequence>

</xsd:extension>

</xsd:complexContent>

</xsd:complexType>

<xsd:complexType name="addresseeList">

<!--Список адресатов (исполнителей)-->

<xsd:sequence>

<xsd:element name="name" maxOccurs="1">

<!--Наименование-->

<xsd:simpleType>

<xsd:restriction base="xsd:normalizedString">

<xsd:maxLength value="250"/>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name="contents">

<!--Содержимое списка-->

<xsd:complexType>

<xsd:sequence>

<xsd:element name="addressee" maxOccurs="unbounded" type="addressee"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

<xsd:attribute name="id" type="identityValue"/>

</xsd:complexType>

<xsd:complexType name="correspondent">

<!--Представление корреспондента-->

<xsd:complexContent>

<xsd:extension base="anyone">

<xsd:sequence>

<xsd:element name="num" type="documentNumber" minOccurs="0">

<!--Номер и дата документа-->

</xsd:element>

<xsd:element name="comment" minOccurs="0">

<!--Необязательный комментарий-->

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:minLength value="1"/>

<xsd:maxLength value="2047"/>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

</xsd:sequence>

</xsd:extension>

</xsd:complexContent>

</xsd:complexType>

<xsd:complexType name="enclosure">

<!--Представление приложения к документу-->

<xsd:sequence>

<xsd:element name="title" type="shortText">

<!--Наименование приложения (например: краткое содержание)-->

</xsd:element>

<xsd:element name="reference" minOccurs="0" type="documentReference">

<!--Краткая информация о документе-->

</xsd:element>

<xsd:element name="pages" type="xsd:nonNegativeInteger">

<!--Листов приложения-->

</xsd:element>

<xsd:element name="files" minOccurs="0" type="listOfFileLocalId">

<!--Список "локальных" идентификаторов файлов, содержащих текст приложения (необязательное значение)-->

</xsd:element>

<xsd:element name="comment" minOccurs="0">

<!--Дополнительная информация (какие - либо комментарии, необязательное значение)-->

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:maxLength value="2047"/>

<xsd:minLength value="1"/>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

</xsd:sequence>

<xsd:attribute name="uid" type="globalUniqueIdentifier">

<!--Необязательный уникальный идентификатор приложения в БД источника-->

</xsd:attribute>

<xsd:attribute name="id" type="identityValue">

<!--Необязательный локальный идентификатор приложения в БД источника-->

</xsd:attribute>

</xsd:complexType>

<xsd:simpleType name="linkType">

<!--Тип связи документов (перечисление может уточняться)-->

<xsd:restriction base="xsd:token">

<xsd:enumeration value="В ответ на"/>

<xsd:enumeration value="Во исполнение"/>

<xsd:enumeration value="Документ-основание"/>

<xsd:enumeration value="На №"/>

<xsd:enumeration value="Ответ"/>

<xsd:enumeration value="Связан с"/>

</xsd:restriction>

</xsd:simpleType>

<xsd:complexType name="documentReference">

<!--Сыылка на некоторый документ (обязательный номер документа + информация о корреспонденте - организация и подписавший)-->

<xsd:sequence>

<xsd:element name="region" type="qualifiedValue" minOccurs="0">

<!--Регион-->

</xsd:element>

<xsd:element name="organization" type="qualifiedValue" minOccurs="0">

<!--Организация-->

</xsd:element>

<xsd:element name="person" type="qualifiedValue" minOccurs="0">

<!--Фамилия, имя отчество-->

</xsd:element>

<xsd:element name="department" minOccurs="0" type="qualifiedValue">

<!--Наименование подразделения (необязательное значение)-->

</xsd:element>

<xsd:element name="post" minOccurs="0" type="qualifiedValue">

<!--Наименование должности (необязательное значение)-->

</xsd:element>

<xsd:element name="num" type="documentNumber" minOccurs="1">

<!--Номер документа-->

</xsd:element>

<xsd:element name="comment" minOccurs="0">

<!--Дополнительная информация (какие - либо комментарии, необязательное значение)-->

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:minLength value="1"/>

<xsd:maxLength value="2047"/>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="linkedDocument">

<!--Представление для связанного документа-->

<xsd:sequence>

<xsd:element name="linkType" type="linkType" default="Связан с">

<!--Тип связи-->

</xsd:element>

<xsd:choice>

<xsd:element name="document">

<!--Атрибуты документа-->

<xsd:complexType>

<!--Атрибутика документа-->

<xsd:sequence>

<xsd:element name="kind" type="qualifiedValue" minOccurs="0">

<!--Вид документа (необязательное значение)-->

</xsd:element>

<xsd:element name="num" type="documentNumber">

<!--Номер и дата документа-->

</xsd:element>

<xsd:element name="classification" type="qualifiedValue" minOccurs="0">

<!--Гриф секретности-->

</xsd:element>

<xsd:element name="signatories">

<!--Подписавшие-->

<xsd:complexType>

<xsd:sequence>

<xsd:element name="signatory" maxOccurs="unbounded" type="signatory"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="addressees">

<!--Адресаты документа (кому направлено)-->

<xsd:complexType>

<xsd:sequence>

<xsd:element name="addressee" type="addressee" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="pages" type="xsd:nonNegativeInteger">

<!--Листов документа-->

</xsd:element>

<xsd:element name="enclosuresPages" type="xsd:nonNegativeInteger" minOccurs="0">

<!--Листов приложений (необязательное значение)-->

</xsd:element>

<xsd:element name="annotation" type="shortText" nillable="true" minOccurs="1">

<!--Аннотация, иначе - краткое содержание (необязательное значение)-->

</xsd:element>

<xsd:element name="enclosures" minOccurs="0">

<!--Приложения к документу-->

<xsd:complexType>

<xsd:sequence>

<xsd:element name="enclosure" type="enclosure" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="correspondents" minOccurs="0">

<!--Корреспонденты (необязательное значение)-->

<xsd:complexType>

<xsd:sequence>

<xsd:element name="correspondent" maxOccurs="unbounded" minOccurs="0" type="correspondent"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="links" minOccurs="0">

<!--Связанные документы (необязательное значение)-->

<xsd:complexType>

<xsd:sequence>

<xsd:element name="link" type="linkedDocument" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="clauses" minOccurs="0">

<!--Пункты документа (необязательное значение)-->

<xsd:complexType>

<xsd:sequence>

<xsd:element name="clause" type="documentClause" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="comment" minOccurs="0">

<!--Дополнительная информация (какие - либо комментарии, необязательное значение)-->

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:maxLength value="2047"/>

<xsd:minLength value="1"/>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="reference" type="documentReference">

<!--Ссылка на документ-->

</xsd:element>

</xsd:choice>

</xsd:sequence>

<xsd:attribute name="uid" type="globalUniqueIdentifier">

<!--Уникальный идентификатор связанного документа (если есть)-->

</xsd:attribute>

<xsd:attribute name="id" type="identityValue">

<!--Необязательный локальный идентификатор документа в БД источника-->

</xsd:attribute>

</xsd:complexType>

<xsd:complexType name="documentClause">

<!--Пункт документа-->

<xsd:sequence>

<xsd:element name="designation" nillable="true" minOccurs="0">

<!--Наименование пункта (необязательное значение)-->

<xsd:simpleType>

<xsd:restriction base="xsd:normalizedString">

<xsd:maxLength value="255"/>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name="text" type="shortText" minOccurs="0">

<!--Содержание пункта (необязательное значение)-->

</xsd:element>

<xsd:element name="deadline" type="xsd:date" minOccurs="0">

<!--Срок исполнения (необязательное значение)-->

</xsd:element>

<xsd:choice minOccurs="0">

<!--Ответственный исполнитель по пункту документа-->

<xsd:element name="principal" type="addressee">

<!--Исполнитель-->

</xsd:element>

<xsd:element name="principals" type="addresseeList">

<!--Список исполнителей-->

</xsd:element>

</xsd:choice>

<xsd:element name="parcipants" minOccurs="0">

<!--Соисполнители (необязательное значение)-->

<xsd:complexType>

<xsd:sequence>

<xsd:choice minOccurs="1" maxOccurs="unbounded">

<xsd:element name="parcipant" type="addressee">

<!--Соисполнитель-->

</xsd:element>

<xsd:element name="parcipants" type="addresseeList">

<!--Список соисполнителей-->

</xsd:element>

</xsd:choice>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="comment" minOccurs="0">

<!--Дополнительная информация (какие - либо комментарии, необязательное значение)-->

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:maxLength value="2047"/>

<xsd:minLength value="1"/>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

</xsd:sequence>

<xsd:attribute name="localId" type="xsd:nonNegativeInteger" use="optional">

<!--Последовательный номер пункта в списке (необязательное значение)-->

</xsd:attribute>

<xsd:attribute name="id" type="identityValue">

<!--Необязательный локальный идентификатор пункта по БД источника-->

</xsd:attribute>

</xsd:complexType>

<xsd:complexType name="signatory">

<!--Подписавший-->

<xsd:complexContent>

<xsd:extension base="anyone">

<xsd:sequence>

<xsd:element name="signed" type="xsd:date">

<!--Дата подписания-->

</xsd:element>

<xsd:element name="comment" minOccurs="0">

<!--Необязательный коментарий-->

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:minLength value="1"/>

<xsd:maxLength value="2047"/>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

</xsd:sequence>

</xsd:extension>

</xsd:complexContent>

</xsd:complexType>

<xsd:complexType name="document">

<!--Документ (атрибутика документа)-->

<xsd:sequence>

<xsd:element name="type" minOccurs="0" type="qualifiedValue">

<!--Тип документа (необязательное значение)-->

</xsd:element>

<xsd:element name="kind" type="qualifiedValue" minOccurs="0">

<!--Вид документа (необязательное значение)-->

</xsd:element>

<xsd:element name="num" type="documentNumber">

<!--Номер и дата документа-->

</xsd:element>

<xsd:element name="classification" type="qualifiedValue" minOccurs="0">

<!--Гриф секретности (необязательное значение)-->

</xsd:element>

<xsd:element name="urgency" minOccurs="0" type="qualifiedValue">

<!--Срочность (необязательное значение)-->

</xsd:element>

<xsd:element name="insteadOfDistributed" type="xsd:boolean" minOccurs="0">

<!--Признак "Взамен разосланного" (необязательное значение)-->

</xsd:element>

<xsd:element name="specialMark" type="stringValue" minOccurs="0">

<!--Особые отметки (необязательное значение)-->

</xsd:element>

<xsd:element name="signatories">

<!--Подписавшие-->

<xsd:complexType>

<xsd:sequence>

<xsd:element name="signatory" maxOccurs="unbounded" type="signatory"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="addressees">

<!--Адресаты документа (кому направлено)-->

<xsd:complexType>

<xsd:sequence>

<xsd:element name="addressee" type="addressee" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="pages" type="xsd:nonNegativeInteger">

<!--Листов документа-->

</xsd:element>

<xsd:element name="enclosuresPages" type="xsd:nonNegativeInteger" minOccurs="0">

<!--Листов приложений (необязательное значение)-->

</xsd:element>

<xsd:element name="annotation" type="shortText" nillable="true" minOccurs="1">

<!--Аннотация, иначе - краткое содержание (необязательное значение)-->

</xsd:element>

<xsd:element name="enclosures" minOccurs="0">

<!--Приложения к документу (необязательное значение)-->

<xsd:complexType>

<xsd:sequence>

<xsd:element name="enclosure" type="enclosure" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="correspondents" minOccurs="0">

<!--Корреспонденты (необязательное значение)-->

<xsd:complexType>

<xsd:sequence>

<xsd:element name="correspondent" maxOccurs="unbounded" minOccurs="0" type="correspondent"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="links" minOccurs="0">

<!--Связанные документы (необязательный элемент)-->

<xsd:complexType>

<xsd:sequence>

<xsd:element name="link" type="linkedDocument" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="clauses" minOccurs="0">

<!--Пункты документа (необязательный элемент)-->

<xsd:complexType>

<xsd:sequence>

<xsd:element name="clause" type="documentClause" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="executor" type="addressee" minOccurs="0">

<!--Исполнитель в министерстве-->

</xsd:element>

<xsd:element name="comment" minOccurs="0">

<!--Дополнительная информация (какие - либо комментарии, необязательный элемент)-->

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:maxLength value="2047"/>

<xsd:minLength value="1"/>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

</xsd:sequence>

<xsd:attribute name="uid" type="globalUniqueIdentifier" use="required">

<!--Уникальный идентификатор документа-->

</xsd:attribute>

<xsd:attribute name="id" type="identityValue">

<!--Необязательный локальный идентификатор документа в БД источника-->

</xsd:attribute>

<xsd:attribute name="cookie" type="anyValue" use="optional">

<!--Этот атрибут должен быть проигнорирован-->

</xsd:attribute>

</xsd:complexType>

<xsd:simpleType name="fileGroup">

<!--Группа присоединенного файла, определяет относиться ли файл к текcту документа или к тексту приложений к документу-->

<xsd:restriction base="xsd:token">

<xsd:enumeration value="Текст документа"/>

<xsd:enumeration value="Текст приложения"/>

</xsd:restriction>

</xsd:simpleType>

<xsd:simpleType name="fileType">

<!--Тип текста-->

<xsd:restriction base="xsd:token">

<xsd:enumeration value="pdf"/>

<xsd:enumeration value="tif"/>

<xsd:enumeration value="doc"/>

<xsd:enumeration value="txt"/>

</xsd:restriction>

</xsd:simpleType>

<xsd:simpleType name="fileName">

<!--Имя файла-->

<xsd:restriction base="xsd:normalizedString">

<xsd:maxLength value="255"/>

<xsd:minLength value="1"/>

</xsd:restriction>

</xsd:simpleType>

<xsd:complexType name="associatedFile">

<!--Присоединенный файл (с образом, текстом и т. п.)-->

<xsd:sequence>

<xsd:element name="group" type="fileGroup"/>

<xsd:element name="description" type="xsd:string" nillable="false" minOccurs="0">

<!--Описание файла-->

</xsd:element>

<xsd:element name="pages" type="xsd:nonNegativeInteger" minOccurs="0">

<!--Листов текста-->

</xsd:element>

</xsd:sequence>

<xsd:attribute name="localName" type="fileName" use="required">

<!--Имя файла-->

</xsd:attribute>

<xsd:attribute name="localId" type="xsd:nonNegativeInteger">

<!--Последовательный номер файла в списке-->

</xsd:attribute>

<xsd:attribute name="type" type="fileType">

<!--Тип файла (формат файла)-->

</xsd:attribute>

</xsd:complexType>

<xsd:simpleType name="reasonForRejection">

<xsd:restriction base="xsd:normalizedString">

<xsd:enumeration value="Не подлежит регистрации"/>

<xsd:enumeration value="Ошибка адресации"/>

<xsd:enumeration value="Не указан корреспондент"/>

<xsd:enumeration value="Нет искового заявления"/>

<xsd:enumeration value="Отсутствует текст"/>

<xsd:enumeration value="Нет подписи"/>

<xsd:enumeration value="Приложение отсутствует"/>

<xsd:enumeration value="Листаж приложения указан ошибочно"/>

<xsd:enumeration value="Несовпадение реквизитов приложения с приложенными документами"/>

<xsd:maxLength value="127"/>

</xsd:restriction>

</xsd:simpleType>

<xsd:simpleType name="notificationType">

<!--Тип уведомления-->

<xsd:restriction base="xsd:token">

<xsd:enumeration value="Зарегистрирован"/>

<xsd:enumeration value="Отказано в регистрации"/>

<xsd:enumeration value="Назначен исполнитель"/>

<xsd:enumeration value="Доклад подготовлен"/>

<xsd:enumeration value="Доклад направлен"/>

<xsd:enumeration value="Исполнение"/>

</xsd:restriction>

</xsd:simpleType>

<xsd:complexType name="notification">

<!--Базовый класс для уведомлений-->

<xsd:sequence>

<xsd:element name="time" type="xsd:dateTime">

<!--Дата время события-->

</xsd:element>

<xsd:element name="foundation" minOccurs="0" type="documentReference">

<!--Информация о документе - основании, необязательный элемент, если указан уникальный идентификатор документа в атрибуте../@uid-->

</xsd:element>

<xsd:element name="clause" type="documentClause" nillable="false" minOccurs="0">

<!--Наименование пункта (необязательное значение)-->

</xsd:element>

<xsd:element name="correspondent" minOccurs="0" type="addressee">

<!--Корреспондент (необязательное значение)-->

</xsd:element>

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="messageNotification">

<!--Уведомление (о событии)-->

<xsd:sequence>

<xsd:choice>

<xsd:element name="documentAccepted">

<!--Событие: документ зарегистрирован-->

<xsd:complexType>

<xsd:complexContent>

<xsd:extension base="notification">

<xsd:sequence>

<xsd:element name="num" type="documentNumber">

<!--Номер и дата документа-->

</xsd:element>

</xsd:sequence>

</xsd:extension>

</xsd:complexContent>

</xsd:complexType>

</xsd:element>

<xsd:element name="documentRefused">

<!--Событие: отказано в регистрации-->

<xsd:complexType>

<xsd:complexContent>

<xsd:extension base="notification">

<xsd:sequence>

<xsd:element name="reason" type="reasonForRejection">

<!--Причина отказа-->

</xsd:element>

</xsd:sequence>

</xsd:extension>

</xsd:complexContent>

</xsd:complexType>

</xsd:element>

<xsd:element name="executorAssigned">

<!--Событие: документ принят к исполнению (назначен исполнитель)-->

<xsd:complexType>

<xsd:complexContent>

<xsd:extension base="notification">

<xsd:sequence>

<xsd:element name="secretary" type="addressee">

<!--Руководитель или курирующий заместитель руководителя ФОИВ-->

</xsd:element>

<xsd:element name="manager" type="addressee">

<!--Руководитель подразделения исполнителя ФОИВ-->

</xsd:element>

<xsd:element name="executor" type="addressee">

<!--Исполнитель ФОИВ-->

</xsd:element>

</xsd:sequence>

</xsd:extension>

</xsd:complexContent>

</xsd:complexType>

</xsd:element>

<xsd:element name="reportPrepared">

<!--Событие: Доклад по документу подготовлен (соответствующий документ передан на подпись)-->

<xsd:complexType>

<xsd:complexContent>

<xsd:extension base="notification">

<xsd:sequence>

<xsd:element name="signatory" type="signatory">

<!--Лицо, которому передан документ-->

</xsd:element>

</xsd:sequence>

</xsd:extension>

</xsd:complexContent>

</xsd:complexType>

</xsd:element>

<xsd:element name="reportSent">

<!--Событие: доклад по документу направлен (выпущен исходящий документ - ответ)-->

<xsd:complexType>

<xsd:complexContent>

<xsd:extension base="notification">

<xsd:sequence>

<xsd:element name="report" type="documentReference">

<!--Выпущенный исходящий документ (отчет)-->

</xsd:element>

</xsd:sequence>

</xsd:extension>

</xsd:complexContent>

</xsd:complexType>

</xsd:element>

<xsd:element name="courseChanged">

<!--Событие: Изменение хода исполнения-->

<xsd:complexType>

<xsd:complexContent>

<xsd:extension base="notification">

<xsd:sequence>

<xsd:element name="courseText" type="shortText">

<!--Текст хода исполнения-->

</xsd:element>

<xsd:element name="reference" minOccurs="0" type="documentReference">

<!--Ссылка на "сопутствующий" документ-->

</xsd:element>

</xsd:sequence>

</xsd:extension>

</xsd:complexContent>

</xsd:complexType>

</xsd:element>

</xsd:choice>

<xsd:element name="comment" minOccurs="0">

<!--Дополнительная информация (какие - либо комментарии, необязательное значение)-->

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:minLength value="1"/>

<xsd:maxLength value="2047"/>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

</xsd:sequence>

<xsd:attribute name="type" type="notificationType" use="required">

<!--Тип уведомления-->

</xsd:attribute>

<xsd:attribute name="uid" type="globalUniqueIdentifier" use="required">

<!--Идентификатор документа-->

</xsd:attribute>

<xsd:attribute name="id" type="identityValue">

<!--Необязательный локальный идентификатор документа в БД источника (тот, который был передан через //communication/document/@id)-->

</xsd:attribute>

<xsd:attribute name="cookie" type="anyValue">

<!--Этот атрибут должен быть проигнорирован-->

</xsd:attribute>

</xsd:complexType>

<xsd:complexType name="messageAcknowledgment">

<!--Информация, подтверждающая прием указанного сообщения-->

<xsd:sequence>

<xsd:element name="time" type="xsd:dateTime" minOccurs="1">

<!--Дата/время принятия сообщения-->

</xsd:element>

<xsd:element name="accepted" type="xsd:boolean">

<!--Признак того, что сообщение принято-->

</xsd:element>

<xsd:element name="comment" minOccurs="0">

<!--Необязательные комментарии-->

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:maxLength value="2047"/>

<xsd:minLength value="1"/>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name="hashCodes" minOccurs="0">

<!--Информация для проверки целостности доставленного сообщения (список хэш-кодов для каждого элемента полученного ЭСД)-->

<xsd:complexType>

<xsd:sequence minOccurs="1" maxOccurs="1">

<xsd:element name="item" maxOccurs="unbounded">

<!--Элемент ЭСД (файл)-->

<xsd:complexType>

<xsd:sequence>

<xsd:element name="name" type="fileName">

<!--Наименование элемента (имя файла)-->

</xsd:element>

<xsd:element name="code">

<!--Вычисленный хэш-код для элемента с использованием указанного криптопровайдера-->

<xsd:simpleType>

<xsd:restriction base="xsd:hexBinary">

<xsd:maxLength value="128"/>

<xsd:minLength value="32"/>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

<xsd:attribute name="algorithm" use="optional" type="anyValue">

<!--Идентификация способа расчета хэш кодов для определения криптопровайдера, его типа и используемого алгоритма.-->

</xsd:attribute>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

<xsd:attribute name="uid" use="required" type="globalUniqueIdentifier">

<!--Идентификатор принятого сообщения (//communication/header@uid)-->

</xsd:attribute>

<xsd:attribute name="cookie" type="anyValue">

<!--Этот атрибут должен быть проигнорирован-->

</xsd:attribute>

</xsd:complexType>

<xsd:simpleType name="listOfFileLocalId">

<xsd:list itemType="xsd:nonNegativeInteger"/>

</xsd:simpleType>

<xsd:complexType name="deliveryDestination">

<!--Адресат рассылки-->

<xsd:sequence>

<xsd:element name="destination" type="communicationPartner">

<!--Адресат-->

</xsd:element>

<xsd:element name="files" maxOccurs="1" minOccurs="0" type="listOfFileLocalId" nillable="true">

<!--Список присоединенных файлов (перечисление локальных идентификаторов присоединенных файлов, см. associatedFile, communication. document. files)-->

</xsd:element>

<xsd:element name="comment" minOccurs="0">

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:maxLength value="2047"/>

<xsd:minLength value="1"/>

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:schema>

Пример Документа

<?xml version="1.0" encoding="windows-1251"?>

<xdms:communication xdms:version="2.0" xmlns:xdms="http://www. /IEDMS" xmlns:xsi="http://www. w3.org/2001/XMLSchema-instance">

<xdms:header xdms:type="Документ" xdms:uid="80CE5FD3-303B-4046-A5AA-1874A3B55504" xdms:created="T10:55:11.417">

<xdms:source xdms:uid="6D8C1EF5-A5EA-4DD9-A97D-5EE80F0663B1">

<xdms:organization>Аппарат Правительства Российской Федерации</xdms:organization>

</xdms:source>

<xdms:comment>DELOSQL1\SQL1\apdelo</xdms:comment>

</xdms:header>

<xdms:document xdms:uid="C7D3C4F4-B3BF-492B-BDF2-6409D05F2DB7" xdms:id="">

<xdms:kind xdms:id="" xdms:retro="false" xdms:modified="T09:33:20.293">Письмо подразделения</xdms:kind>

<xdms:num>

<xdms:number>П2-32886</xdms:number>

<xdms:date></xdms:date>

</xdms:num>

<xdms:signatories>

<xdms:signatory>

<xdms:person xdms:id="" xdms:retro="false" xdms:modified="T14:47:13.670"></xdms:person>

<xdms:department xdms:id="" xdms:retro="false" xdms:modified="T15:02:15.840">Департамент международного сотрудничества (П2)</xdms:department>

<xdms:post xdms:id="" xdms:retro="false" xdms:modified="T17:03:48.630">заместитель директора</xdms:post>

<xdms:signed></xdms:signed>

</xdms:signatory>

</xdms:signatories>

<xdms:addressees>

<xdms:addressee>

<xdms:region xdms:id="" xdms:retro="false" xdms:modified="T00:00:00">г. Москва</xdms:region>

<xdms:organization xdms:id="" xdms:retro="false" xdms:modified="T13:21:49.850">Аппарат Правительства Российской Федерации</xdms:organization>

<xdms:person xdms:id="" xdms:retro="false" xdms:modified="T09:45:57.743"></xdms:person>

<xdms:department xdms:id="" xdms:retro="false" xdms:modified="T10:40:55.330">Департамент международного сотрудничества (П2) - Отдел сотрудничества со странами СНГ</xdms:department>

<xdms:post xdms:id="" xdms:retro="false" xdms:modified="T15:05:31.513">референт</xdms:post>

</xdms:addressee>

<xdms:addressee>

<xdms:region xdms:id="" xdms:retro="false" xdms:modified="T00:00:00">г. Москва</xdms:region>

<xdms:organization xdms:id="" xdms:retro="false" xdms:modified="T11:33:13.233">Минфин России</xdms:organization>

</xdms:addressee>

<xdms:addressee>

<xdms:region xdms:id="" xdms:retro="false" xdms:modified="T00:00:00">г. Москва</xdms:region>

<xdms:organization xdms:id="" xdms:retro="false" xdms:modified="T15:51:47.897">Минэкономразвития России</xdms:organization>

</xdms:addressee>

<xdms:addressee>

<xdms:organization>Центральный банк Российской Федерации</xdms:organization>

</xdms:addressee>

</xdms:addressees>

<xdms:pages>1</xdms:pages>

<xdms:enclosuresPages>18</xdms:enclosuresPages>

<xdms:annotation>о направлении представителей российской стороны для участия в работе заседании экспертной группы для изучения возможности использования национальных валют государств-участников СНГ в качестве расчетных валют для обслуживания взаимного товарооборота</xdms:annotation>

<xdms:correspondents>

<xdms:correspondent>

<xdms:region xdms:id="" xdms:retro="false" xdms:modified="T00:00:00">г. Москва</xdms:region>

<xdms:organization xdms:id="" xdms:retro="false" xdms:modified="T13:21:49.850">Аппарат Правительства Российской Федерации</xdms:organization>

<xdms:person xdms:id="" xdms:retro="false" xdms:modified="T09:45:57.743"></xdms:person>

<xdms:department xdms:id="" xdms:retro="false" xdms:modified="T10:40:55.330">Департамент международного сотрудничества (П2) - Отдел сотрудничества со странами СНГ</xdms:department>

<xdms:post xdms:id="" xdms:retro="false" xdms:modified="T15:05:31.513">референт</xdms:post>

<xdms:num>

<xdms:number>П2-32886</xdms:number>

<xdms:date></xdms:date>

</xdms:num>

</xdms:correspondent>

</xdms:correspondents>

</xdms:document>

<xdms:files>

<xdms:file xdms:localName="text.pdf" xdms:localId="0">

<xdms:group>Текст документа</xdms:group>

<xdms:description>текст документа</xdms:description>

<xdms:pages>1</xdms:pages>

</xdms:file>

<xdms:file xdms:localName="text.tif" xdms:localId="1">

<xdms:group>Текст приложения</xdms:group>

<xdms:description>текст приложения № 1 (Входящий 2-74797 от 01.01.2001)</xdms:description>

<xdms:pages>2</xdms:pages>

</xdms:file>

</xdms:files>

</xdms:communication>

Пример Уведомлений

<?xml version="1.0" encoding="windows-1251"?>

<xdms:communication xdms:version="2.0" xmlns:xdms="http://www. /IEDMS" xmlns:xsi="http://www. w3.org/2001/XMLSchema-instance">

<xdms:header xdms:type="Уведомление" xdms:uid="AA0AC2A6-5F5C-4AD9-9A41-0DC7AF107F61" xdms:created="T15:30:00.560">

<xdms:source xdms:uid="6D8C1EF5-A5EA-4DD9-A97D-5EE80F0663B1">

<xdms:organization>Аппарат Правительства Российской Федерации</xdms:organization>

</xdms:source>

<xdms:comment>GTMEDOSQL\iedms</xdms:comment>

</xdms:header>

<xdms:notification xdms:type="Зарегистрирован" xdms:uid="C4A24BAD76-846F-65A096F362CF">

<xdms:documentAccepted>

<xdms:time>T15:15:31.627</xdms:time>

<xdms:foundation>

<xdms:num>

<xdms:number>АП-14-08/549</xdms:number>

<xdms:date></xdms:date>

</xdms:num>

</xdms:foundation>

<xdms:correspondent>

<xdms:region xdms:id="" xdms:retro="false" xdms:modified="T00:00:00">г. Москва</xdms:region>

<xdms:organization xdms:id="" xdms:retro="false" xdms:modified="T13:21:49.850">Аппарат Правительства Российской Федерации</xdms:organization>

</xdms:correspondent>

<xdms:num>

<xdms:number>2-5368</xdms:number>

<xdms:date></xdms:date>

</xdms:num>

</xdms:documentAccepted>

<xdms:comment>РК Входящий № 2-5368 от 01.01.2001</xdms:comment>

</xdms:notification>

</xdms:communication>

<?xml version="1.0" encoding="windows-1251"?>

<xdms:communication xdms:version="2.0" xmlns:xdms="http://www. /IEDMS" xmlns:xsi="http://www. w3.org/2001/XMLSchema-instance">

<xdms:header xdms:type="Уведомление" xdms:uid="6A6051EC-15C5-44D9-BA85F1BAB" xdms:created="T16:47:49.987">

<xdms:source xdms:uid="6D8C1EF5-A5EA-4DD9-A97D-5EE80F0663B1">

<xdms:organization>Аппарат Правительства Российской Федерации</xdms:organization>

</xdms:source>

<xdms:operator></xdms:operator>

<xdms:comment>GTMEDOSQL\iedms</xdms:comment>

</xdms:header>

<xdms:notification xdms:type="Отказано в регистрации" xdms:uid="FA0597DD-AB24B-B18628F3BCC4">

<xdms:documentRefused>

<xdms:time>T16:47:49.700</xdms:time>

<xdms:foundation>

<xdms:region>г. Москва</xdms:region>

<xdms:organization>Минкомсвязь России</xdms:organization>

<xdms:num>

<xdms:number>П2</xdms:number>

<xdms:date></xdms:date>

</xdms:num>

</xdms:foundation>

<xdms:correspondent>

<xdms:organization xdms:id="" xdms:retro="false" xdms:modified="T13:21:49.850">Аппарат Правительства Российской Федерации</xdms:organization>

</xdms:correspondent>

<xdms:reason>Не подлежит регистрации</xdms:reason>

</xdms:documentRefused>

<xdms:comment>Возврат корреспонденту, тестового документа</xdms:comment>

</xdms:notification>

</xdms:communication>