/usr/share/doc/lire/dev-manual/ch10.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 | <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 10. The Lire DLF Schema 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="ch09.html" title="Chapter 9. The Lire Report Configuration Markup Language"><link rel="next" href="ch11.html" title="Chapter 11. The Lire Report Specification Markup Language"></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 10. The Lire DLF Schema Markup Language</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch09.html">Prev</a> </td><th width="60%" align="center">Part III. Developer's Reference</th><td width="20%" align="right"> <a accesskey="n" href="ch11.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter 10. The Lire DLF Schema Markup Language"><div class="titlepage"><div><div><h2 class="title"><a name="chap:lrdsml-doc"></a>Chapter 10. The Lire DLF Schema Markup Language</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch10.html#id407863">The Lire DLF Schema Markup Language</a></span></dt><dd><dl><dt><span class="section"><a href="ch10.html#id408452">The <code class="sgmltag-element">dlf-schema</code> element</a></span></dt><dt><span class="section"><a href="ch10.html#id408546"><code class="sgmltag-element">extended-schema</code> element</a></span></dt><dt><span class="section"><a href="ch10.html#id408650"><code class="sgmltag-element">derived-schema</code> element</a></span></dt><dt><span class="section"><a href="ch10.html#id408259"><code class="sgmltag-element">field</code> element</a></span></dt></dl></dd></dl></div><div class="section" title="The Lire DLF Schema Markup Language"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id407863"></a>The Lire DLF Schema Markup Language</h2></div></div></div><p>The Lire DLD Schema Markup Language (<abbr class="abbrev">LDSML</abbr>)
is used describe the fields used by DLF records of a specific
schema like <span class="structname">www</span>,
<span class="structname">email</span> or
<span class="structname">msgstore</span>.
</p><p>DLF schemas are defined in one XML document that should be
installed in one of the directories that is included in the schema
path (usually
<code class="filename"><em class="replaceable"><code>HOME</code></em>/.lire/schemas</code>
and
<code class="filename"><em class="replaceable"><code>prefix</code></em>/share/lire/schemas</code>
). This document must conforms to the LDSML DTD which is described
here. Elements of that DTD are defined in the namespace
<span class="type">http://www.logreport.org/LDSML/</span> which will be usually
mapped to the <span class="type">lire</span> prefix (altough other prefixes may
be used).
</p><p>The latest version of that DTD is
<span class="productnumber">1.1</span> and its public identifier is
<span class="productname">-//LogReport.ORG//DTD Lire DLF Schema Markup Language
V1.1//EN</span>™. Its canonical system identifier is <a class="ulink" href="http://www.logreport.org/LDSML/1.1/ldsml.dtd" target="_top">http://www.logreport.org/LDSML/1.1/ldsml.dtd</a>.
</p><pre class="programlisting">
<!-- Namespace prefix for validation using the
DTD -->
<!ENTITY % LIRE.xmlns.pfx "lire" >
<!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/LDSML/'">
</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">
<!ENTITY % lire-types.mod PUBLIC
"-//LogReport.ORG//ENTITIES Lire Data Types V1.0//EN"
"lire-types.mod">
%lire-types.mod;
<!ENTITY % lire-desc.mod PUBLIC
"-//LogReport.ORG//ELEMENTS Lire Description Elements V2.0//EN"
"lire-desc.mod">
%lire-desc.mod;
</pre><p>The top-level element in XML documents describing a DLF schema
will be either a <code class="sgmltag-element">dlf-schema</code>,
<code class="sgmltag-element">extented-schema</code> or
<code class="sgmltag-element">derived-schema</code> depending on the schema's type.
<em class="firstterm">DLF schemas</em> are used as base schema for one
superservice. For example, the DLF schema of the <span class="type">www</span>
superservice is named <span class="type">www</span>. An <em class="firstterm">extended
schema</em> is used to define additional fields which
values are to be computed by an <em class="firstterm">analyser</em>.
</p><p>
Extended schemas are named after the schema which they extend. For
example, the <span class="structname">www-attack</span> extended schema
adds an <em class="structfield"><code>attack</code></em> field which contains, if
any, the <span class="quote">“<span class="quote">attack</span>”</span> that was attempted in that request.
</p><p>
<em class="firstterm">Derived schemas</em> are used by another type of
analysers which defines an entirely different schema. Whereas in
the extended schema the new fields will be added to all the DLF
records of the base schema, the derived schema will create new DLF
records based on the DLF records of the base schema. An example of
this is the <span class="structname">www-session</span> schema which
computes users' session information based on the web requests
contained in the <span class="structname">www</span> schema. Like for the
<code class="sgmltag-element">extended-schema</code> case, derived schemas are named
after the base schema from which they are derived.
</p><p>The fields that makes each schema are defined using
<code class="sgmltag-element">field</code> elements.
</p><pre class="programlisting">
<!-- Prefixed names declaration. -->
<!ENTITY % LIRE.dlf-schema "%LIRE.pfx;dlf-schema" >
<!ENTITY % LIRE.extended-schema "%LIRE.pfx;extended-schema" >
<!ENTITY % LIRE.derived-schema "%LIRE.pfx;derived-schema" >
<!ENTITY % LIRE.field "%LIRE.pfx;field" >
</pre><div class="section" title="The dlf-schema element"><div class="titlepage"><div><div><h3 class="title"><a name="id408452"></a>The <code class="sgmltag-element">dlf-schema</code> element</h3></div></div></div><p>The <code class="sgmltag-element">dlf-schema</code> element is used to define
the base schema of a superservice. It should contains optional
<code class="sgmltag-element">title</code> and <code class="sgmltag-element">description</code>
elements followed by <code class="sgmltag-element">field</code> elements describing
the schema structure.
</p><p>The <code class="sgmltag-element">title</code> is an optional text string that
will be used to in the automatic documentation generation that can
be extracted from the schema definition. The
<code class="sgmltag-element">description</code> element should describe what is
represented by each DLF records (one web request, one email
delivery, one firewall event, etc.)
</p><div class="variablelist" title="dlf-schema's attributes"><p class="title"><b><code class="sgmltag-element">dlf-schema</code>'s attributes</b></p><dl><dt><span class="term">superservice</span></dt><dd><p>This required attribute contains the name of the
superservice described by this schema. This will also be used as
the base schema's identifier.
</p></dd><dt><span class="term">timestamp</span></dt><dd><p>This required attribute contains the name of the field
which contains the official event's <span class="type">timestamp</span>.
This field will be used to sort the DLF records for timegroup
and timeslot report operations.
</p></dd></dl></div><pre class="programlisting">
<!ELEMENT %LIRE.dlf-schema; ( (%LIRE.title;)?, (%LIRE.description;)?,
(%LIRE.field;)+ ) >
<!ATTLIST %LIRE.dlf-schema;
superservice %superservice.type; #REQUIRED
timestamp IDREF #REQUIRED
%LIRE.xmlns.attr; >
</pre></div><div class="section" title="extended-schema element"><div class="titlepage"><div><div><h3 class="title"><a name="id408546"></a><code class="sgmltag-element">extended-schema</code> element</h3></div></div></div><p>This is the root element of an extended DLF Schema.
Extended-schema defines additional fields that will be added to
the base schema. It contains an optional title, an optional
description and one or more field specifications.
</p><div class="variablelist" title="dlf-schema's attributes"><p class="title"><b><code class="sgmltag-element">dlf-schema</code>'s attributes</b></p><dl><dt><span class="term">id</span></dt><dd><p>This required attribute contains the identifier of that
schema. This identifier should be composed of the superservice's
name followed by an hypen (<code class="literal">-</code>) and then an
word describing the extended schema.
</p></dd><dt><span class="term">base-schema</span></dt><dd><p>This required attribute contains the identifier of the
schema that is extended.</p></dd><dt><span class="term">required-fields</span></dt><dd><p>This optional attribute contains a space delimited list of
field names that must be available in the base schema for the
analyser to do its job. If any of the listed field is missing
in the DLF, extended fields for the base schema cannot be
computed.
</p></dd><dt><span class="term">module</span></dt><dd><p>This required attribute contains the name of the analyser
that is used to compute the extended fields. This is a perl
module that should be installed in perl's library path.
</p></dd></dl></div><pre class="programlisting">
<!ELEMENT %LIRE.extended-schema;
( (%LIRE.title;)?, (%LIRE.description;)?,
(%LIRE.field;)+ ) >
<!ATTLIST %LIRE.extended-schema;
id NMTOKEN #REQUIRED
base-schema NMTOKEN #REQUIRED
module NMTOKEN #REQUIRED
required-fields NMTOKENS #IMPLIED
%LIRE.xmlns.attr; >
</pre></div><div class="section" title="derived-schema element"><div class="titlepage"><div><div><h3 class="title"><a name="id408650"></a><code class="sgmltag-element">derived-schema</code> element</h3></div></div></div><p>This is the root element of a derived DLF Schema. The difference
between a normal schema and a derived schema is that the data is
generated from another DLF instead of a log file.
</p><div class="variablelist" title="derived-schema's attributes"><p class="title"><b><code class="sgmltag-element">derived-schema</code>'s attributes</b></p><dl><dt><span class="term">id</span></dt><dd><p>This required attribute contains the identifier of that
schema. This identifier should be composed of the superservice's
name followed by an hypen (<code class="literal">-</code>) and then an
word describing the derived schema.
</p></dd><dt><span class="term">base-schema</span></dt><dd><p>This required attribute contains the identifier of the
schema from which this derived schema's data is derived.
</p></dd><dt><span class="term">required-fields</span></dt><dd><p>This optional attribute contains a space delimited list of
field names that must be available in the base schema for the
analyser to do its job. If any of the listed field is missing
in the DLF, the derived records cannot be computed.
</p></dd><dt><span class="term">module</span></dt><dd><p>This required attribute contains the name of the analyser
that is used to compute the derived records. This is a perl
module that should be installed in perl's library path.
</p></dd><dt><span class="term">timestamp</span></dt><dd><p>This required attribute contains the name of the field
which contains the official event's <span class="type">timestamp</span>.
This field will be used to sort the DLF records for timegroup
and timeslot report operations.
</p></dd></dl></div><pre class="programlisting">
<!ELEMENT %LIRE.derived-schema;
( (%LIRE.title;)?, (%LIRE.description;)?,
(%LIRE.field;)+ ) >
<!ATTLIST %LIRE.derived-schema;
id NMTOKEN #REQUIRED
base-schema NMTOKEN #REQUIRED
module NMTOKEN #REQUIRED
required-fields NMTOKENS #IMPLIED
timestamp IDREF #REQUIRED
%LIRE.xmlns.attr; >
</pre></div><div class="section" title="field element"><div class="titlepage"><div><div><h3 class="title"><a name="id408259"></a><code class="sgmltag-element">field</code> element</h3></div></div></div><p>The <code class="sgmltag-element">field</code> is used to describe the fields
of the schema. Each field is specified by its name and type. The
field element may contain an optional
<code class="sgmltag-element">description</code> element which gives more
information on the data contained in the field. Description should
be used to give better information to the DLF converter
implementors on what should appears in that field.
</p><div class="variablelist" title="field's attributes"><p class="title"><b><code class="sgmltag-element">field</code>'s attributes</b></p><dl><dt><span class="term">name</span></dt><dd><p>This required attribute contains the name of the field.</p></dd><dt><span class="term">type</span></dt><dd><p>This required attribute contains the the field's
type.</p></dd><dt><span class="term">default</span></dt><dd><div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p>This attribute is obsolete and will be removed in a
future Lire release.
</p></div></dd><dt><span class="term">label</span></dt><dd><p>This optional attribute gives the label that should
be used to display this field in reports. Defaults to the
field's name when omitted.
</p></dd></dl></div><pre class="programlisting">
<!ELEMENT %LIRE.field; (%LIRE.description;)? >
<!ATTLIST %LIRE.field;
name ID #REQUIRED
type (%lire.types;) #REQUIRED
default CDATA #IMPLIED
label CDATA #IMPLIED >
</pre></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch09.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="ch11.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 9. The Lire Report Configuration Markup Language </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 11. The Lire Report Specification Markup Language</td></tr></table></div></body></html>
|