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 aufteilenDer 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.