thyme
about timian
summary & news
overview
some samples
license
mailing-lists
things to do
bugs!!
the author
get timian
supported platforms
download
building
binaries
documentation
manpage
change log
XSLT
report formats
report specs
Xalan extensions
DTDs
styles
overview
writing
gallery
analog
summary
XML explained
DTD analog-data
i18n
Overview
locale
languages
ISO639-2
ISO3166
UTF-8

feedback
tell me
© 2003 Per Jessen, per@computer.org.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

Analogs XML document format

This document is intended as quick introduction to the format of the XML document produced when you use "OUTPUT XML" in analog. This is not meant as a detailed walk-through of the entire document, but more as a way to get an idea of what the document contains.
It will also list reference material which will come in handy for anyone writing a analog XML post-processor or a Timian report format.

I wrote and contributed the XML output module for analog, and I also wrote Timian, the first post-processor utilising the XML document. Timian uses XSLT to build end-user reports based on the analog XML document.

Please note: although this page contains detailed lists and explanations of analog output, the analog website remains the definitive reference.

DTD

The Document Type Definition is "analog-data.dtd" - it is relatively straight forward and for now, I won't go into in more detail. The DTD is used to validate the XML document.

Public & system identifiers

Public: "::timian/analog-data::"
The public identifier is used by the Timian XSLT processor to locate a local copy of the DTD.

System: "http://timian.jessen.ch/dtd/analog-data.dtd"
If not found locally, the system identifier is used by the Timian XSLT processor to retrieve an external copy of the DTD.

XML Schema

You're perhaps wondering why I didn't just write up a XML Schema for analog-data right away. Don't worry, it's in the pipeline.

XML sample

An excerpt from an analog XML document - the analog section and a single report section. In this case the yearly report, which holds just a single row.

<analog-data version="5.90beta2" timestamp="20030424084747">
<analog>
<property name="version" content="5.90beta2/Unix" />
<property name="built" content="200304141314" />
<property name="starttime" content="200304241047" /> 
<timespan from="200303040336" to="200304232232" days="50.793889" />
</analog>
<report name="rep_year">
<rowlimit count="0" />
<sort dir="ascending" by="" />
<row>
<col name="col_reqs">416</col>
<col name="col_preqs">100.000000</col>
<col name="col_pages">56</col>
<col name="col_ppages">100.000000</col>
<col name="col_bytes">26703141.000000</col>
<col name="col_pbytes">100.000000</col>
<col name="name"><timespan from="200303040000" to="200403022359" /></col>
</row>
<busiest time="200303040000" pages="56" />
</ report><!-- name="rep_year" -->
</analog-data>

See the following sections for a discussion of the individual elements.

Some full-size samples

The full document can be viewed directly from this site, but given its size I suggest you download the compressed version and view it locally.

Continue with part 2
Last time this page was updated: Sunday 4 May 2003 01:08 XHTML 1.1 Conformant! CSS2 Conformant!