OpenOffice.org Crash Report XML Document format

Reportmails and XML document parsing

The crash report document parsing and database storage system is designed as an extensible mechanism for crash reports and other related kinds of reports send via email or SOAP(Simple Object Access Protocol). A possible future extension might be for example reports of OpenOffice.org import/export problems. The class of requests handled by this document processing mechanism are called reportmails. Those requests contain at least a reportmail.xml document and eventually also other attachments. For different purposes of reports different XML schemes can be defined. The DTDs for those reportmail.xml documents is designed in a modularized manner. DTD fragments for document modules are included as external XML entities by using XML public Identifiers. Such DTD modules usually use their own XML namespace and define XML Tags for specific purposes.

Document Type errormail and systeminfo

Currently two document types (DTDs) are defined: one for errormails / crashreports and one for system-information.

Errormail DTD

The errormail DTD uses the following DTD modules: ReportMailModule, OfficeInfoModule, SystemInfoModule, ErrorMailModule.

<?xml version="1.0" encoding="UTF-8"?>

<!ENTITY % reportmail-mod PUBLIC "-//OpenOffice.org//DTD ReportMailModule 1.0//EN" "reportmail.mod">

%reportmail-mod;

<!ENTITY % officeinfo-mod PUBLIC "-//OpenOffice.org//DTD OfficeInfoModule 1.0//EN" "officeinfo.mod">

%officeinfo-mod;

<!ENTITY % systeminfo-mod PUBLIC "-//OpenOffice.org//DTD SystemInfoModule 1.0//EN" "systeminfo.mod">

%systeminfo-mod;

<!ENTITY % errormail-mod PUBLIC "-//OpenOffice.org//DTD ErrorMailModule 1.0//EN" "errormail.mod">

%errormail-mod;

Systeminfo DTD

The systeminfo DTD uses only the Module SystemInfoModule. A systeminfo.xml document using this DTD might be used for example to store information about the system gathered once at OpenOffice.org startup in the users filesystem.

<?xml version="1.0" encoding="UTF-8"?>

<!ENTITY % systeminfo-mod PUBLIC "-//OpenOffice.org//DTD SystemInfoModule 1.0//EN" "systeminfo.mod">

%systeminfo-mod;

ReportMailModule

The ReportMail document module is a DTD fragment which defines XML tags for handling data common to different types of report- mails and attachments. The XML elements for the reportmail module use the XML prefix reportmail and the XML namespace http://openoffice.org/2002/reportmail.

Example

<reportmail:mail version="1.0" feedback="true" email="Bernd.Eilers@Sun.COM">
<reportmail:attachment name="comment.txt" media-type="text" class="UserComment"/>
<reportmail:attachment name="stack.txt" media-type="text" class="StackTrace"/>
</reportmail:mail>

Document Type Definition

<!ENTITY nReportMail "http://openoffice.org/2002/reportmail">

<!ELEMENT reportmail:mail (reportmail:title?,reportmail:attachment*) >

<!ATTLIST reportmail:mail xmlns:reportmail	CDATA #FIXED "&nReportMail;">

<!ATTLIST reportmail:mail feedback (true|false) "false">

<!ATTLIST reportmail:mail email CDATA #IMPLIED>

<!ATTLIST reportmail:mail version CDATA #REQUIRED>

<!ELEMENT reportmail:title (#PCDATA)>

<!ELEMENT reportmail:attachment EMPTY>

<!ATTLIST reportmail:attachment name CDATA #REQUIRED>

<!ATTLIST reportmail:attachment media-type CDATA #IMPLIED>

<!ATTLIST reportmail:attachment class CDATA #IMPLIED>

OfficeInfoModule

The officeinfo module handles OpenOffice.org specific information like in the following section of a reportmail.xml document. The XML elements for the officeinfo module use the XML prefix officeinfo and the XML namespace http://openoffice.org/2002/officeinfo.

Example

<officeinfo:officeinfo build="5105" platform="unxlngi3.pro" language="1032" exceptiontype="768" procpath="C:\Office" userpath="C:\Office"/>

Document Type Definition

<!ENTITY nOfficeInfo "http://openoffice.org/2002/officeinfo">

<!ELEMENT officeinfo:officeinfo EMPTY >

<!ATTLIST officeinfo:officeinfo xmlns:officeinfo	CDATA #FIXED "&nOfficeInfo;">

<!ATTLIST officeinfo:officeinfo build CDATA #REQUIRED>

<!ATTLIST officeinfo:officeinfo platform CDATA #REQUIRED>

<!ATTLIST officeinfo:officeinfo language CDATA #REQUIRED>

<!ATTLIST officeinfo:officeinfo exceptiontype CDATA #REQUIRED>

<!ATTLIST officeinfo:officeinfo procpath CDATA #IMPLIED>

<!ATTLIST officeinfo:officeinfo userpath CDATA #IMPLIED>

<!ATTLIST officeinfo:officeinfo product CDATA #IMPLIED>

SystemInfoModule

The SystemInfoModule document module is a DTD fragment which defines XML tags for handling data used for system information such as the name of the operating system or available storage memory, like in the following section of a reportmail.xml document. The XML elements for the systeminfo module use the XML prefix systeminfo and the XML namespace http://openoffice.org/2002/systeminfo.

Example

<systeminfo:systeminfo>
<systeminfo:System name="Windows NT" version="4.0" build="1234" locale="de"/>
<systeminfo:CPU type="x86" count="1" instructionsetvariants="ins" flags="flg">
<systeminfo:CPUBug name="fdiv" value="no"/>
<systeminfo:CPUBug name="hlt" value="yes"/>
<systeminfo:CPUBug name="coma" value="yes"/>
<systeminfo:CPUBug name="sep" value="yes"/>
<systeminfo:CPUBug name="f00f" value="no"/>
<systeminfo:CPUInfo name="bogomips" value="333.41"/>
<systeminfo:CPUInfo name="vendor" value="AMD"/>
</systeminfo:CPU>
<systeminfo:Memory>
<systeminfo:MemoryType name="Physical" total="64 MB" free="12 MB"/>
<systeminfo:MemoryType name="Swap" total="192 MB" free="99 MB"/>
</systeminfo:Memory>
</systeminfo:systeminfo>

Document Type Definition

<!ENTITY nSystemInfo "http://openoffice.org/2002/systeminfo">

<!ELEMENT systeminfo:systeminfo (systeminfo:System,systeminfo:CPU,systeminfo:Memory?)>

<!ATTLIST systeminfo:systeminfo xmlns:systeminfo CDATA #FIXED "&nSystemInfo;">

<!ELEMENT systeminfo:System EMPTY >

<!ATTLIST systeminfo:System

name CDATA #REQUIRED

version CDATA #IMPLIED

build CDATA #IMPLIED

locale CDATA #REQUIRED

>

<!ELEMENT systeminfo:CPU (systeminfo:CPUBug|systeminfo:CPUInfo)*>

<!ATTLIST systeminfo:CPU

type CDATA #REQUIRED

count CDATA #IMPLIED

instructionsetvariants CDATA #IMPLIED

flags CDATA #IMPLIED

>

<!ELEMENT systeminfo:CPUBug EMPTY>

<!ATTLIST systeminfo:CPUBug

name CDATA #REQUIRED

value (yes|no) "yes"

>

<!ELEMENT systeminfo:CPUInfo EMPTY>

<!ATTLIST systeminfo:CPUInfo

name CDATA #REQUIRED

value CDATA #REQUIRED

>

<!ELEMENT systeminfo:Memory (systeminfo:MemoryType+)>

<!ELEMENT systeminfo:MemoryType EMPTY>

<!ATTLIST systeminfo:MemoryType

name CDATA #REQUIRED

total CDATA #REQUIRED

free CDATA #IMPLIED

>

ErrorMailModule

The ErrorMailModule document module is a DTD fragment which defines XML tags specific to crash reports. The XML elements for the errormail module use the XML prefix errormail and the XML namespace http://openoffice.org/2002/officeinfo.

Example

<errormail:errormail uid="be93806" usertype="developer">
...

<errormail:Stack type="WIN32">
<errormail:StackInfo pos="1" ip="3D77e88787" rel="3D00007788" name="KERNEL32.DLL" ordinal="WaitForSingleObject" path="C:\windows"/>
<errormail:StackInfo pos="2" ip="3D207e8af0" rel="3D00471100" name="sal3.dll" ordinal="Ordinal123" path="C:\Office"/>
<errormail:StackInfo pos="3" ip="3D207e8af1" rel="3D00471201" name="vcl644mi.dll" ordinal="Ordinal124" path="C:\Office"/>
<errormail:StackInfo pos="4" ip="3D102e3be1" rel="3D00471302" name="sfx644mi.dll" ordinal="Ordinal125" path="C:\Office"/>
<errormail:StackInfo pos="5" ip="3D102e3be2" rel="3D00471403" name="sw644mi.dll" ordinal="Ordinal126" path="C:\Office"/>
</errormail:Stack>
<errormail:Modules>
<errormail:Module name="soffice.exe" path="F:\Office569s_49\program\soffice.exe">
<errormail:ModuleInfo name="BASE" value="3D01100000"/>
<errormail:ModuleInfo name="Size" value="3D217088"/>
</errormail:Module>
<errormail:Module name="filename" path="path">
<errormail:ModuleInfo name="BASE" value="xxxxxxxxxx"/>
<errormail:ModuleInfo name="Size" value="xxxxxxxx"/>
</errormail:Module>
</errormail:Modules>

<errormail:SystemDirs>
<errormail:SystemDir envname="Windows" path="G:\WINNT"/>
</errormail:SystemDirs>

<errormail:GraphicsSystem xserverinfo="DISPLAY=:0.0" vendor="SUN" vendorrelease="3610" protocol="11.0" screens="1 (default=0)">
<errormail:Extensions>

<errormail:Extension name="Adobe-DPS-Extension"/>
<errormail:Extension name="DPSExtension"/>
<errormail:Extension name="SHAPE"/>
<errormail:Extension name="MIT-SHM"/>
<errormail:Extension name="SolarisIA"/>
</errormail:Extensions>
<errormail:Visuals selectedid="0x22">
<errormail:Visual id="0x22" depth="8" class="PseudoColor" bitsperrgb="8" redmask="0x0" greenmask="0x0" bluemask="0x3"/>
<errormail:Visual id="0x23" depth="8" class="DirectColor" bitsperrgb="8" redmask="0xe0" greenmask="0x1c" bluemask="0x0"/>
<errormail:Visual id="0x24" depth="8" class="GrayScale" bitsperrgb="8" redmask="0x0" greenmask="0x0" bluemask="0x0"/>
</errormail:Visuals>

<errormail:Fontpaths>
<errormail:Fontpath name="/usr/openwin/lib/X11/fonts/F3/"/>
<errormail:Fontpath name="/usr/openwin/lib/X11/fonts/F3bitmaps/"/>
<errormail:Fontpath name="/usr/openwin/lib/X11/fonts/Type1/"/>
</errormail:Fontpaths>

</errormail:GraphicsSystem>

</errormail:errormail>

Document Type Definition

<!ENTITY nErrorMail "http://openoffice.org/2002/errormail">

<!ELEMENT errormail:errormail (reportmail:mail, officeinfo:officeinfo, systeminfo:systeminfo,

errormail:Stack?,errormail:Modules?,

errormail:SystemDirs?,errormail:GraphicsSystem?) >

<!ATTLIST errormail:errormail xmlns:errormail CDATA #FIXED "&nErrorMail;">

<!ATTLIST errormail:errormail uid CDATA #IMPLIED>

<!ATTLIST errormail:errormail usertype CDATA #IMPLIED>

<!ELEMENT errormail:Stack (errormail:StackInfo+)>

<!ATTLIST errormail:Stack

type CDATA #REQUIRED

>

<!ELEMENT errormail:StackInfo EMPTY>

<!ATTLIST errormail:StackInfo

pos CDATA #IMPLIED

ip CDATA #IMPLIED

rel CDATA #IMPLIED

name CDATA #IMPLIED

ordinal CDATA #IMPLIED

path CDATA #IMPLIED

>

<!ELEMENT errormail:ModuleInfo EMPTY>

<!ATTLIST errormail:ModuleInfo

name CDATA #REQUIRED

value CDATA #REQUIRED

>

<!ELEMENT errormail:Module (errormail:ModuleInfo+)>

<!ATTLIST errormail:Module

name CDATA #REQUIRED

path CDATA #REQUIRED

>

<!ELEMENT errormail:Modules (errormail:Module+)>

<!ELEMENT errormail:SystemDirs (errormail:SystemDir*)>

<!ELEMENT errormail:SystemDir EMPTY>

<!ATTLIST errormail:SystemDir

envname CDATA #REQUIRED

path CDATA #REQUIRED

>

<!ELEMENT errormail:GraphicsSystem (errormail:Extensions?,errormail:Visuals?,errormail:Fontpaths?)>

<!ATTLIST errormail:GraphicsSystem

xserverinfo CDATA #IMPLIED

vendor CDATA #IMPLIED

vendorrelease CDATA #IMPLIED

protocol CDATA #IMPLIED

screens CDATA #IMPLIED

>

<!ELEMENT errormail:Extension EMPTY>

<!ATTLIST errormail:Extension

name CDATA #REQUIRED

>

<!ELEMENT errormail:Visual EMPTY>

<!ATTLIST errormail:Visual

id CDATA #REQUIRED

depth CDATA #REQUIRED

class CDATA #IMPLIED

bitsperrgb CDATA #IMPLIED

redmask CDATA #IMPLIED

greenmask CDATA #IMPLIED

bluemask CDATA #IMPLIED

>

<!ELEMENT errormail:Extensions (errormail:Extension*)>

<!ELEMENT errormail:Visuals (errormail:Visual*)>

<!ATTLIST errormail:Visuals

selectedid CDATA #IMPLIED

>

<!ELEMENT errormail:Fontpaths (errormail:Fontpath*)>

<!ELEMENT errormail:Fontpath EMPTY>

<!ATTLIST errormail:Fontpath

name CDATA #REQUIRED

>

Bernd Eilers

2003-01-14T17:07:05

Bernd Eilers