1.2. XML format description

The storage format specifies the format of the XML to be saved as an attachment in the mail.

The fields in the XML file are written like this:

        <field>(type, default)</field>

If a field entry is the same as the default, then it's optional whether to write it or not - exception from this is the creation and last modification dates. If there are attributes with a limited amount of options, these are specified after the text.

All tag names, attribute names, and attribute values are case sensitive.

If a client sees a tag it does not understand, this tag must be preserved and saved back to the file. This allows for client specific tags. Outlook writes it client specific tags directly in a tnef file that is saved as an unreferenced attachment.

Each type of folder has it's own subclass of the specification. They all share this same and very simple XML header:

        <?xml version="1.0" encoding="UTF-8"?>

After this, we have a single node with the content of the file. One file can only hold one instance of the events, contacts, ... This looks like:

        <type version="1.0">
          Entry fields go here
        </type>

where <type> can be note, event, task, journal, or contact. If a client has a new type, it is allowed to implement this, but then other clients will not be able to handle the folder entry.

The version attribute denotes the version of this specification. Until a stable version is released, the number "1.0" is used.

Here is a short example of a note:

        <?xml version="1.0" encoding="UTF-8"?>
        <note version="1.0">
          Note stuff goes here
        </note>

1.2.1. Types Used

The types that each entry can be are: