Configuration

As usual, the Calyxo Panels component is configured per module in one or more XML configuration files.

Namespace

Each Calyxo component uses its own separate namespace for configuration elements. The elements described in the following sections are defined within namespace http://calyxo.odysseus.de/xml/ns/panels.

Schema/DTD Validation

When loading configuration files, Calyxo forces the XML parser to validate documents against an XML Schema definition (XSD) or a Document Type Declaration (DTD). Calyxo prefers XML Schema validation, so, if your parser supports it, it is used. Otherwise, DTD validation is used. In this case, configuration files must declare the Calyxo Panels document type:

<!DOCTYPE calyxo-panels-config
  PUBLIC "-//Odysseus Software GmbH//DTD Calyxo Panels 0.9//EN"
  "calyxo-panels-config.dtd">

Copies of the DTD and XSD are located at CALYXO_HOME/calyxo-panels/conf/share/calyxo-panels-config.*.

Note
Even if your parser supports XSD, you may want to include the DTD declaration in your documents. A reason can be the use of an XML editor, which supports code assistance only for DTDs. Regardless of that, Calyxo will try to use XML Schema validation during parse.

Document structure

The root element is <calyxo-panels-config>. As common to all of Calyxo's configuration files, the root element specifies the xmlns and version attributes and may optionally contain <base:import> elements, followed by <base:functions>, <base:set> and <base:use> elements.

Following these common elements, the root contains one ore more <panels> elements. A <panels> element can be associated with a locale by specifying the language, country and variant attributes. This advanced feature is covered in the i18n section.

For now, let's consider the usual case, where we have exactly one <panels> section, without specifying a locale. Thus, our configuration document looks like this:

<calyxo-panels-config version="0.9"
  xmlns="http://calyxo.odysseus.de/xml/ns/panels"
  xmlns:base="http://calyxo.odysseus.de/xml/ns/base">

  <!-- base:import elements can go here -->
  <!-- base:functions, base:set and base:use
       elements can go here -->

  <panels>

    <!-- panel definitions go here -->

  </panels>

</calyxo-panels-config>

A <panels> element contains one or more panel definitions.