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.)