KVItems Specification

We propose KVItems, a new simple format for storing and transferring key/value data. It is easily understood by looking at an example:

ID: HEE Type: Person Name: Hendrik Ewerlin About: Some text : with a second line Interest: Dev Interest: Philo ID: Dev Name: Software Development ID: Philo Name: Philosophy

KVItems consist of zero or more items, separated by an empty line (\r\n\r\n or \n\n). Items have one or more properties, which are separated by a line break (\r\n or \n). Properties have a key and a value. They are denoted key: value. Keys must not be empty or contain :, \r or \n. Line breaks in values are escaped by replacing \n with \n:  (Note the trailing space). Items can have multiple properties with the same key.

It is recommended to store KVItems in UTF-8 encoding with the mime type text/kvitems and the file extension .kvi.

Under Construction

This website is under construction. We will soon publish a set of useful modules (Schema, Views, Access, ...), a reference implementation / API and an online demo.