В качестве компактного представления XML ( Extensible Markup Language ) были предложены различные двоичные форматы . Использование двоичного формата XML обычно снижает многословность XML-документов, тем самым также снижая стоимость синтаксического анализа [1], но препятствует использованию обычных текстовых редакторов и сторонних инструментов для просмотра и редактирования документа. Существует несколько конкурирующих форматов, но ни один из них еще не стал стандартом де-факто , хотя Консорциум World Wide Web принял EXI в качестве Рекомендации 10 марта 2011 года [2].
Двоичный XML - обычно используется в приложениях , где производительность стандартного XML является недостаточной, но способность преобразовать документ в и из формы (XML) , который будет легко просматривать и редактировать ценится. Другие преимущества могут включать в себя возможность произвольного доступа и индексации XML-документов.
Основная задача двоичного XML - создание единого широко принятого стандарта. Международная организация по стандартизации (ИСО) и Международный союз электросвязи (МСЭ) опубликовал Fast Infoset стандарт в 2007 и 2005 годах, соответственно. Другой стандарт (ISO / IEC 23001-1), известный как двоичный формат MPEG для XML ( BiM ), был стандартизирован ISO в 2001 году. BiM используется многими стандартами ETSI для цифрового и мобильного телевидения. Консорциум Open Geospatial обеспечивает Encoding Specification Binary XML ( в настоящее время Best Practice Paper) , оптимизированный для данных гео-связанные (GML) , а также эталоном для сравнения производительности Fast InfoSet, EXI, BXML и Deflate для кодирования / декодирования AIXM . [3]
Альтернативы двоичному XML включают использование традиционных методов сжатия файлов в XML-документах (например, gzip ); или используя существующий стандарт, такой как ASN.1 . Однако традиционные методы сжатия предлагают только преимущество уменьшения размера файла без преимущества уменьшения времени анализа или произвольного доступа. ASN.1 / PER составляет основу Fast Infoset , который представляет собой единый двоичный стандарт XML. Существуют также гибридные подходы (например, VTD-XML ), которые прикрепляют небольшой индексный файл к XML-документу для устранения накладных расходов на синтаксический анализ. [4]
Работа с двоичным XML
Проекты и форматы файлов, связанные с понятием двоичного XML, включают:
- Стандарт BiM от ISO , разработанный рабочей группой MPEG
- Fast Infoset , стандарт, опубликованный ISO / IEC и ITU-T
- Рекомендация W3C по эффективному обмену XML (EXI) , основанная на работе Efficient XML от AgileDelta, Inc.
- Расширяемый двоичный метаязык (EBML) от Matroska
- Двоичный XML WAP (WBXML)
- Двоичный формат .NET: структура данных XML от Microsoft ; реализация включена в .NET Framework 3.0 и новее.
- Язык двоичной разметки (BML)
Другие проекты, которые имеют функциональные возможности, связанные с бинарными представлениями (или конкурирующие с ними), включают:
- VTD-XML из проекта XimpleWare и VTD-XML
- Буферы протокола от Google
- Apache Thrift
- Служба распространения данных от OMG
- Apache Avro для больших данных
- Пакет приложений Android использует недокументированный двоичный формат XML. [5]
Смотрите также
- BSON
- Пакет сообщений
- CBOR
- Канонические S-выражения
Рекомендации
- ^ Горе производительности двоичного XML http://webservices.sys-con.com/read/250512.htm Архивировано 20 мая 2008 г. на Wayback Machine
- ^ Джон Шнайдер, Такуки Камия, редакторы, «Эффективный формат обмена XML (EXI) 1.0», Рекомендация W3C от 10 марта 2011 г. [1]
- ^ Тестирование сжатия AIXM 5.1: как конкурируют EXI, FI, BXML и deflate при работе с гео-связанными данными?
- ^ «Индексируйте документы XML с помощью VTD-XML» . Архивировано из оригинала на 2008-07-04 . Проверено 28 ноября 2007 .
- ^ «Где документирован двоичный XML-формат Android?» . Обмен стеками обратного проектирования .