This file is indexed.

/usr/share/doc/lire/dev-manual/ch12.html is in lire-devel-doc 2:2.1.1-2.1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 12. The Lire Report Markup Language</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Lire Developer's Manual"><link rel="up" href="pt03.html" title="Part III. Developer's Reference"><link rel="prev" href="ch11.html" title="Chapter 11. The Lire Report Specification Markup Language"><link rel="next" href="pt04.html" title="Part IV. Lire Developers' Conventions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 12. The Lire Report Markup Language</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch11.html">Prev</a> </td><th width="60%" align="center">Part III. Developer's Reference</th><td width="20%" align="right"> <a accesskey="n" href="pt04.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter 12. The Lire Report Markup Language"><div class="titlepage"><div><div><h2 class="title"><a name="chap:lrml-doc"></a>Chapter 12. The Lire Report Markup Language</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch12.html#id414186">The Report Markup Language</a></span></dt><dd><dl><dt><span class="section"><a href="ch12.html#id414285"><code class="sgmltag-element">report</code> element</a></span></dt><dt><span class="section"><a href="ch12.html#id414344">Meta-information elements</a></span></dt><dt><span class="section"><a href="ch12.html#id414485"><code class="sgmltag-element">section</code> element</a></span></dt><dt><span class="section"><a href="ch12.html#id414523"><code class="sgmltag-element">subreport</code> element</a></span></dt><dt><span class="section"><a href="ch12.html#id414667"><code class="sgmltag-element">missing-subreport</code> element</a></span></dt><dt><span class="section"><a href="ch12.html#id414765"><code class="sgmltag-element">table</code> element</a></span></dt><dt><span class="section"><a href="ch12.html#id414839"><code class="sgmltag-element">table-info</code> element</a></span></dt><dt><span class="section"><a href="ch12.html#id414873"><code class="sgmltag-element">group-info</code> element</a></span></dt><dt><span class="section"><a href="ch12.html#id414938"><code class="sgmltag-element">column-info</code> element</a></span></dt><dt><span class="section"><a href="ch12.html#id415180"><code class="sgmltag-element">group-summary</code> element</a></span></dt><dt><span class="section"><a href="ch12.html#id415270"><code class="sgmltag-element">group</code> element</a></span></dt><dt><span class="section"><a href="ch12.html#id415344"><code class="sgmltag-element">entry</code> element</a></span></dt><dt><span class="section"><a href="ch12.html#id415429"><code class="sgmltag-element">name</code> element</a></span></dt><dt><span class="section"><a href="ch12.html#id415538"><code class="sgmltag-element">value</code> element</a></span></dt><dt><span class="section"><a href="ch12.html#id415663"><code class="sgmltag-element">chart-configs</code> element</a></span></dt></dl></dd></dl></div><div class="section" title="The Report Markup Language"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id414186"></a>The Report Markup Language</h2></div></div></div><p>Document Type Definition for the XML Lire Report Markup
   Language as generated by <span class="command"><strong>lr_dlf2xml</strong></span>.
  </p><p>Elements of that DTD are defined in the namespace
   <span class="type">http://www.logreport.org/LRML/</span> which will be usually
   mapped to the <span class="type">lire</span> prefix.
  </p><p>The latest version of that DTD is
   <span class="productnumber">2.1</span> and its public
   identifier is <span class="productname">-//LogReport.ORG//DTD Report Markup
    Language V2.1//EN</span>&#8482;. Its canonical system
   identifier is <a class="ulink" href="http://www.logreport.org/LDSML/2.1/lrml.dtd" target="_top">http://www.logreport.org/LRML/2.1/lrml.dtd</a>.
  </p><pre class="programlisting">
 
&lt;!--                    Namespace prefix for validation using the
                        DTD                                        --&gt;
&lt;!ENTITY % LIRE.xmlns.pfx    "lire"                                  &gt;
&lt;!ENTITY % LIRE.pfx          "%LIRE.xmlns.pfx;:"                     &gt;
&lt;!ENTITY % LIRE.xmlns.attr.name "xmlns:%LIRE.xmlns.pfx;"             &gt;
&lt;!ENTITY % LIRE.xmlns.attr
  "%LIRE.xmlns.attr.name; CDATA #FIXED 'http://www.logreport.org/LRML/'"&gt;

&lt;!ENTITY % LRCML.xmlns.pfx    "lrcml"                                &gt;
&lt;!ENTITY % LRCML.pfx          "%LRCML.xmlns.pfx;:"                   &gt;
&lt;!ENTITY % LRCML.xmlns.attr.name "xmlns:%LRCML.xmlns.pfx;"           &gt;
&lt;!ENTITY % LRCML.xmlns.attr
  "%LRCML.xmlns.attr.name; CDATA #FIXED 'http://www.logreport.org/LRCML/'"&gt;

  </pre><p>This DTD uses the common modules <span class="type">lire-types.mod</span>
   which defines the data types recognized by Lire and
   <span class="type">lire-desc.mod</span> which is used to include a subset of
   DocBook in description and text elements.
  </p><pre class="programlisting">
 
&lt;!-- Include needed modules --&gt;
&lt;!ENTITY % lire-types.mod PUBLIC
    "-//LogReport.ORG//ENTITIES Lire Data Types V1.0//EN"
    "lire-types.mod"&gt;
%lire-types.mod;

&lt;!ENTITY % lire-desc.mod PUBLIC
    "-//LogReport.ORG//ELEMENTS Lire Description Elements V3.0//EN"
    "lire-desc.mod"&gt;
%lire-desc.mod;

  </pre><p>Each report is an XML document of which the top-level element
   is the <code class="sgmltag-element">report</code> element. The report's data is
   contained in <code class="sgmltag-element">subreport</code> elements (these hold the
   results of each report specification that was used to generate the
   report).
  </p><pre class="programlisting">

&lt;!--                    Parameter entities which defines qualified
                        names of the elements                      --&gt;
&lt;!ENTITY % LIRE.report          "%LIRE.pfx;report"                   &gt;
&lt;!ENTITY % LIRE.section         "%LIRE.pfx;section"                  &gt;
&lt;!ENTITY % LIRE.subreport       "%LIRE.pfx;subreport"                &gt;
&lt;!ENTITY % LIRE.missing-subreport "%LIRE.pfx;missing-subreport"      &gt;
&lt;!ENTITY % LIRE.table           "%LIRE.pfx;table"                    &gt;
&lt;!ENTITY % LIRE.table-info	"%LIRE.pfx;table-info"               &gt;
&lt;!ENTITY % LIRE.group-info	"%LIRE.pfx;group-info"               &gt;
&lt;!ENTITY % LIRE.column-info	"%LIRE.pfx;column-info"              &gt;
&lt;!ENTITY % LIRE.group-summary   "%LIRE.pfx;group-summary"            &gt;
&lt;!ENTITY % LIRE.entry           "%LIRE.pfx;entry"                    &gt;
&lt;!ENTITY % LIRE.group           "%LIRE.pfx;group"                    &gt;
&lt;!ENTITY % LIRE.name            "%LIRE.pfx;name"                     &gt;
&lt;!ENTITY % LIRE.value           "%LIRE.pfx;value"                    &gt;
&lt;!ENTITY % LIRE.date            "%LIRE.pfx;date"                     &gt;
&lt;!ENTITY % LIRE.timespan        "%LIRE.pfx;timespan"                 &gt;
&lt;!ENTITY % LIRE.chart-configs   "%LIRE.pfx;chart-configs"            &gt;
&lt;!ENTITY % LRCML.param          "%LRCML.pfx;param"                   &gt;

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

  </pre><div class="section" title="report element"><div class="titlepage"><div><div><h3 class="title"><a name="id414285"></a><code class="sgmltag-element">report</code> element</h3></div></div></div><p>A report starts with the report's meta-informations:
    title, timespan and description.</p><p>The report's actual data is contained in one or more
    subreports.
   </p><div class="variablelist" title="report's attributes"><p class="title"><b><code class="sgmltag-element">report</code>'s attributes</b></p><dl><dt><span class="term">version</span></dt><dd><p>The version of the DTD to which this report complies. New
       report should use the <code class="constant">2.1</code> value.
      </p></dd></dl></div><pre class="programlisting">

&lt;!ELEMENT %LIRE.report;      ((%LIRE.title;)?, (%LIRE.date;)?, 
                              (%LIRE.timespan;)?, (%LIRE.description;)?, 
                              (%LIRE.section;)+)                     &gt;
&lt;!ATTLIST %LIRE.report; 
             version         %number.type;                 #REQUIRED
             %LIRE.xmlns.attr;                                       
             %LRCML.xmlns.attr;                                       &gt;

   </pre></div><div class="section" title="Meta-information elements"><div class="titlepage"><div><div><h3 class="title"><a name="id414344"></a>Meta-information elements</h3></div></div></div><div class="section" title="date element"><div class="titlepage"><div><div><h4 class="title"><a name="id414349"></a><code class="sgmltag-element">date</code> element</h4></div></div></div><p>The <code class="sgmltag-element">date</code> element contains the date on
     which the report was generated.</p><p>The content of this element should be the timestamp in a
     format suitable for display.</p><div class="variablelist" title="'s attribute"><p class="title"><b><code class="sgmltag-element"></code>'s attribute</b></p><dl><dt><span class="term">time</span></dt><dd><p>The date in epoch time.</p></dd></dl></div><pre class="programlisting">
 
&lt;!ELEMENT %LIRE.date;    (#PCDATA)                                   &gt;
&lt;!ATTLIST %LIRE.date;
             time        %number.type;                      #REQUIRED&gt;
 
     </pre></div><div class="section" title="timespan element"><div class="titlepage"><div><div><h4 class="title"><a name="id414398"></a><code class="sgmltag-element">timespan</code> element</h4></div></div></div><p>The <code class="sgmltag-element">timespan</code> element contains the
     starting and ending date which delimits the period of the report.
    </p><p>The content of this element should be formatted for display
     purpose. The starting and ending time of the timespan can be read
     in epoch time in the attributes. The <code class="sgmltag-attribute">period</code> attribute contains the
     timespan period.
    </p><div class="variablelist" title="timespan's attributes"><p class="title"><b><code class="sgmltag-element">timespan</code>'s attributes</b></p><dl><dt><span class="term">period</span></dt><dd><p>Optional attribute which contains the period for which
        the report was generated.
       </p></dd><dt><span class="term">start</span></dt><dd><p>The start time of the timespan in epoch time.</p></dd><dt><span class="term">end</span></dt><dd><p>The end time of the timespan in epoch time.</p></dd></dl></div><pre class="programlisting">

&lt;!ELEMENT %LIRE.timespan;    (#PCDATA)                               &gt;
&lt;!ATTLIST %LIRE.timespan;
          period        (hourly|daily|weekly|monthly|yearly) #IMPLIED
          start         %number.type;                    #REQUIRED
          end           %number.type;                    #REQUIRED   &gt;


    </pre></div></div><div class="section" title="section element"><div class="titlepage"><div><div><h3 class="title"><a name="id414485"></a><code class="sgmltag-element">section</code> element</h3></div></div></div><p>The <code class="sgmltag-element">section</code> element group common
    subreports together. The section's description will usually
    contains informations about the filters that were applied in this
    section.</p><p>It contains a <code class="sgmltag-element">title</code>, a
    <code class="sgmltag-element">description</code> if some global filters were applied
    and the section's subreports.</p><p>This element doesn't have any attribute.</p><pre class="programlisting">


                      
&lt;!ELEMENT %LIRE.section;      ( %LIRE.title;, (%LIRE.description;)?, 
			       (%LIRE.subreport;|%LIRE.missing-subreport;)*) &gt;

   </pre></div><div class="section" title="subreport element"><div class="titlepage"><div><div><h3 class="title"><a name="id414523"></a><code class="sgmltag-element">subreport</code> element</h3></div></div></div><p>The <code class="sgmltag-element">subreport</code> element contains data for a
    certain report.</p><p>It can contains meta-information elements, it they are
    different from the one of the report.</p><p>Example of subreports for the email superservice are :
    </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Message delay by relay in seconds.</p></li><li class="listitem"><p>Per hour traffic summary.</p></li><li class="listitem"><p>Top 10 messages delivery.</p></li><li class="listitem"><p>etc.</p></li></ul></div><p>
   </p><p>The data is contains in a <code class="sgmltag-element">table</code>
    element.
   </p><p>If charts should be generated from the table's data, their
    configuration is contained in the <code class="sgmltag-element">chart-configs</code>
    element.
   </p><div class="variablelist" title="subreport's attributes"><p class="title"><b><code class="sgmltag-element">subreport</code>'s attributes</b></p><dl><dt><span class="term">id</span></dt><dd><p>A unique identifier that can be used to link to this element.
      </p></dd><dt><span class="term">superservice</span></dt><dd><p>the name of the superservice from which the report's data
       comes from : i.e. email, www, dns, etc.</p></dd><dt><span class="term">type</span></dt><dd><p>This is the name of the report specification that was used
       to generated this subreport.</p></dd><dt><span class="term">schemas</span></dt><dd><p>A space delimited list of the schemas used by this
      subreport.</p></dd></dl></div><pre class="programlisting">

&lt;!ELEMENT %LIRE.subreport;    ( %LIRE.title;, (%LIRE.description;)?, 
                                %LIRE.table;, (%LIRE.chart-configs;)?) &gt;
&lt;!ATTLIST %LIRE.subreport;
	     id		    ID				    #REQUIRED
             superservice   %superservice.type;             #REQUIRED
             type           CDATA                           #REQUIRED
             schemas        NMTOKENS                        #REQUIRED &gt;

   </pre></div><div class="section" title="missing-subreport element"><div class="titlepage"><div><div><h3 class="title"><a name="id414667"></a><code class="sgmltag-element">missing-subreport</code> element</h3></div></div></div><div class="variablelist" title="missing-subreport's attributes"><p class="title"><b><code class="sgmltag-element">missing-subreport</code>'s attributes</b></p><dl><dt><span class="term">id</span></dt><dd><p>A unique identifier that can be used to link to this element.
      </p></dd><dt><span class="term">superservice</span></dt><dd><p>the name of the superservice from which the report's data
       comes from : i.e. email, www, dns, etc.</p></dd><dt><span class="term">type</span></dt><dd><p>This is the name of the report specification that was used
       to generated this subreport.</p></dd><dt><span class="term">schemas</span></dt><dd><p>A space delimited list of the schemas used by this
      subreport.</p></dd><dt><span class="term">reason</span></dt><dd><p>The reason why this subreport is missing.</p></dd></dl></div><pre class="programlisting">

&lt;!ELEMENT %LIRE.missing-subreport; (EMPTY)                           &gt;
&lt;!ATTLIST %LIRE.missing-subreport;
	     id		    ID				    #IMPLIED
             superservice   %superservice.type;            #REQUIRED
             reason         CDATA                          #IMPLIED
             type           CDATA                          #REQUIRED
             schemas        NMTOKENS                       #REQUIRED &gt;

   </pre></div><div class="section" title="table element"><div class="titlepage"><div><div><h3 class="title"><a name="id414765"></a><code class="sgmltag-element">table</code> element</h3></div></div></div><p>The <code class="sgmltag-element">table</code> element contains the data of the
    subreport. It starts by a <code class="sgmltag-element">table-info</code> element
    which contains information on the columns defined in the subreport.
    Following the table structure, there is a
    <code class="sgmltag-element">group-summary</code> element which contains values
    computed over all the records.
   </p><p>A <code class="sgmltag-element">table</code> element can contains the subreport
    data directly or the data can be subdivided into groups.
   </p><p> An example of a subreport which would contains directly
    the data would be "messages per to-domain, top-10". This would
    contains ten entries, one for each to-domain.
   </p><p>An example of a subreport which would contains data in group
    would be "deliveries to users, per to-domain, top 30, top 5
    users". It would contain 30 groups (one per to-domain) and each
    group would contain 5 entries (one per user).
   </p><p>Group can be nested to arbitrary depth (but logic don't recommend 
    to nest too much).
   </p><div class="variablelist" title="table's attributes"><p class="title"><b><code class="sgmltag-element">table</code>'s attributes</b></p><dl><dt><span class="term">show</span></dt><dd><p>the number of entry to display. By default all entries
       should be displayed.
      </p></dd></dl></div><pre class="programlisting">

&lt;!ELEMENT %LIRE.table;        (%LIRE.table-info;, %LIRE.group-summary;,
			       (%LIRE.entry;)*) &gt;
&lt;!ATTLIST %LIRE.table;
              show         %int.type;                        #IMPLIED &gt;

   </pre></div><div class="section" title="table-info element"><div class="titlepage"><div><div><h3 class="title"><a name="id414839"></a><code class="sgmltag-element">table-info</code> element</h3></div></div></div><p>The <code class="sgmltag-element">table-info</code> element contains
    information on the table structure. It contains one
    <code class="sgmltag-element">column-info</code> element for each columns defined.
    It will also contains one <code class="sgmltag-element">group-info</code> element
    for every grouping operation used in the report specification.
   </p><p>This element doesn't have any attribute.</p><pre class="programlisting">

&lt;!ELEMENT %LIRE.table-info;   (%LIRE.column-info;|%LIRE.group-info;)+ &gt;

   </pre></div><div class="section" title="group-info element"><div class="titlepage"><div><div><h3 class="title"><a name="id414873"></a><code class="sgmltag-element">group-info</code> element</h3></div></div></div><p>The <code class="sgmltag-element">group-info</code> element play a similar role
    to the <code class="sgmltag-element">table-info</code> element. Its used to group
    the columns defined by particular subgroup.
   </p><div class="variablelist" title="group-info's attribute"><p class="title"><b><code class="sgmltag-element">group-info</code>'s attribute</b></p><dl><dt><span class="term">name</span></dt><dd><p>This attribute holds the name of the operation in the
       report specification which was responsible for the creation of
       this group data.
      </p></dd><dt><span class="term">row-idx</span></dt><dd><p>Specify the row index of the table header in which this
       group's categorical labels should be displayed.
      </p></dd></dl></div><pre class="programlisting">

&lt;!ELEMENT %LIRE.group-info;   (%LIRE.column-info;|%LIRE.group-info;)+ &gt;
&lt;!ATTLIST %LIRE.group-info;
	     name     NMTOKEN			           #REQUIRED 
	     row-idx  %int.type;			   #REQUIRED &gt;

   </pre></div><div class="section" title="column-info element"><div class="titlepage"><div><div><h3 class="title"><a name="id414938"></a><code class="sgmltag-element">column-info</code> element</h3></div></div></div><p>The <code class="sgmltag-element">column-info</code> element describes a
    column of the table. It holds information related to display
    purpose (<span class="property">label</span>, <span class="property">class</span>,
    <span class="property">col-start</span>, <span class="property">col-end</span>,
    <span class="property">col-width</span>) as well as information needed to
    use the content of the column as input to other computation
    (<span class="property">type</span>, <span class="property">name</span>).
   </p><p>The <span class="property">col-start</span>,
    <span class="property">col-end</span> and <span class="property">col-width</span>
    can be used to render the data in grid.
   </p><div class="variablelist" title="column-info's attributes"><p class="title"><b><code class="sgmltag-element">column-info</code>'s attributes</b></p><dl><dt><span class="term">name</span></dt><dd><p>This attribute contains the name of the operation in the
       report specification which was used to generata data in this
       column.
      </p></dd><dt><span class="term">type</span></dt><dd><p>The Lire data type of this column.
      </p></dd><dt><span class="term">class</span></dt><dd><p>This attribute can either be
       <code class="constant">categorical</code> or
       <code class="constant">numerical</code>. Categorical data is held in
       <code class="sgmltag-element">name</code> element and numerical data is held in
       <code class="sgmltag-element">value</code> element. Also, numerical column will
       have <code class="sgmltag-element">column-summary</code> element associated to
       them.
      </p></dd><dt><span class="term">label</span></dt><dd><p>This optional attribute contains the column's label. If
       omitted, the <span class="property">name</span> attribute's content will
       be used. 
      </p></dd><dt><span class="term">col-start</span></dt><dd><p>The column number in which this column start. The first
       column being column 0.
      </p></dd><dt><span class="term">col-end</span></dt><dd><p>The column number in which this column ends. The first
       column being column 0. Spans are used to cover <span class="quote">&#8220;<span class="quote">padding
       columns</span>&#8221;</span> to indent grouped entries under their parent
       entry.
      </p></dd><dt><span class="term">col-width</span></dt><dd><p>The suggested column width (in characters) to use for this
       column.
      </p></dd><dt><span class="term">max-chars</span></dt><dd><p>The maximum entry's length in that column (this includes
       the label).
      </p></dd><dt><span class="term">avg-chars</span></dt><dd><p>The average entry's length in that column (this includes
       the label). This value is rounded up to the nearest integer.
      </p></dd></dl></div><pre class="programlisting">

&lt;!ELEMENT %LIRE.column-info;        EMPTY                        &gt;
&lt;!ATTLIST %LIRE.column-info;
             name	   NMTOKEN			#REQUIRED
	     class	   (categorical|numerical)	#REQUIRED
	     type	   (%lire.types;)		#REQUIRED
             label         CDATA                        #IMPLIED 
             col-start     %int.type;                   #REQUIRED
             col-end       %int.type;                   #REQUIRED
             col-width     %int.type;                   #IMPLIED 
             max-chars     %int.type;                   #IMPLIED 
             avg-chars     %int.type;                   #IMPLIED &gt;

   </pre></div><div class="section" title="group-summary element"><div class="titlepage"><div><div><h3 class="title"><a name="id415180"></a><code class="sgmltag-element">group-summary</code> element</h3></div></div></div><p>The <code class="sgmltag-element">group-summary</code> contains one
    <code class="sgmltag-element">value</code> element for all the columns that
    contains numerical data. These elements will contains the
    statistics computed over all the DLF records which were processed
    by the group or the subreport.
   </p><div class="variablelist" title="group-summary's attribute"><p class="title"><b><code class="sgmltag-element">group-summary</code>'s attribute</b></p><dl><dt><span class="term">nrecords</span></dt><dd><p>The number of DLF records that were processed by this
       group or subreport.
      </p></dd><dt><span class="term">missing-cases</span></dt><dd><p>This attribute contains the number of
       <code class="constant">LIRE_NOTAVAIL</code> values found when computing
       the statistic. This number represents the number of records
       which didn't have the required information to group the records
       appropriately. If ommited or equals to 0, it means that all
       records had all the required information.
      </p></dd><dt><span class="term">row-idx</span></dt><dd><p>Specify the row index in the table at which the group's
       summary <code class="sgmltag-element">value</code> should be displayed. If this
       is attribute is omitted, the summary values won't be displayed.
      </p></dd></dl></div><pre class="programlisting">

&lt;!ELEMENT %LIRE.group-summary; (%LIRE.value;)*                       &gt;
&lt;!ATTLIST %LIRE.group-summary;
             nrecords         %int.type;                   #REQUIRED 
             missing-cases    %int.type;                    #IMPLIED 
	     row-idx	      %int.type;		    #IMPLIED &gt;

   </pre></div><div class="section" title="group element"><div class="titlepage"><div><div><h3 class="title"><a name="id415270"></a><code class="sgmltag-element">group</code> element</h3></div></div></div><p>The <code class="sgmltag-element">group</code> element can be used to
    subdivide logically a report. It's used for aggregate reports like
    message per user per domain.
   </p><p>It contains a <code class="sgmltag-element">group-summary</code> element which
    contains the group's values for the whole group followed by the
    entries that makes the group.
   </p><p>Groups can be nested more than once, but too much nesting
    augments information clutter and isn't useful for the user.
   </p><div class="variablelist" title="group's attributes"><p class="title"><b><code class="sgmltag-element">group</code>'s attributes</b></p><dl><dt><span class="term">id</span></dt><dd><p>A unique identifier that can be used to link to this element.
      </p></dd><dt><span class="term">show</span></dt><dd><p>the number of entry to display. By default all entries
       should be displayed.
      </p></dd></dl></div><pre class="programlisting">

&lt;!ELEMENT %LIRE.group;        (%LIRE.group-summary;, (%LIRE.entry;)*)&gt;
&lt;!ATTLIST %LIRE.group;
	     id		  ID				    #IMPLIED
             show         %int.type;                        #IMPLIED &gt;

   </pre></div><div class="section" title="entry element"><div class="titlepage"><div><div><h3 class="title"><a name="id415344"></a><code class="sgmltag-element">entry</code> element</h3></div></div></div><p>The <code class="sgmltag-element">entry</code> contains the data from the
    report. It is similar to a row in a table altough one entry may
    represents several rows when it includes nested groups.
   </p><p>The <code class="sgmltag-element">name</code> elements contain categorical
    items of data like user name, email, browser type, url. Note that
    numeric ranges (like time period for example) are also considered
    categorical data items.
   </p><p>The <code class="sgmltag-element">value</code> elements contain numericical
    data which are the result of a descriptive statistical operation:
    message count, bytes transferred, average delay, etc.
   </p><div class="variablelist" title="entry's attribute"><p class="title"><b><code class="sgmltag-element">entry</code>'s attribute</b></p><dl><dt><span class="term">id</span></dt><dd><p>A unique identifier that can be used to link to this element.
      </p></dd><dt><span class="term">row-idx</span></dt><dd><p>Specify the row index in the table at which this entry's
       <code class="sgmltag-element">name</code> and <code class="sgmltag-element">value</code> elements
       should be rendered. If this is attribute is omitted, the entry
       won't be displayed.
      </p></dd></dl></div><pre class="programlisting">

&lt;!--
                                                                   --&gt;
&lt;!ELEMENT %LIRE.entry;        (%LIRE.name;, 
				(%LIRE.name;|%LIRE.value;|%LIRE.group;)+)&gt;
&lt;!ATTLIST %LIRE.entry;
	     id		  ID				    #IMPLIED 
	     row-idx	  %int.type;			    #IMPLIED &gt;


   </pre></div><div class="section" title="name element"><div class="titlepage"><div><div><h3 class="title"><a name="id415429"></a><code class="sgmltag-element">name</code> element</h3></div></div></div><p>The <code class="sgmltag-element">name</code> elements contains categorical
    data column value.  Its also used for numerical values that
    represents a class of values (like produced by the
    <code class="sgmltag-element">rangegroup</code> or timegroup<code class="sgmltag-element"></code>
    operations for example.)
   </p><div class="variablelist" title="name's attributes"><p class="title"><b><code class="sgmltag-element">name</code>'s attributes</b></p><dl><dt><span class="term">id</span></dt><dd><p>A unique identifier that can be used to link to this element.
      </p></dd><dt><span class="term">col</span></dt><dd><p>The column's name. It should be the same than the one in
       the corresponding <code class="sgmltag-element">column-info</code> element.
      </p></dd><dt><span class="term">value</span></dt><dd><p>When the displayed format is different from the DLF
       representation, this attribute contains the DLF
       representation.
      </p></dd><dt><span class="term">range</span></dt><dd><p>In some cases (like in report generated by the
       <code class="sgmltag-element">timegroup</code>, <code class="sgmltag-element">timeslot</code> or
       rangegroup<code class="sgmltag-element"></code> specification), this attribute
       will contains the range's length from the starting value which
       is in the 'value' attribute.
      </p></dd></dl></div><pre class="programlisting">

&lt;!ELEMENT %LIRE.name;         (#PCDATA)                              &gt;
&lt;!ATTLIST %LIRE.name;
	     id		      ID			    #IMPLIED
	     col	      NMTOKEN			    #REQUIRED
             value            CDATA                         #IMPLIED
             range            %number.type;                 #IMPLIED &gt;

   </pre></div><div class="section" title="value element"><div class="titlepage"><div><div><h3 class="title"><a name="id415538"></a><code class="sgmltag-element">value</code> element</h3></div></div></div><p>The value<code class="sgmltag-element"></code> element contains numerical
    column value..
   </p><div class="variablelist" title="value's attributes"><p class="title"><b><code class="sgmltag-element">value</code>'s attributes</b></p><dl><dt><span class="term">id</span></dt><dd><p>A unique identifier that can be used to link to this element.
      </p></dd><dt><span class="term">col</span></dt><dd><p>The column's name. It should be the same than the one in
       the corresponding <code class="sgmltag-element">column-info</code> element.
      </p></dd><dt><span class="term">value</span></dt><dd><p>contains the value in numeric format. This is used when
       the value was scaled (1k, 5M, etc.)</p></dd><dt><span class="term">total</span></dt><dd><p>for average value, this contains the total used to compute
       the average.
      </p></dd><dt><span class="term">n</span></dt><dd><p>for average value, this contains the n value that was used
       to compute the average.</p></dd><dt><span class="term">missing-cases</span></dt><dd><p>This attribute contains the number of
       <code class="constant">LIRE_NOTAVAIL</code> values found when computing
       the statistic. When omitted, its assume to have a value of
       0, i.e. that the value was defined in each DLF record.
      </p></dd></dl></div><pre class="programlisting">

&lt;!ELEMENT %LIRE.value;        (#PCDATA)                              &gt;
&lt;!ATTLIST %LIRE.value;
	     id	         ID				    #IMPLIED
	     col	 NMTOKEN	    		    #REQUIRED
	     missing-cases %int.type;			    #IMPLIED
             value       %number.type;                      #IMPLIED 
             total       %number.type;                      #IMPLIED 
             n           %number.type;                      #IMPLIED &gt;

   </pre></div><div class="section" title="chart-configs element"><div class="titlepage"><div><div><h3 class="title"><a name="id415663"></a><code class="sgmltag-element">chart-configs</code> element</h3></div></div></div><p>This element contains one or more chart configurations that
    should be generated from the table's. These chart
    configurations are specified using the Lire Report Configuration
    Markup Language.
   </p><p>This element has no attribute.</p><pre class="programlisting">

&lt;!ELEMENT %LIRE.chart-configs; (%LRCML.param;)+                      &gt;

   </pre></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch11.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="pt03.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="pt04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 11. The Lire Report Specification Markup Language </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Part IV. <span class="application">Lire</span> Developers' Conventions</td></tr></table></div></body></html>