Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
XML binary Optimized Packaging (XOP) — это механизм, определенный для сериализации XML информационных наборов (инфосетов), содержащих двоичные данные, а также для десериализации обратно в XML информационный набор.
XML binary Optimized Packaging (XOP) is a mechanism defined for the serialization of XML Information Sets (infosets) that contain binary data, as well as deserialization back into the XML Information Set.
Преимущества
XOP позволяет сериализовать двоичную часть XML Infoset без использования XML-сериализатора. Текстовая сериализация XML Infoset требует кодирования любых двоичных данных в формате base64. XOP позволяет избежать этого, извлекая двоичные данные из XML Infoset, чтобы XML Infoset не содержал двоичных данных, и эти данные могли быть сериализованы другим способом. Таким образом, XOP может уменьшить размер сериализованных данных (поскольку кодирование base64 увеличивает размер примерно на 33%) и (в зависимости от реализации) повысить эффективность обработки. Однако это приводит к увеличению объема данных и, соответственно, к дополнительным ресурсам, необходимым для их передачи или хранения.
XOP allows the binary data part of an XML Infoset to be serialized without going through the XML serializer. The XML serialization of an XML Infoset is text based, so any binary data will need to be encoded using base64. Using XOP avoids this by extracting the binary data out of the XML Infoset so that the XML Infoset does not contain binary data and the binary data can be serialized differently. Therefore, XOP can reduce the size of the serialization (since base64 encoding has approximately a 33% size overhead) and (depending on how it is implemented) might allow processing efficiencies. This size increase results in extra resources needed to transmit or store the data.
Расходы
XOP вводит дополнительный уровень обработки. Следовательно, это приводит к увеличению сложности и дополнительным затратам на обработку. Представление пакетов XOP также вносит некоторые накладные расходы. Эти накладные расходы пренебрежимо малы при работе с большими объемами бинарных данных, но могут быть существенными, если бинарные данные небольшие.
XOP introduces another level of processing. Therefore, it introduces extra complexity and processing overheads. The representation of the XOP packages introduces some overhead. These are negligible when the binary data is large, but could be significant if the binary data is small.
Операция
XOP работает с одним XML Infoset. Бинарные части исходного XML-инфосета извлекаются, в результате чего остается "XOP-инфосет" (по сути, это исходный XML-инфосет, в котором бинарные части заменены внешними ссылками). Эти ссылки в XOP-инфосете представлены с помощью элемента "xop:Include". XOP-инфосет вместе с извлеченным содержимым может быть сериализован в представление, называемое "XOP-пакетом". XOP-пакет может быть отправлен или сохранен. Для восстановления исходного XML-инфосета XOP-пакет десериализуется в XOP-инфосет и извлеченное содержимое, после чего извлеченное содержимое восстанавливается в исходном XML-инфосете.
XOP operates on a single XML Infoset. The binary parts of the original XML infoset are extracted out, leaving an "XOP Infoset" (which is essentially the original XML Infoset with the binary parts replaced by external references). The references in the XOP Infoset are represented using the "xop:Include" element. The XOP Infoset plus the extracted content can be serialized into a representation called the "XOP Package". The XOP Package can be sent or stored. To reconstitute the XML Infoset, the XOP Package is deserialized into the XOP Infoset plus the extracted content, and then the extracted content is put back into the XML Infoset.
Пакеты XOP
XOP может использоваться с различными механизмами упаковки. Механизм упаковки определяет способ представления набора данных XOP (XOP Infoset) и бинарных фрагментов. Спецификация XOP определяет, как MIME может быть использован в качестве механизма упаковки. При использовании с MIME набор данных XOP (XOP Infoset) представляется в виде XML в корневой части MIME, а бинарные фрагменты – в остальных частях MIME. Эти остальные части MIME могут быть сериализованы как бинарные данные, что позволяет избежать кодирования в Base64, если бы они оставались внутри набора данных XML (XML Infoset). XOP не предписывает обязательное использование механизма упаковки MIME, поэтому могут применяться и другие механизмы упаковки.
XOP can be used with a number of different packaging mechanisms. A packaging mechanism defines how the XOP Infoset and the binary chunks are represented. The XOP specification defines how MIME can be used as a packaging mechanism. When used with MIME, the XOP Infoset is represented as XML in the root MIME part, and the binary chunks are represented in the other MIME parts. Those other MIME parts can be serialized as binary data, avoiding the need to base64 encode them if they were left inside the XML Infoset. XOP does not mandate the use of the MIME packaging mechanism, so other packaging mechanisms could be used.