<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE lire:dlf-schema PUBLIC
  "-//LogReport.ORG//DTD Lire DLF Schema Markup Language V1.0//EN"
  "http://www.logreport.org/LDSML/1.0/ldsml.dtd">
<lire:dlf-schema superservice="www" timestamp="time"
 xmlns:lire="http://www.logreport.org/LDSML/">

 <lire:title>DLF Schema for WWW service</lire:title>
 <lire:description>
  <para>In this DLF schema, each record represents a request to the
   web server. It has the equivalent information
   than the common log format supported by most web servers.
  </para>
 </lire:description>

 <lire:field name="client_host"		type="hostname">
  <lire:description>
   <para>The hostname (or ip address) of the clients that made the
    request.</para>
  </lire:description>
 </lire:field>

 <lire:field name="who"			type="string">
  <lire:description>
   <para>If the request was authenticated, this field should contains
    the name of the authenticated user. Not that there is no
    indication of which authentication method was used (RFC1531, WWW
    authentication, etc.).
   </para>
  </lire:description>
 </lire:field>

 <!-- Do not use int for http_result, since it's semantics is that
      of categorical variable and not continuous -->
 <lire:field name="http_result"		type="string">
  <lire:description>
   <para>The numeric result code of the request. That's is
    <constant>200</constant>, <constant>301</constant>, etc.</para>
  </lire:description>
 </lire:field>

 <lire:field name="requested_page_size" type="bytes">
  <lire:description>
   <para>The number of bytes sent to the client during the request.</para>
  </lire:description>
 </lire:field>

 <lire:field name="http_action"		type="string">
  <lire:description>
   <para>The method used by the client for the request. That is
    usually one of <constant>GET</constant>,
    <constant>HEAD</constant>, <constant>POST</constant>, etc.
   </para>
  </lire:description>
 </lire:field>

 <lire:field name="requested_page"	type="url">
  <lire:description>
   <para>The URL that was requested by the client.</para>
  </lire:description>
 </lire:field>

 <lire:field name="http_protocol"	type="string">
  <lire:description>
   <para>The protocol used by the client. It should usually be one of
    <literal>HTTP/1.0</literal> or <literal>HTTP/1.1</literal>.
   </para>
  </lire:description>
 </lire:field>

 <lire:field name="time"		type="timestamp">
  <lire:description>
   <para>The time of the request.</para>
  </lire:description>
 </lire:field>

 <lire:field name="referer"		type="string">
  <lire:description>
   <para>The content of the <varname>Referer</varname> header that was
    sent along the request. That usually represents the referring URL,
    that's the URL which the user was browsing when this URL was requested.
   </para>
  </lire:description>
 </lire:field>

 <lire:field name="useragent"		type="string">
  <lire:description>
   <para>The content of the <varname>User-Agent</varname> header that was
    sent along the request. That usually contains information the web
    browser used by the client.
   </para>
  </lire:description>
 </lire:field>

 <lire:field name="gzip_result"		type="string">
  <lire:description>
   <para>When automatic compression is used, this should contains the
   result code from the compression submodule.</para>
  </lire:description>
 </lire:field>

 <lire:field name="compression"		type="int">
  <lire:description>
   <para>When automatic compression of the results is used, this field
    should contains the compression ratio achieved.
   </para>
  </lire:description>
 </lire:field>

</lire:dlf-schema>
