Property List

Eine Property List ist eine hierarchische Datenstruktur. Es gibt die folgenden elementaren Datentypen:

string - Zeichenketten,
integer - Ganzzahlen,
real - Gleitkommazahlen,
boolean - Wahrheitswerte,
date - Datumswerte und
data - Binärdaten.

Als strukturierte Datentypen sind erlaubt:

array - Sequenzen und
dict - Name-Wert-Paare.

Innerhalb der strukturierten Datentypen dürfen elementare und wiederum strukturierte Datentypen auftreten.

Property Lists können als XML repräsentiert werden:

<plist version="1.0">
[<string>... Zeichenkette ...</string>
|<integer>... Ganzzahl ...</integer>
|<real>... Gleitkommazahl ...</real>
|<true />
|<false />
|<date>... Datum ...</date>
|<data>... Binärdaten Base64 codiert ...</data>
|<array>[... String, Integer, Real, Boolean, Date, Data, Array oder Dict ...]*</array>
|<dict>[<key>... Name ...</key>[... String, Integer, Real, Boolean, Date, Data, Array oder Dict ...]]*</dict>
</plist>

Ein Beispiel für eine Property List findet sich im Do you Lisp Wiki. Dort wird eine Property List verwendet, um die Fehlermeldungstexte von der Präsentationslogik zu trennen:

<plist version="1.0">
<dict>
<key>de</key>
<dict>
<key>login-reject</key>
<string>Leider passen die eMail Adresse und das Passwort nicht oder Du bist noch nicht von einem Mitglied aufgenommen worden.</string>
<key>password-wrong</key>
<string>Bitte das alte Passwort überprüfen.</string>
[...]
</dict>
</dict>
</plist>


Quellen

http://developer.apple.com/documentation/Darwin/Reference/ManPages/man5/plist.5.html
http://www.gnustep.org/resources/documentation/Developer/Base/Reference/NSPropertyList.html