EBML
De Wikipedia, la enciclopedia libre
EBML, acrónimo de Extensible Binary Meta Language (Meta Lenguaje Binario Extendible), fue diseñado como una extensión binaria simplificada de XML, con el propósito de almacenar y manipular datos de forma jerárquica con campos de longitud variable.
Usa los mismos paradigmas que podemos encontrar en un archivo XML, separando sintaxis y semántica. De esa forma una librería genérica EBML podría leer cualquier formato basado en ella. La interpretación de los datos se deja a la aplicación específica que sabe cómo ha de manejar cada elemento (equivalente a las etiquetas XML).
Entre todas las ventajas de EBML, hay unas pocas limitaciones si lo comparamos con lo que puede conseguirse con XML:
- Actualmente no hay un equivalente a un DTD o esquema que permita definir elementos conocidos para un documento.
- Ninguna entidad (es decir, un elemento que pueda ser reemplazado por otro contenido) puede ser definida.
- No se permite incluir archivos externos (CSS, imágenes...).
Por lo demás, usando EBML tenemos ventajas como:
- Compatibilidad hacia arriba cuando el formato es actualizado. Algo raro en formatos binarios, a menos que se tenga espacio sin usar en el formato original.
- Tamaño ilimitado para los datos binarios.
- Muy eficiente en lo que se refiere al tamaño: sólo se escribe el espacio requerido para los datos (a menos que se requiera más espacio de forma específica para una mejor actualización posterior).