Chapter 7. The Lire Report Configuration Specification Markup Language

Table of Contents

The Lire Report Configuration Specification Markup Language
config-spec element
summary element
Parameter Specifiations Elements

The Lire Report Configuration Specification Markup Language

Document Type Definition for the Lire Report Configuration Specification Markup Language.

This DTD defines a grammar that is used to specify the configuration parameters used by the Lire framework. Besides the framework parameters, this DTD can be used by extensions writers to register their parameters with the framework. The configuration specifications are usually stored in prefix/share/lire/config-spec.

Currently, Lire's configuration namespace is flat, which means that two different specification documents cannot define parameters of the same names.

Elements of this DTD uses the http://www.logreport.org/LRCSML/ namespace that is usually mapped to the lrcsml prefix.

The latest version of that 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/LRCSML/1.0/lrcsml.dtd.


<!--
                                                                   -->

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


  

This DTD uses the common lire-desc.mod module which is used to include a subset of DocBook in description and text elements.

  

<!ENTITY % lire-desc.mod PUBLIC
    "-//LogReport.ORG//ELEMENTS Lire Description Elements V2.0//EN"
    "lire-desc.mod">
%lire-desc.mod;
   
  

Each configuration specification is a XML document which has one config-spec as its root element.


<!ENTITY % LIRE.config-spec     "%LIRE.pfx;config-spec"              >
<!ENTITY % LIRE.summary         "%LIRE.pfx;summary"                  >
<!ENTITY % LIRE.boolean         "%LIRE.pfx;boolean"                  >
<!ENTITY % LIRE.integer         "%LIRE.pfx;integer"                  >
<!ENTITY % LIRE.string          "%LIRE.pfx;string"                   >
<!ENTITY % LIRE.service         "%LIRE.pfx;service"                  >
<!ENTITY % LIRE.command         "%LIRE.pfx;command"                  >
<!ENTITY % LIRE.file            "%LIRE.pfx;file"                     >
<!ENTITY % LIRE.executable      "%LIRE.pfx;executable"               >
<!ENTITY % LIRE.directory       "%LIRE.pfx;directory"                >
<!ENTITY % LIRE.select          "%LIRE.pfx;select"                   >
<!ENTITY % LIRE.option          "%LIRE.pfx;option"                   >
<!ENTITY % LIRE.list            "%LIRE.pfx;list"                     >

<!ENTITY % LIRE.summary         "%LIRE.pfx;summary"                  >
<!ENTITY % types-spec           "%LIRE.boolean;|%LIRE.integer;|
                                 %LIRE.string;|%LIRE.service;|
                                 %LIRE.command;|%LIRE.file;|
                                 %LIRE.executable;|%LIRE.directory;|
                                 %LIRE.select;|%LIRE.list;"          >
<!ENTITY % common.mix           "(%LIRE.summary;)?,(%LIRE.description;)?">


  

config-spec element

Root element of a configuration specification document. It contains a list of parameter specifications..

This element doesn't have any attributes.


<!ELEMENT %LIRE.config-spec; ((%types-spec;)+)                       >
<!ATTLIST %LIRE.config-spec;
             %LIRE.xmlns.attr;                                       >

   

summary element

This element is used for a short one description of the parameter's purpose. Use the description element for longer help text.

This element doesn't have any attribute.


<!ELEMENT %LIRE.summary;    (#PCDATA)                                >

   

Parameter Specifiations Elements

Common Attributes

These attributes are common to all parameters specification elements:

name

Contains the name of the parameter to which this specification apply.

section

This attribute can be used to set a menu section which can be used by configuration frontends to group parameters together.

contexts

This attribute contains a white space delimited list of tokens which are hints to the user interface tools specifying in which contexts this option can be set. (The context currently used are global and job.


<!ENTITY % common.attr "
        name    NMTOKEN                                    #REQUIRED
        section  CDATA                                     #IMPLIED
        contexts NMTOKENS                                  #IMPLIED">

    

boolean element

This element is used to define a boolean parameter which can takes a yes or no value.

This element doesn't have any specific attributes.


<!ELEMENT %LIRE.boolean; (%common.mix;)                              >
<!ATTLIST %LIRE.boolean;
 %common.attr;
                                                                     >

   

integer element

This element is used to define an integer parameter.

This element doesn't have any specific attributes.


<!ELEMENT %LIRE.integer; (%common.mix;)                              >
<!ATTLIST %LIRE.integer;
 %common.attr;
                                                                     >

   

string element

This element is used to define an string parameter. These parameters can contains any value.

This element doesn't have any specific attributes.


<!ELEMENT %LIRE.string; (%common.mix;)                              >
<!ATTLIST %LIRE.string;
 %common.attr;
                                                                     >

   

service element

This element is used to define a service parameter. To be accepted as valid the parameter's value must point to a recognized Lire service.

This element doesn't have any specific attributes.


<!ELEMENT %LIRE.service; (%common.mix;)                              >
<!ATTLIST %LIRE.service;
 %common.attr;
                                                                     >

   

command element

This element is used to define a command parameter. To be accepted as valid the parameter's value must point to an executable file or an executable file with the specified value must exist in a directory of the PATH environment variable.

This element doesn't have any specific attributes.


<!ELEMENT %LIRE.command; (%common.mix;)                              >
<!ATTLIST %LIRE.command;
 %common.attr;
                                                                     >

   

file element

This element is used to define a file parameter. To be accepted as valid, the parameter's value must point to an existing file.

This element doesn't have any specific attributes.


<!ELEMENT %LIRE.file; (%common.mix;)                                 >
<!ATTLIST %LIRE.file;
 %common.attr;
                                                                     >

   

directory element

This element is used to define a directory parameter. To be accepted as valid, the parameter's value must point to an existing directory.

This element doesn't have any specific attributes.


<!ELEMENT %LIRE.directory; (%common.mix;)                            >
<!ATTLIST %LIRE.directory;
 %common.attr;
                                                                     >

   

executable element

This element is used to define an executable parameter. To be accepted as valid, the parameter's value must point to an existing executable file.

This element doesn't have any specific attributes.


<!ELEMENT %LIRE.executable; (%common.mix;)                           >
<!ATTLIST %LIRE.executable;
 %common.attr;
                                                                     >

   

select element

This element is used to define a parameter for which the value is selected among a set of options. The allowed set of options is specified using option elements.

This element doesn't have any specific attributes.


<!ELEMENT %LIRE.select;     (%common.mix;,(%LIRE.option;)+)          >
<!ATTLIST %LIRE.select;
 %common.attr;
                                                                     >

   

option element

This element is used to define the valid values for a select parameter.

This element doesn't have any specific attributes.


<!ELEMENT %LIRE.option;     (%common.mix;)                           >
<!ATTLIST %LIRE.option;
 %common.attr;
                                                                     >

   

list element

This element is used to define a parameter that can contains an ordered set of values. The type of values which can be contained is specified using other parameters elements. Any number of parameters of the type specified by the children elements can be contained by the defined parameter.

This element doesn't have any specific attributes.


<!ELEMENT %LIRE.list;       (%common.mix;,(%types-spec;)+)           >
<!ATTLIST %LIRE.list;
 %common.attr;
                                                                     >