The XBD gem allows you to create, load and save XBD files. XBD files are arbitrary, self-describing, hierarchical, binary data structures consisting of "tags", "attributes", and "sub-tags".
XBD vs XML
- Any XML file can be converted to XBD, but the referse is not true.
- XBD allows you to store aribrary binary strings in attributes.
- XBD does not allow any data between sub-tags
- XBD Tag and Attribute names can be arbitrary binary string.
Additional benefits of XBD:
- XBD uses dictionaries (hashes) to store all Tag-Name, Attribute-Name and Attribute-Values. Consequently: XBD files can be as small as 1/10th the size an equivelent XML file
- XBD files are simple and streamlined for encoding/decoding. Consequently they can be as much as 10x faster to read and write.
(NOTE: The 10x performance improvement was tested on the original pure-C++ implementation vs a fast, pure-C++ XML parser. Tests have not been made in this Ruby version.)