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).
The specifications for the XMF was first published in 2001 by the MMA.
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.