ЗАО «Агропромбанк», являясь аккредитованным удостоверяющим центром, в целях стандартизации электронных документов в Приднестровской Молдавской Республике, разработал стандарт контейнера электронного документа – EDoc.
Стандарт гарантирует неизменность электронного документа и неотрекаемость подписанта при использовании квалифицированной электронной подписи. В стандарт контейнера электронного документа заложена возможность работы с электронным документом в любой современной операционной системе с использованием современных средств разработки программного обеспечения.
Структуру EDoc документа можно представить в виде контейнера, включающего последовательность блочных элементов различного содержания.
<root xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:edoc="http://agroprombank.com/edoc.xsd">
<edoc:Document Id="document-Guid документа">
<edoc:Template Id="templateGuid" CompilerVersion="версия компилятора/сборки, которой был создан документ">
<edoc:Reference URI="Uri репозитория, где находится шаблон для текущего документа">
<edoc:DigestMethod Algorithm="Название алгоритма, которым будет сформирован хэш-образ для xslt-шаблона" />
<edoc:DigestValue><!--хэш образ xslt-шаблона--></edoc:DigestValue>
</edoc:Reference>
</edoc:Template>
<edoc:References>
<!--блок ссылок на другие документы-->
<edoc:ReferenceDocument Id="referenceGuid 1" Name="Дополнение 1 к документу №-" />
<edoc:ReferenceDocument Id="referenceGuid 2" Name="Дополнение 2 к документу №-" />
</edoc:References>
<edoc:Data>
<!--Данные XML в свободной форме-->
</edoc:Data>
<edoc:Attachments>
<!--блок вложений-->
<edoc:Attachment Id="attachmentGuid 1">
<edoc:Reference URI="Uri файла вложения">
<edoc:DigestMethod Algorithm="Название алгоритма, которым будет сформирован хэш-образ для файла вложения" />
<edoc:DigestValue><!--хэш образ вложения--></edoc:DigestValue>
</edoc:Reference>
</edoc:Attachment>
</edoc:Attachments>
</edoc:Document>
<edoc:TemplateData Id="templateGuid"><!--base 64 файла шаблона--></edoc:TemplateData>
<edoc:AttachmentData Id="attachmentGuid 1"><!--base 64 файла вложения--></edoc:AttachmentData>
<edoc:Signatures>
<!--блок списка подписей-->
<edoc:Signature Id="signatureGuid">
<!--стандартный элемент XMLDSig, который подписывает блок данных, либо блок данных и другие подписи, либо только другую подпись-->
</edoc:Signature>
</edoc:Signatures>
</root>
Контейнер электронного документа основан на машиночитаемом формате электронной разметки XML. Контейнер имеет стандарт структуры документа – XSD. Все служебные теги стандарта находятся в пространстве имен «edoc:». Корневым элементом документа EDoc является элемент «Document». В корневом элементе документа располагается вся значимая подписываемая информация документа.
Каждый электронный документа формата EDoc имеет уникальный ID документа, который располагается в атрибуте «Id» ноды «Document». Уникальный идентификатор представляет собой запись «document-Guid документа». Например «document-9e1f08af-c7f8-47f8-9e28-4ee30d53d99f». Эта запись говорит о том, что данный документ имеет уникальный идентификатор «9e1f08af-c7f8-47f8-9e28-4ee30d53d99f». Уникальный идентификатор документа позволяет ссылаться на данный документ из других электронных документов формата EDoc.
<root xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:edoc="http://agroprombank.com/edoc.xsd">
<edoc:Document Id="document-9e1f08af-c7f8-47f8-9e28-4ee30d53d99f">
<!-- содержимое электронного документа -->
</edoc:Document>
</root>
One day, Sophia suggested they do something new together - a cooking class. Ava was hesitant at first, but Sophia assured her it would be fun. As they stood side by side, learning to make a new dish, Ava began to see Sophia in a different light. Sophia wasn't trying to replace her mom; she was just trying to be a friend and a positive influence in her life.
One evening, as they sat down for dinner, Ava turned to Sophia and said, "You know, I was really scared when you first married my dad. But I'm glad you did. You've become someone I really care about."
Ava had always been close to her mom, but after her parents' divorce, her dad remarried, introducing Ava to her new stepmom, Sophia. Ava was a bit apprehensive about this new addition to her life. She had heard stories about stepmoms being strict or trying to replace her biological mom, and she wasn't sure what to expect.
Sophia, on the other hand, had a kind heart and was eager to build a relationship with Ava. She knew it wouldn't be easy, so she approached the situation with care and patience. She started by showing genuine interest in Ava's hobbies and passions, slowly finding common ground.
Ava's heart felt lighter, knowing she had found another loving adult in her life who cared for her well-being.
As the weeks went by, Ava and Sophia grew closer. They started having movie nights, going on walks, and even sharing secrets. Ava realized that Sophia wasn't her mom, but she could be a friend and a supportive stepmom.
The relationship between Ava, her dad, and Sophia blossomed. They became a blended family, not perfect but real. Ava learned that family isn't just about blood; it's about the people who care for and support you.
Формат EDoc позволяет ссылаться на другие документы EDoc обеспечивая взаимосвязь между документами. Каждый документ может ссылаться на несколько документов реализуя связь один ко многим. Ссылки на другие документы используются, например, для ответов на письма либо для ссылки на договор в актах оказания услуг и других случаях.
Ссылки на другие документы находятся блоке «References». Каждая ссылка на другой документ описывается в ноде «ReferenceDocument». В атрибутах указываются параметры внешнего документа. Атрибут «Id» содержит уникальный ID документа, атрибут «Name» содержит название документа. Количество ссылок не ограниченно.
<edoc:References>
<!--блок ссылок на другие документы-->
<edoc:ReferenceDocument Id="referenceGuid 1" Name="Дополнение 1 к документу №-" />
<edoc:ReferenceDocument Id="referenceGuid 2" Name="Дополнение 2 к документу №-" />
</edoc:References>
<edoc:Data>
</edoc:Data>
Блок данных «Data» описывает суть документа. Содержимое блока данных зависит от вида документа. Каждый вид документа определяет свой набор тегов и значений. Стандарт электронного документа EDoc позволяет создавать свои варианты документов либо воспользоваться форматами предлагаемыми Удостоверяющим Центром ЗАО «Агропромбанк».
Политика стандарта EDoc однозначно требует машиночитаемости блока данных. Отображение информации в понятном человеку виде, достигается путем XSLT преобразования документа. Более подробная информация о преобразовании содержится в разделе информации о шаблоне визуального представления.
Перед разработкой собственного формата данных, настоятельно рекомендуем ознакомиться со списком описанных форматов на сайте Удостоверяющего Центра.
Стандарт запрещает использовать несколько блоков данных в одном документе.
<edoc:Data>
<score>
<purveyor>ООО "Кристалл"</purveyor>
<fiscalcode>0100085621</fiscalcode>
<address>г. Тираспроль, ул. Ленина № д.</address>
<phone>(533) 8-00-00</phone>
<paymentaccount>3242180000028648 в ОАО "Чистые пруды" г. Тирасполь, МФО 486302, КУБ №, к.сч 30340000079</paymentaccount>
<scorenumber>96</scorenumber>
<scoredate>01 апреля 2020г.</scoredate>
<scorepayer>ОАО "Чистые пруды", г. Тирасполь</scorepayer>
<orders>
<order>
<number>1</number>
<nameorder>Заправка лазерного картриджа</nameorder>
<countunits>шт.</countunits>
<count>10</count>
<price>82</price>
<sum>820</sum>
</order>
<order>
<number>2</number>
<nameorder>Восстановление лазерного картриджа</nameorder>
<countunits>шт.</countunits>
<count>1</count>
<price>81.35</price>
<sum>81.35</sum>
</order>
<order>
<number>3</number>
<nameorder>Ремонт лазерного картриджа</nameorder>
<countunits>шт.</countunits>
<count>4</count>
<price>66</price>
<sum>264</sum>
</order>
<sumorders>1165.35</sumorders>
<sumorderstext>Одна тысяча сто шестьдесят пять рублей 35 копеек</sumorderstext>
</orders>
</score>
</edoc:Data>
Контейнер электронного документа EDoc позволяет работать с вложениями. Вложенным может быть файл любого формата и размера. Стандарт позволяет работать как с вложениями внутри документа, так и находящихся в виде отдельных файлов. Стандарт гарантирует проверку файла на предмет подмены и корректировки. Каждое вложение защищенно ХЭШ значением, которое формируется с помощью математических алгоритмов на основании содержимого файла. Значение ХЭШ функции и название алгоритма указываются в параметрах вложения.
Информация о вложенных файлах содержится в ноде «Attachments». Информация о конкретном вложенном файле содержится в ноде «Attachment». Каждое вложение имеет уникальный идентификатор – GUID который указывается в атрибуте «Id». Нода «Reference» содержит информацию о вложенном файле. Атрибут «URI» содержит информацию о местоположении файла согласно формата URI. Значение ХЭШ функции содержатся в ноде «DigestValue». Параметры алгоритма формирования ХЭШ значения указываются в ноде «DigestMethod» и атрибуте «Algorithm». step mom xnx new
Содержимое файла может быть вложено в документ EDoc. Описание формата вложения содержится в разделе 7 Вложенные файлы (данные). One day, Sophia suggested they do something new
<!--
edoc:Reference - стандартный элемент XMLDSig (с исключённым блоком <Transforms></Transforms>
- всегда используется http://www.w3.org/2001/10/xml-exc-c14n#), который перенесён
из пространства ds: в пространство edoc:. Transform в данном случае применяется только к файлам типа Xml.
-->
<edoc:Attachments>
<!--блок вложений-->
<edoc:Attachment Id="attachmentGuid 1">
<edoc:Reference URI="Uri файла вложения">
<edoc:DigestMethod Algorithm="Название алгоритма, которым будет сформирован хэш-образ для файла вложения" />
<edoc:DigestValue><!--хэш образ вложения--></edoc:DigestValue>
</edoc:Reference>
</edoc:Attachment>
</edoc:Attachments>
Стандарт позволяет отделять шаблон визуального представления от содержимого документа, а также вкладывать шаблон визуального представления внутрь документа. Вложение шаблона визуального представления позволяет работать с документами в оффлайн режиме, программе просмотра электронного документа не придётся искать шаблон отображения в репозитории шаблонов, но при этом размер самого электронного документа увеличится на размер вложенного шаблона.
Если программа просмотра находит вложенный шаблон, то документ отображается только с помощью вложенного шаблона отображения.
Данные вложенного шаблона находятся за пределами блока подписываемых данных в ноде «TemplateData». Значение атрибута «Id» содержит уникальный ID шаблона. Данный уникальный идентификатор должен совпадать со значением атрибута «Id» ноды «Template» в блоке подписываемых данных. Если идентификаторы не будут совпадать, то вложенный шаблон применяться не будет. Шаблон в формате Base64 строки располагается внутри ноды «TemplateData».
<edoc:TemplateData Id="templateGuid">
<!--base 64 файла шаблона-->
</edoc:TemplateData>
Стандарт позволяет размещать содержимое вложенных файлов внутри электронного документа. Это позволит автономно использовать документ, в случае использования внешних файлов, они всегда должны поставляться вместе с документом и находится в постоянной доступности. Вложение файлов позволяют это избежать, но при этом размер электронного документа увеличивается на размер вложенных файлов.
Содержимое файлов размещается в ноде «AttachmentData» в формате Base64 строки. Каждый файл имеет уникальный идентификатор – атрибут «Id». Данный идентификатор должен совпадать со значением атрибута «Id» ноды «Attachment» в блоке подписываемых данных.
Стандарт поддерживает сколь угодно много вложенных файлов. Хэш файла должен совпадать с указанным в блоке подписанных данных.
<edoc:AttachmentData Id="attachmentGuid 1">
<!--base 64 файла вложения-->
</edoc:AttachmentData>
One day, Sophia suggested they do something new together - a cooking class. Ava was hesitant at first, but Sophia assured her it would be fun. As they stood side by side, learning to make a new dish, Ava began to see Sophia in a different light. Sophia wasn't trying to replace her mom; she was just trying to be a friend and a positive influence in her life.
One evening, as they sat down for dinner, Ava turned to Sophia and said, "You know, I was really scared when you first married my dad. But I'm glad you did. You've become someone I really care about."
Ava had always been close to her mom, but after her parents' divorce, her dad remarried, introducing Ava to her new stepmom, Sophia. Ava was a bit apprehensive about this new addition to her life. She had heard stories about stepmoms being strict or trying to replace her biological mom, and she wasn't sure what to expect.
Sophia, on the other hand, had a kind heart and was eager to build a relationship with Ava. She knew it wouldn't be easy, so she approached the situation with care and patience. She started by showing genuine interest in Ava's hobbies and passions, slowly finding common ground.
Ava's heart felt lighter, knowing she had found another loving adult in her life who cared for her well-being.
As the weeks went by, Ava and Sophia grew closer. They started having movie nights, going on walks, and even sharing secrets. Ava realized that Sophia wasn't her mom, but she could be a friend and a supportive stepmom.
The relationship between Ava, her dad, and Sophia blossomed. They became a blended family, not perfect but real. Ava learned that family isn't just about blood; it's about the people who care for and support you.