2. Overview of the config file XML structure
Prev | Chapter 6. Configuration: the Metaproxy configuration file format | Next

## 2. Overview of the config file XML structure

All elements and attributes are in the namespace http://indexdata.com/metaproxy. This is most easily achieved by setting the default namespace on the top-level element, as here:

        <metaproxy xmlns="http://indexdata.com/metaproxy" version="1.0">

The top-level element is <metaproxy>. This contains a <dlpath> element, a <start> element, a <filters> element and a <routes> element, in that order. <dlpath> and <filters> are optional; the other two are mandatory. All four are non-repeatable.

The <dlpath> element contains a text element which specifies the location of filter modules. This is only needed if Metaproxy must load 3rd party filters (most filters with Metaproxy are built into the Metaproxy application).

The <start> element is empty, but carries a `route` attribute, whose value is the name of route at which to start running - analogous to the name of the start production in a formal grammar.

If present, <filters> contains zero or more <filter> elements. Each filter carries a `type` attribute which specifies what kind of filter is being defined (`frontend_net`, `log`, etc.) and contain various elements that provide suitable configuration for a filter of its type. The filter-specific elements are described in Reference. Filters defined in this part of the file must carry an `id` attribute so that they can be referenced from elsewhere.

<routes> contains one or more <route> elements, each of which must carry an `id` element. One of the routes must have the ID value that was specified as the start route in the <start> element's `route` attribute. Each route contains zero or more <filter> elements. These are of two types. They may be empty, but carry a `refid` attribute whose value is the same as the `id` of a filter previously defined in the <filters> section. Alternatively, a route within a filter may omit the `refid` attribute, but contain configuration elements similar to those used for filters defined in the <filters> section. (In other words, each filter in a route may be included either by reference or by physical inclusion.)

Prev | Up | Next
Chapter 6. Configuration: the Metaproxy configuration file format | Home | 3. An example configuration