Chapter 9. The Lire Report Configuration Markup Language
Prev | Part III. Developer's Reference | Next

## Chapter 9. The Lire Report Configuration Markup Language

## The Lire Report Configuration Markup Language

Document Type Definition for the Lire Report Configuration Markup Language.

This DTD defines a grammar that is used to store the Lire configuration. The configuration is stored in one or more XML files. Parameters set in later configuration files override the ones set in the formers. The valid parameter names as well as their description and type are specified using configuration specification documents.

Elements of this DTD use the http://www.logreport.org/LRCML/ namespace, which is usually mapped to the `lrcml` prefix.

The latest version of the DTD is 1.0 and its public identifier is -//LogReport.ORG//DTD Lire Report Specification Markup Language V1.0//EN™. Its canonical system identifier is http://www.logreport.org/LRCML/1.0/lrcml.dtd.

    <!--
                                                                       -->

    <!--                    Namespace prefix for validation using the
                            DTD                                        -->
    <!ENTITY % LRCML.xmlns.pfx    "lrcml"                                 >
    <!ENTITY % xmlns.colon       ":"                                     >
    <!ENTITY % LRCML.pfx          "%LRCML.xmlns.pfx;%xmlns.colon;"         >
    <!ENTITY % LRCML.xmlns.attr.name "xmlns%xmlns.colon;%LRCML.xmlns.pfx;" >
    <!ENTITY % LRCML.xmlns.attr
      "%LRCML.xmlns.attr.name; CDATA #FIXED 'http://www.logreport.org/LRCML/'">

    <!-- For the module which we are including                          -->
    <!ENTITY % LIRE.pfx           "%LRCML.pfx;"                          >

Each configuration specification is an XML document which has one `config` as its root element.

    <!ENTITY % LRCML.config          "%LRCML.pfx;config"                   >
    <!ENTITY % LRCML.global          "%LRCML.pfx;global"                   >
    <!ENTITY % LRCML.param           "%LRCML.pfx;param"                    >

### `config` element

Root element of a configuration document. It contains presently only one `global` element which is used to hold the global configuration parameters.

This element doesn't have any attributes.

    <!ELEMENT %LRCML.config; (%LRCML.global;)                              >
    <!ATTLIST %LRCML.config;
                 %LRCML.xmlns.attr;                                       >

### `global` element

This element starts the global configuration data. (This is the only scope currently defined). It contains a list of `param` elements.

    <!ELEMENT %LRCML.global; (%LRCML.param;)+                              >

### `param` element

This element contains the parameter's value. The parameter's name is defined in the `name` attribute.

The `value` attribute can be used to store scalar's value.

When the parameter's type is a list, the values are stored in children `param` elements.

### Warning

This element has a mixed content type. We should probably use a `value` attribute to hold scalar values.

    <!ELEMENT %LRCML.param; (#PCDATA|%LRCML.param;)*                       >
    <!ATTLIST %LRCML.param;
                 name      NMTOKEN                             #REQUIRED
                 value     CDATA                               #IMPLIED >

Prev | Up | Next
Chapter 8. The Lire Report Configuration Specification Markup Language | Home | Chapter 10. The Lire DLF Schema Markup Language