Das Property-List-Format

In einer Property List (Eigenschaftenliste) werden Namen Werte zugewiesen. Dies geschieht nach folgendem Muster:

name = wert;

Jede Zuweisung wird durch ein Semikolon abgeschlossen. Die Werte in Property Lists können Zeichenketten (Strings), Dictionarys (Listen von Name-Wert-Paaren) oder Arrays (Listen von Werten) sein.

String

Ein String ist eine Zeichenkette, die von Anführungszeichen umschlossen ist oder aus einer beliebigen Kombination der Zeichen ’a’ - ’z’, ’A’ - ’Z’, ’0’ - ’9’ und dem Unterstrich ’_’ besteht.

Zulässige Zeichenketten sind beispielsweise:

Zeichenkette
"Kette aus Zeichen"

Anführungszeichen können in Zeichenketten, die von Anführungszeichen umschlossen sind, verwendet werden, indem ihnen wie im folgenden Beispiel ein umgekehrter Schrägstrich vorangestellt wird:

"Das Wort \"und\" besteht aus drei Zeichen"

Dictionary

Ein Dictionary ist eine Liste von Name-Wert-Paaren, die mit einer öffnenden geschweiften Klammer eingeleitet und mit einer schließenden geschweiften Klammer abgeschlossen wird:

server = {
  host = localhost;
  tclPort = 3001;
  secondPort = 3002;
};

Jeder Wert eines Name-Wert-Paares in einem Dictionary kann ein String, ein Array oder wiederum ein Dictionary sein.

Array (Liste)

Ein Array ist eine Liste von Zeichenketten, Dictionarys oder Arrays, die mit einer öffnenden runden Klammer eingeleitet und einer schließenden runden Klammer abgeschlossen wird. Die Elemente in einer Liste werden durch ein Komma voneinander getrennt. Die folgenden Beispiele enthalten zulässige Arrays:

name1 = (Ein, Array, mit, "fünf", Elementen);
name2 = ((Ein, Array), mit, (drei, Elementen));
name3 = (
  {
  name1 = Ein;
  name2 = Array;
  },
  {
  name3 = aus;
  name4 = (zwei, Dictionarys);
  }
);

Kommentare

Property Lists können Kommentare enthalten. Zwei Schrägstriche leiten einen Kommentar ein, der den Rest der Zeile umfasst:

// Dies ist der erste Kommentar

Kommentare, die von Daten umschlossen sind, müssen wie in folgendem Beispiel mit der Zeichenfolge „/*" eingeleitet und der Zeichenfolge „*/" abgeschlossen werden:

/* Dies ist der zweite Kommentar */