.. _include: ***************************************************************************** INCLUDE ***************************************************************************** .. index:: pair: INCLUDE; MAP Wird beim Parsen der Mapdatei die INCLUDE Anweisung gefunden, wird sofort die einzubindende Datei geparst. Die einzubindende Datei darf alle Anweisungen enthalten die der Mapdatei-Syntax entsprechen. Zum Beispiel: .. code-block:: mapfile INCLUDE 'myLayer.map' Die Performanz wird bei mäßiger Benutzung nicht sonderlich beeinträchtigt. Für Hochperformante Anwendungen empfiehlt es sich die INCLUDEs in einer Vorverarbeitung durchzuführen um eine Mapdatei zu erstellen. Der C Pre-Prozessor kann ebenso benutzt werden. Er ist weitaus umfangreicher, erfordert aber eine andere Syntax. Notes ----- - Unterstützt in Versionen 4.10 und höher. - Der Name der einzubindenden Datei **MUSS** in Anführungszeichen geschrieben werden (einfache oder doppelte Anführungszeichen). - Es kann bis zu 5 Ebenen verschachtelt werden. - Die Dateiangabe kann alls absoluter Pfad oder (mit MapServer >= 4.10.1) als Angabe relativ zur Mapdatei erfolgen. - Die Fehlersuche wird erschwert, weil: 1) der Dateiname der Datei, in der ein Fehler auftritt, wird nicht ausgegeben 2) der Zeilenzähler nicht für jede Datei zurück gesetzt wird. Folgender Fehler tritt auf wenn die einzubindende Datei nicht gefunden wird: :: msyylex(): Unable to access file. Error opening included file "parks_include.map" Beispiel -------- :: MAP NAME "include_mapfile" EXTENT 0 0 500 500 SIZE 250 250 INCLUDE "test_include_symbols.map" INCLUDE "test_include_layer.map" END wobei test_include_symbols.map enthält: :: SYMBOL NAME 'square' TYPE VECTOR FILLED TRUE POINTS 0 0 0 1 1 1 1 0 0 0 END END und test_include_layer.map enthält: :: LAYER TYPE POINT STATUS DEFAULT FEATURE POINTS 10 10 40 20 300 300 400 10 10 400 END END CLASS NAME 'Church' COLOR 0 0 0 SYMBOL 'square' SIZE 7 STYLE SYMBOL "square" SIZE 5 COLOR 255 255 255 END STYLE SYMBOL "square" SIZE 3 COLOR 0 0 255 END END END