Format der Konfigurationsdateien

Jeder Eintrag in der Systemkonfiguration hat einen Namen, unter dem ein Wert abgelegt ist. So kann beispielsweise unter dem Namen keepOldVersions der Wert YES abgelegt sein:

<configuration>
  ...
  <content>
    <keepOldVersions>true</keepOldVersions>
    ...
  </content>
</configuration>

Jeder Systemkonfigurationseintrag wird durch ein XML-Element repräsentiert. Der Name des öffnenden und schließenden Tags eines solchen Elements entspricht dem Namen des Eintrags, und der Inhalt des XML-Elements entspricht dem Wert des Eintrags.

Der Wert eines Eintrags in der Systemkonfiguration kann nicht nur eine Zeichenkette sein, sondern auch eine Liste von Zeichenketten oder ein sogenanntes Dictionary. Ein Dictionary fasst eine Liste von Name-Wert-Paaren unter einem Namen zusammen. Die Systemkonfiguration ist selbst ein Dictionary, das in den Konfigurationsdateien durch das Wurzelelement configuration repräsentiert wird.

Ein Haupteintrag in der Systemkonfiguration ist also ein Eintrag im configuration-Dictionary (wie content im obigen Beispiel). Ein Dictionary enthält als Wert eine beliebige Anzahl von Einträgen, jedoch keinen zusätzlichen Text:

<configuration>
  ...
  <mimeTypes>
    <html>text/html</html>
    <css>text/css</css>
    <gif>image/gif</gif>
    <zip>application/zip</zip>
  </mimeTypes>
  ...
</configuration>

Jeder Wert kann auch eine Liste sein. Eine Liste enthält unbenannte Werte in einer definierten Reihenfolge. Jedes Element einer Liste wird in den Konfigurationsdateien durch ein beliebiges XML-Element repräsentiert; vorzugsweise sollte jedoch listitem (list item ) oder das entsprechende Element aus CRUL (siehe das Handbuch Die XML-Schnittstelle ) verwendet werden. Das folgende Beispiel zeigt, wie die Liste der globalen Rechte, die im Content Manager verfügbar sein sollen, angegeben wird. Beachten Sie bitte, dass bei Listen das Tag-Attribut type mit dem Wert list angegeben werden muss:

<configuration>
  ...
  <globalPermissions type="list">
    <globalPermission>permissionGlobalRoot</globalPermission>
    <globalPermission>permissionGlobalUserEdit</globalPermission>
    <globalPermission>
      permissionGlobalUserAttributeEdit
    </globalPermission>
    <globalPermission>permissionGlobalRTCEdit</globalPermission>
    <globalPermission>permissionGlobalExport</globalPermission>
    <globalPermission>permissionGlobalMirrorHandling</globalPermission>
  </globalPermissions>  ...
</configuration>

Jedes Listenelement kann selbst wieder eine Liste oder auch ein Dictionary sein. Ebenso können die Werte von Dictionary-Einträgen Listen oder wiederum Dictionarys sein.

Konfigurationsdateien aufteilen

Der Umfang der einzelnen Konfigurationsdateien kann erheblich verringert werden, indem Konfigurationsabschnitte in separate Dateien ausgelagert werden. In der Standardinstallation wird von diesem Ersetzungsmechanismus häufig Gebrauch gemacht. So wird beispielsweise der Inhalt des Elements server, mit dem Client-Server-Verbindungen konfiguriert werden, folgendermaßen aus der Datei server.xml eingelesen:

<configuration>
  <server fileName="server.xml"/>
  ...
</configuration>

Mit dem Tag-Attribut fileName wird der Name der Datei angegeben, deren Inhalt das betreffende XML-Element ersetzen soll. Der angegebene Dateiname oder Dateipfad ist relativ zum Konfigurationsverzeichnis.