I have a file which contains some audit information
1138616151.3240
0001 13910
0002 83751.324
0003
0004 CONSUMER
0005 UPDATE
0006 APOLLO\Administrator
0007 2460
0008 2460
0009 telnet
0010
33C:\IBM\UV/catdir/%AExodusMain.trg30x1c4223C:\IBM\UV/catdir/%AExodusStub.trg
30x0213C:\IBM\UV/BP.O/ED.B30x73ac2
0011
0012
0013
0014
0015 ABC
0016 A2B2C212345
0017 ABC
0018 A2B2C212345
0019
0020
0021
Press any key to continue...
0022
0023
0024
0025
0026
The dictionary for the file is as follows:
DICT ExodusLogFile 02:05:28pm 31 Jan 2006 Page 1
Type &
Field.................... Field. Field.................... Conversion..
Column......... Output Depth &..................
Name..................... Number Definition............... Code........
Heading........ Format Assoc....................
EventSequence D 0
15R S
EventDate D 1 D-YMD[4,2,2]
10R S
EventTime D 2 MTS
8R S
EventSchemaName D 3
15L S
EventTableName D 4
40L S
EventDescription D 5
15L S
EventLogname D 6
40L S
EventUserno D 7
15L S
EventPid D 8
15L S
EventTty D 9
15L S
ProgramStackLevelNumber D 11
3L M ProgramStackLevel
ProgramStackName D 12
40L M ProgramStackLevel
ProgramStackAddress D 13
40L M ProgramStackLevel
@SELECT PH EventSequence EventDate
EventTime EventSchemaName
EventTableName
EventDescription
EventLogname EventUserno
EventPid EventTty
ProgramStackLevelNumber
ProgramStackName
ProgramStackAddress
ProgramStackLevel PH ProgramStackLevelNumber
ProgramStackName
ProgramStackAddress
I also have an AUDIT.xsd file which I created and have modified which is the
following:
AUDIT.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema
<http://www.w3.org/2001/XMLSchema> ">
<xsd:annotation>
<xsd:documentation xml:lang="en">
account: C:\data\Universe\Exodus
command: SELECT * FROM ExodusLogFile WHERE 1 = 1 TOXML WITHSCHEMA ELEMENTS
TO 'AUDIT';
</xsd:documentation>
</xsd:annotation>
<xsd:element name="AuditData">
<xsd:complexType>
<xsd:sequence minOccurs="1" maxOccurs="1">
<xsd:element ref="EventSequence"/>
<xsd:element ref="EventDate"/>
<xsd:element ref="EventTime"/>
<xsd:element ref="EventSchemaName"/>
<xsd:element ref="EventTableName"/>
<xsd:element ref="EventDescription"/>
<xsd:element ref="EventLogname"/>
<xsd:element ref="EventUserno"/>
<xsd:element ref="EventPid"/>
<xsd:element ref="EventTty"/>
<xsd:element ref="EventProgramStack" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="EventProgramStack">
<xsd:complexType>
<xsd:sequence minOccurs="1" maxOccurs="1">
<xsd:element ref="ProgramStackLevel" minOccurs="1"
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="EventSequence" type="xsd:string"/>
<xsd:element name="EventDate" type="xsd:string"/>
<xsd:element name="EventTime" type="xsd:string"/>
<xsd:element name="EventSchemaName" type="xsd:string"/>
<xsd:element name="EventTableName" type="xsd:string"/>
<xsd:element name="EventDescription" type="xsd:string"/>
<xsd:element name="EventLogname" type="xsd:string"/>
<xsd:element name="EventUserno" type="xsd:string"/>
<xsd:element name="EventPid" type="xsd:string"/>
<xsd:element name="EventTty" type="xsd:string"/>
<xsd:element name="ProgramStackLevel">
<xsd:complexType>
<xsd:sequence minOccurs="1" maxOccurs="unbounded">
<xsd:element ref="ProgramStackLevelNumber" minOccurs="1"
maxOccurs="unbounded"/>
<xsd:element ref="ProgramStackName" minOccurs="1"
maxOccurs="unbounded"/>
<xsd:element ref="ProgramStackAddress" minOccurs="1"
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="ProgramStackLevelNumber" type="xsd:string"/>
<xsd:element name="ProgramStackName" type="xsd:string"/>
<xsd:element name="ProgramStackAddress" type="xsd:string"/>
</xsd:schema>
along with an AUDIT.map file which I created using the U2 XML/DB Tool and have
modified which is the following
AUDIT.map
<?xml version="1.0" ?>
<!-- DOCTYPE U2XMAP SYSTEM "U2XMAP.DTD" -->
<U2XMAP version="1.0" Name="AUDIT.map" XSD="AUDIT.xsd">
<OPTIONS>
<EmptyString IsNull="ON" />
<DateFormat Format="XMLFormat" />
<ExistRecord Action="Replace"/>
</OPTIONS>
<!-- Table/Class map ExodusLogFile_AuditData -->
<TABLECLASSMAP MapName="ExodusLogFile_AuditData" StartNode="/AuditData"
TableName="ExodusLogFile" Action="Replace">
<ColumnMap Node="EventDate" Column="EventDate"/>
<ColumnMap Node="EventDescription" Column="EventDescription"/>
<ColumnMap Node="EventLogname" Column="EventLogname"/>
<ColumnMap Node="EventPid" Column="EventPid"/>
<ColumnMap Node="EventSchemaName" Column="EventSchemaName"/>
<ColumnMap Node="EventSequence" Column="EventSequence"/>
<ColumnMap Node="EventTableName" Column="EventTableName"/>
<ColumnMap Node="EventTime" Column="EventTime"/>
<ColumnMap Node="EventTty" Column="EventTty"/>
<ColumnMap Node="EventUserno" Column="EventUserno"/>
<ColumnMap Node="EventProgramStack,ProgramStackLevel,ProgramStackAddress"
Column="ProgramStackAddress"/>
<ColumnMap
Node="EventProgramStack,ProgramStackLevel,ProgramStackLevelNumber"
Column="ProgramStackLevelNumber"/>
<ColumnMap Node="EventProgramStack,ProgramStackLevel,ProgramStackName"
Column="ProgramStackName"/>
</TABLECLASSMAP>
</U2XMAP>
When I use a BASIC program to generate an XML document using XMAPCreate,
XMAPAppendRec and XMAPToXMLDoc functions I get the following XML document:
<AuditData>
<EventDate>2006-01-30</EventDate>
<EventDescription>UPDATE</EventDescription>
<EventLogname>APOLLO\Administrator</EventLogname>
<EventPid>2460</EventPid>
<EventSchemaName>
</EventSchemaName>
<EventSequence>1138616151.3240</EventSequence>
<EventTableName>CONSUMER</EventTableName>
<EventTime>23:15:51</EventTime>
<EventTty>telnet</EventTty>
<EventUserno>2460</EventUserno>
<EventProgramStack>
<ProgramStackLevel>
<ProgramStackAddress>0x73ac</ProgramStackAddress>
<ProgramStackLevelNumber>1</ProgramStackLevelNumber>
<ProgramStackName>C:\IBM\UV/BP.O/ED.B</ProgramStackName>
</ProgramStackLevel>
</EventProgramStack>
<EventProgramStack>
<ProgramStackLevel>
<ProgramStackAddress>0x0</ProgramStackAddress>
<ProgramStackLevelNumber>2</ProgramStackLevelNumber>
<ProgramStackName>C:\IBM\UV/catdir/%AExodusStub.trg</ProgramStackNa
me>
</ProgramStackLevel>
</EventProgramStack>
<EventProgramStack>
<ProgramStackLevel>
<ProgramStackAddress>0x1c4</ProgramStackAddress>
<ProgramStackLevelNumber>3</ProgramStackLevelNumber>
<ProgramStackName>C:\IBM\UV/catdir/%AExodusMain.trg</ProgramStackNa
me>
</ProgramStackLevel>
</EventProgramStack>
</AuditData>
rather than what I want which is
<AuditData>
<EventDate>2006-01-30</EventDate>
<EventDescription>UPDATE</EventDescription>
<EventLogname>APOLLO\Administrator</EventLogname>
<EventPid>2460</EventPid>
<EventSchemaName>
</EventSchemaName>
<EventSequence>1138616151.3240</EventSequence>
<EventTableName>CONSUMER</EventTableName>
<EventTime>23:15:51</EventTime>
<EventTty>telnet</EventTty>
<EventUserno>2460</EventUserno>
<EventProgramStack>
<ProgramStackLevel>
<ProgramStackAddress>0x73ac</ProgramStackAddress>
<ProgramStackLevelNumber>1</ProgramStackLevelNumber>
<ProgramStackName>C:\IBM\UV/BP.O/ED.B</ProgramStackName>
</ProgramStackLevel>
<ProgramStackLevel>
<ProgramStackAddress>0x0</ProgramStackAddress>
<ProgramStackLevelNumber>2</ProgramStackLevelNumber>
<ProgramStackName>C:\IBM\UV/catdir/%AExodusStub.trg</ProgramStackNa
me>
</ProgramStackLevel>
<ProgramStackLevel>
<ProgramStackAddress>0x1c4</ProgramStackAddress>
<ProgramStackLevelNumber>3</ProgramStackLevelNumber>
<ProgramStackName>C:\IBM\UV/catdir/%AExodusMain.trg</ProgramStackNa
me>
</ProgramStackLevel>
</EventProgramStack>
</AuditData>
NOTE: I have transposed the contents of field 10, SYSTEM(9001), into fields
11,12 and 13 so that the data is of the same type.
Has anyone worked with the .map, .xsd files, and the XMAPxxxx functions, and
if so, do they know how I would accomplish this using them if possible?
Cheers,
Phil.
DICT ExodusLogFile 02:07:11pm 31 Jan 2006 Page 2
Type &
Field.................... Field. Field.................... Conversion..
Column......... Output Depth &..................
Name..................... Number Definition............... Code........
Heading........ Format Assoc....................
EventLogname EventUserno
EventPid EventTty
ProgramStackLevelNumber
ProgramStackName
ProgramStackAddress
ProgramStackLevel PH ProgramStackLevelNumber
ProgramStackName
ProgramStackAddress
15 records listed.
-------
u2-users mailing list
[email protected]
To unsubscribe please visit http://listserver.u2ug.org/