Двоичный формат XML
Эффективный XML-обмен ( EXI ) — это двоичный XML- формат для обмена данными в компьютерной сети. Он был разработан рабочей группой W3C по эффективному расширяемому обмену и является одной из самых выдающихся попыток кодировать XML- документы в двоичном формате данных , а не в виде простого текста. Использование формата EXI снижает многословность XML-документов, а также стоимость анализа. Улучшения в производительности записи (генерации) контента зависят от скорости носителя, на который выполняется запись, методов и качества фактических реализаций. EXI полезен для
- полный диапазон размеров XML-документов: от десятков байт до терабайт
- сокращение вычислительных затрат для ускорения анализа сжатых документов
- увеличение выносливости небольших устройств за счет использования эффективной декомпрессии
История
Консорциум Всемирной паутины (W3C) сформировал рабочую группу для стандартизации формата в марте 2006 года. EXI был выбран в качестве двоичного формата XML W3C после оценки различных предложений, включая Fast Infoset . [1] Формат EXI является производным от формата AgileDelta Efficient XML. [2] [3]
EXI был принят в качестве рекомендации W3C W3C 10 марта 2011 года. Второе издание было опубликовано в феврале 2014 года. [4]
В ноябре 2016 года рабочая группа была переименована из «Эффективного XML-обмена (EXI)» в «Эффективный расширяемый обмен (EXI)», чтобы отразить более широкую сферу применения EXI за пределами XML и других языков описания данных. [5]
Функции
Преимущество EXI над Fast Infoset заключается в том, что EXI (опционально) использует больше ограничений из схемы XML . Это может сделать данные EXI более компактными; например, если схема XML указывает, что элементы с именем 'bar' могут существовать только внутри элементов с именем 'foo', EXI может назначить более короткий токен элементу 'bar', зная, что ему не нужно разделять то же пространство токенов, что и элементы, которые встречаются в другом месте документа. Главный недостаток использования такого сжатия "на основе схемы" заключается в том, что не только документ требует схему, но и декодеру нужна копия той же схемы, которую использовал кодировщик.
Использует
Доступны различные приложения с поддержкой EXI. [6]
Доступны различные реализации EXI, которые позволяют интегрировать возможности EXI в другие инструменты. [7]
По теме: EXI также адаптируется для форматов данных, отличных от XML.
- EXI4JSON — это спецификация, разработанная той же рабочей группой для использования того же формата для документов JSON . [8]
EXI был рекомендован для использования в Глобальной информационной сети Министерства обороны США . [9]
Будущая работа
Рабочая группа EXI продолжает реализовывать многочисленные экспериментальные инициативы.
- EXI4CSS изучает, как сопоставить каскадные таблицы стилей (CSS) с EXI. [5]
- EXI для JavaScript, по-видимому, возможен, если использовать начальное структурированное дерево синтаксического анализа для исходного кода. [5]
- Рассмотрение потенциальной композиции XML EXI с XML-шифрованием и XML-цифровой подписью.
Ссылки
- ^ Робин Берйон; Яакко Кангашарью, ред. (20 июля 2006 г.). «Анализ измерений EXI». W3C . Получено 23 сентября 2016 г. .
- ^ «Молниеносная доставка XML на большее количество устройств в большем количестве мест». AgileDelta. 5 ноября 2015 г. Получено 23 сентября 2016 г.
- ^ Мишра, Манви; Гупта, Прабхакар; и др. (2024). «Быстрое и плотно упакованное XML-решение с эффективным расширяемым обменом (EXI)». В Трипати, Суман Лата; и др. (ред.). Новые тенденции в области Интернета вещей и вычислительных технологий . CRC Press. doi : 10.1201/9781003535423-74. ISBN 9781003535423.
- ^ "Efficient XML Interchange Working Group". Публичный веб-сайт . W3C . Получено 23 сентября 2016 г.}
- ^ abc Peintner, Daniel (22 ноября 2016 г.). "Эффективное представление веб-форматов". Блог W3C . W3C. Архивировано из оригинала 23 августа 2024 г.
- ^ EXI Working Group (28 марта 2017 г.). "EXI Deployment". Публичная страница EXI Working Group . World Wide Web Consortium . Получено 28 марта 2017 г.
- ^ Рабочая группа EXI (28 марта 2017 г.). "Реализации EXI". Публичная страница рабочей группы EXI . Консорциум World Wide Web . Получено 28 марта 2017 г.
- ^ Дэниел Пейнтнер; Дон Брутцман, ред. (23 августа 2016 г.). "EXI для JSON (EXI4JSON)". Публичный рабочий проект . Консорциум Всемирной паутины . Получено 23 сентября 2016 г.
- ^ Шелдон Л. Снайдер (1 марта 2010 г.). "Эффективное сжатие XML-обмена (EXI) и преимущества производительности: разработка, реализация и оценка" (PDF) . Магистерская работа . Аспирантская школа ВМС США (NPS) . Получено 23 сентября 2016 г. .
Внешние ссылки
- Эффективный формат обмена XML 1.0 (рекомендация W3C)
- Эффективная оценка обмена XML (заметка рабочей группы)
- EXIficient - EXIficient представляет собой набор реализаций формата W3C Efficient XML Interchange (EXI) с открытым исходным кодом.
- EXIP — реализация на языке C с открытым исходным кодом
- Nagasena — реализация формата EXI 1.0 с открытым исходным кодом на Java/C#, предоставленная FUJITSU.
- Efficient XML™ — коммерческая реализация спецификации EXI на Java, .NET, C и C++
- Exi-Connexion — реализация рабочего проекта EXI на Java с открытым исходным кодом от 26 марта 2008 г. ([1])
- OSS EXI Tools для C/C++ и OSS EXI Tools для .NET — коммерческая реализация EXI (прототипная версия) от OSS Nokalva