PDF (A4) PDF (letter) Music Notation

NIFFML - the XML representation of NIFF


NIFF is a binary interchange format for musical notation that is supported by several programs. Although binary, is has a hierarchical structure that resembles XML. NIFFML is an XML representation of NIFF.

Design principles

No microparsing

Microparsing is when you need an own parser to split an attribute to multiple values. Example: pageSize="100/140". While validating this pair is simple, it is laborious to use with XSLT/XPath. Therefore NIFFML uses two or more attributes in such cases.

Chunk Length Table

The Chunk Length Table makes no sense in an XML format. A NIFFML writer may include it for informal reasons. A NIFFML reader must not expect it.

String Length Table

New with NIFFML 2.0. The String Length Table solves a problem that doesn't exist in XML. In NIFF there is a table with strings and the strings are referred by offset where needed. NIFFML adds the offset as an attribute to each string. This solution keeps the NIFF structure and makes XSLT processing and validating easy.

Tags in NIFFML

New with NIFFML 2.0. In NIFFML 1.0, the content of tags was included as attributes in the corresponding chunk. While XSLT processing is acceptable, validating is not. In NIFFML 2.0 they are represented as child elements of the chunk elements.


My new eBook (in German)

Professionell Ankern - vom NLP-Practitioner bis zum Coaching and its Website

Copyright 1997-2019, Gerd Castan