InnoTecSol >ICS >ICS Version: 0.7.2425 Documentation >Format
ICS Version: 0.7.2425
Format

The ics configuration is stored in a configuration file, which must be a valid xml file conforming the xml notation.

Note: All ICS tags and attribute names are upper case letters.

The ICS configuration is introduced by the ICSCONFIG tag.


<ICSCONFIG VERSION="1.0">
	

The VERSION attribute specifies the definition of the configuration used and is currently not evaluated. However configurations should use the value 1.0 to allow differentiation if at a later point a new definition should be introduced.

Everything contained within the ICSCONFIG tag is considered ics configuration items.


<?xml version="1.0" encoding="utf-8"?>
<ICSCONFIG VERSION="1.0">
	<EXTLIBS>
		<LIB>...</LIB>
	</EXTLIBS>
	<PROTOCOLS>
		<PROTOCOL ID="1">HTTP</PROTOCOL>
		<PROTOCOL ID="2">HTTPS</PROTOCOL>
	</PROTOCOLS>
	<LISTENER>
		<INTERFACE ...>
			...
		</INTERFACE>
		<EXTENSIONSPECIFIC:CONFIG...>
			...
		</EXTENSIONSPECIFIC:CONFIG>
	</LISTENER>
	<LISTENER>
		<INTERFACE ...>
			...
		</INTERFACE>
		<EXTENSIONSPECIFIC:CONFIG...>
			...
		</EXTENSIONSPECIFIC:CONFIG>
	</LISTENER>
</ICSCONFIG>
	

The configuration comprises

ICS extension libraries can introduce extension library specific sections. These have an extension specific namespace to prevent name clashes.

The ics configuration file supports includes to merge content of other configuration files.

Files can be included by the ICSINCLUDE tag.


<ICSINCLUDE FILE="file-to-include.xml">
	

The FILE attribute specifies the name of the file whose content should replace the ICSINCLUDE tag.

Note: The file name specified in the FILE attribute is relative to the main ics configuration file path.

The files to include must conform to the ICS configuration format, meaning it must contain a ICSCONFIG tag. Only content within the ICSCONFIG tag is merged into the configuration.

Includes can be nested. Thus an include contained in the main configuration can contain another include instruction and so on.

Example

Main configuration file etc/ics.xml


<?xml version="1.0" encoding="utf-8"?>
<ICSCONFIG VERSION="1.0">
	<EXTLIBS>
		<LIB>...</LIB>
	</EXTLIBS>
	<PROTOCOLS>
		<PROTOCOL ID="1">HTTP</PROTOCOL>
		<PROTOCOL ID="2">HTTPS</PROTOCOL>
	</PROTOCOLS>
	<LISTENER>
		<ICSINCLUDE FILE="listener1.xml" />
	</LISTENER>
	<LISTENER>
		<ICSINCLUDE FILE="listener2.xml" />
	</LISTENER>
</ICSCONFIG>
	

The first listener configuration file etc/ics-listener1.xml


<?xml version="1.0" encoding="utf-8"?>
<ICSCONFIG VERSION="1.0">
		<INTERFACE ...>
			...
		</INTERFACE>
		<EXTENSIONSPECIFIC:CONFIG...>
			...
		</EXTENSIONSPECIFIC:CONFIG>
</ICSCONFIG>
	

The second listener configuration file etc/ics-listener2.xml


<?xml version="1.0" encoding="utf-8"?>
<ICSCONFIG VERSION="1.0">
		<INTERFACE ...>
			...
		</INTERFACE>
		<EXTENSIONSPECIFIC:CONFIG...>
			...
		</EXTENSIONSPECIFIC:CONFIG>
</ICSCONFIG>