Se han propuesto varios formatos binarios como representaciones compactas para XML ( Extensible Markup Language ). El uso de un formato XML binario generalmente reduce la verbosidad de los documentos XML y, por lo tanto, también reduce el costo de análisis, [1] pero dificulta el uso de editores de texto comunes y herramientas de terceros para ver y editar el documento. Hay varios formatos en competencia, pero ninguno ha surgido como estándar de facto , aunque el Consorcio World Wide Web adoptó EXI como recomendación el 10 de marzo de 2011. [2]
El XML binario se utiliza normalmente en aplicaciones donde el rendimiento del XML estándar es insuficiente, pero se valora la capacidad de convertir el documento hacia y desde un formulario (XML) que se puede ver y editar fácilmente. Otras ventajas pueden incluir permitir el acceso aleatorio y la indexación de documentos XML.
El mayor desafío para XML binario es crear un estándar único y ampliamente adoptado. La Organización Internacional de Normalización (ISO) y la Unión Internacional de Telecomunicaciones (UIT) publicaron el estándar Fast Infoset en 2007 y 2005, respectivamente. Otro estándar (ISO / IEC 23001-1), conocido como formato MPEG binario para XML ( BiM ), ha sido estandarizado por ISO en 2001. BiM es utilizado por muchos estándares ETSI para TV digital y TV móvil. El Consorcio Geoespacial Abierto proporciona una especificación de codificación XML binaria (actualmente un documento de mejores prácticas) optimizado para datos geo-relacionados (GML) y también un punto de referencia para comparar el rendimiento de Fast InfoSet, EXI, BXML y desinflar para codificar / decodificar AIXM . [3]
Las alternativas al XML binario incluyen el uso de métodos tradicionales de compresión de archivos en documentos XML (por ejemplo, gzip ); o utilizando un estándar existente como ASN.1 . Los métodos de compresión tradicionales, sin embargo, ofrecen solo la ventaja de un tamaño de archivo reducido, sin la ventaja de un menor tiempo de análisis o acceso aleatorio. ASN.1 / PER forma la base de Fast Infoset , que es un estándar XML binario. También existen enfoques híbridos (por ejemplo, VTD-XML ) que adjuntan un pequeño archivo de índice a un documento XML para eliminar la sobrecarga del análisis. [4]
Esfuerzos de XML binario
Los proyectos y formatos de archivo relacionados con la noción de XML binario incluyen:
- Estándar BiM , de la ISO , desarrollado por el grupo de trabajo MPEG
- Fast Infoset , un estándar publicado por ISO / IEC e ITU-T
- Efficient XML Interchange (EXI) Recomendación W3C, basada en el trabajo de Efficient XML de AgileDelta, Inc.
- Metalenguaje binario extensible (EBML) de Matroska
- XML binario WAP (WBXML)
- Formato binario .NET: Estructura de datos XML de Microsoft ; la implementación incluida en .NET Framework 3.0 y posteriores.
- Lenguaje de marcado binario (BML)
Otros proyectos que tienen funcionalidades relacionadas con (o que compiten con) representaciones binarias incluyen:
- VTD-XML de XimpleWare y proyecto VTD-XML
- Búferes de protocolo de Google
- Apache Thrift
- Servicio de distribución de datos de OMG
- Apache Avro para Big Data
- El paquete de aplicaciones de Android utiliza un formato XML binario no documentado. [5]
Ver también
- BSON
- MessagePack
- CBOR
- Expresiones S canónicas
Referencias
- ^ El problema del rendimiento del XML binario http://webservices.sys-con.com/read/250512.htm Archivado el 20 de mayo de 2008 en la Wayback Machine.
- ^ John Schneider, Takuki Kamiya, eds., "Efficient XML Interchange (EXI) Format 1.0", Recomendación W3C 10 de marzo de 2011 [1]
- ^ Evaluación comparativa de compresión AIXM 5.1: ¿cómo compiten EXI, FI, BXML y deflate cuando se trata de datos relacionados con la geografía?
- ^ "Indexar documentos XML con VTD-XML" . Archivado desde el original el 4 de julio de 2008 . Consultado el 28 de noviembre de 2007 .
- ^ "¿Dónde se documenta el formato XML binario de Android?" . Intercambio de pila de ingeniería inversa .