====== CFG.XML ======
Zur Konfiguration werden in Primus **[[XML]]** -Dateien verwendet. In Primus wird, wie aber auch allgemein in XML, strikt zwischen Groß- und Kleinschreibung unterschieden. Die beiden folgenden Einträge sind __nicht__ identisch:
Darüber hinaus kann es für Primus problematisch sein wenn doppelte Leerzeichen, also zwei Leerzeichen hintereinander verwendet werden. Für XML ist dies prinzipiell zulässig, der [[Glossar#XML-Parser]] von Primus ist jedoch auf Geschwindigkeit optimiert und erkennt deswegen solche Einträge in XML u.U. nicht richtig. Insbesondere in Attributwerten mit denen Parameter an Primusfunktionen übergeben werden, führt dies dann zu Fehlfunktionen. In [[Notepad++]] können diese jedoch über einen regulären Ausdruck gefunden werden. Dieser lautet
\S\K[[:blank:|]]{2,} 'Sucht nach zwei und mehr Leerzeichen hintereinander, sofern diese nicht am Zeilenanfang sind
.
===== Kodierung =====
Die XML-Dateien müssen die Kodierung **UCS-2-LE-BOM** haben. Dateien die nicht diese Kodierung haben werden von Primus u.U. nicht als gültig anerkannt. Dies gilt insbesondere für die [[Primus Lizenzdatei]].
===== XML-Header =====
Der Header der XML Dateien sieht folgendermaßen aus.
Das führt allerdings beim Speichern mit [[Notepad++]] immer zu der Fehlermeldung **Document labeld UTF-16 but has UTF-8 content**.
===== Stammelement =====
Jede //.CFG.XML// __muss ein__ und __nur ein__ **Stammelement** enthalten. Dabei handelt es um ein [[Glossar#Tag]], das alle [[Abschnitte]] der Konfiguration enthält. Der Tag-Name lautet **PrimusFolderConfig**, und darf das Attribut **name** enthalten. Ist kein Name angegeben, dann wird in Primus am obersten Projektknoten auch kein Name angezeigt.
==== Beispiel ====
===== XML Dateien verlinken =====
**Hauptartikel** [[IncludeConfigLayers|Verlinken von Primus Konfigurationen]]\\
Es ist möglich die **CFG.XML** Datei in mehrere Dateien aufzuteilen und diese mit einem Kommando beim Starten von Primus zur Konfiguration dazu zu linken. Dadurch ist es möglich auf einer Basiskonfiguration aufbauend z.B. unterschiedliche Menüs für CAD, Office oder Viewer Arbeitsplätze zu definieren. Allgemeine Änderungen, z.B. ein zusätzliches Datenfeld in der XML oder ein [[Pflichtfeld]], sind dann automatisch in allen angepassten Konfigurationen enthalten.
===== Kommentare =====
Kommentare sind in den Primus Konfigurationsdateien nur eingeschränkt zulässig. Innerhalb bestimmter [[Abschnitte]], sind sie nicht zulässig, zwischen einigen Abschnitten schon. Wo ein [[Glossar#Kommentar]] erlaubt ist und wo nicht, wird in den einzelnen Abschnitten beschrieben. Kommentare werden am Beginn mit abgeschlossen. Ein Kommentar kann übe mehrere Zeilen gehen.
kommentierbare Bereiche werden mit dem Tag //Kommentierbar// gekennzeichnet.
{{tag>Kommentierbar}}
===== Platzhalter =====
Primus stellt zur Laufzeit Informationen in Form verschiedener [[Glossar#Platzhalter]] zur Verfügung, die für die Konfiguration von Befehlen gebraucht werden können. Beispiele sind ''%COUNTER%'' der die aktuelle Nummer aus dem Zähler liefert oder ''%FILEPATH%'' der den Namen der aktuell zu verarbeitenden Datei inkl. Pfad und [[Glossar#Dateiendung]] enthält.
Unter [[Liste aller Platzhalter]] findet sich eine komplette Liste der Platzhalter.
===== Siehe auch =====
*[[Glossar#XML|Glossar]]
*[[Liste aller Platzhalter]]
{{tag>Konfigurations-XML}}