|This article needs additional citations for verification. (July 2011) (Learn how and when to remove this template message)|
XMF (Extensible Music Format) is a tree-based digital container format used to bundle music-oriented content, such as a MIDI file and optionally the sounds it uses, liner notes or other content grouped by language-codes.
The first XMF definitions were to allow the bundling of a musical performance with the musical sounds used. For instance, a MIDI file could be stored together with a Downloadable Sounds file, and both files would travel together inside one XMF file. This specific use of an XMF file is referred to as XMF File Type 0 (streaming) or XMF File Type 1 (non-streaming), depending on whether the type of the MIDI file is 0 or 1, respectively.
There are currently five XMF File Types defined. The latest of which is XMF File Type 4 (counted from zero) and is called Interactive XMF (iXMF).
- Resources can be referenced internally (in the XMF file) or referenced externally using a URI.
- Resources can be country- and language-coded so that text could be shown in the right language depending on context.
- Resources can be compressed using ZLIB.
- Size information is stored using variable-length quantities, ensuring that the format can support an infinite number, while at the same time saving storage space.