Искусство программирования для Unix.

5.2.6. Формат Windows INI.

Многие программы в Microsoft Windows используют текстовый формат данных, подобный фрагменту, приведенному в примере 5.6. В данном примере необязательные ресурсы с именами account, directory, numeric_id и developer связываются с именованными проектами python, sng, fetchmail и py-howto. В записи DEFAULT указаны значения, которые используются в случае, если они не предоставляются именованными записями.

Пример 5.6. Формат Windows INI.

[DEFAULT].

Account = esr.

[python].

Directory = /home/esr/cvs/python/

Developer = 1.

[sng].

Directory = /home/esr/WWW/sng/

Numeric_id = 1012.

Developer = 1.

[fetchmail].

Numeric_id = 18364.

[py-howto].

Account = eric.

Directory = /home/esr/cvs/py-howto/

Developer = 1.

Такой стиль формата файлов данных не характерен для операционной системы Unix, однако некоторые Linux-программы (особенно Samba, пакет средств доступа к Windows-файлам из Linux) под влиянием Windows поддерживают его. Данный формат является четким и неплохо спроектированным, однако, как и в случае XML, grep(1) или традиционные средства сценариев Unix не обрабатывают его должным образом.

.INI-формат целесообразно использовать, если данные естественным образом соответствуют его двухуровневой организации пар "имя-атрибут", собранных в группы в именованных записях или секциях. Он плохо подходит для данных с полностью рекурсивной древовидной структурой (для этого лучше подходит XML), и является избыточным для простого списка связей "имя-значение" (в этом случае лучше использовать DSV).