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