If anyone is interested I solved this by changing the following:

  <ColumnMap Node="EventProgramStack/ProgramStackLevel,ProgramStackAddress"
Column="ProgramStackAddress"/>
  <ColumnMap
Node="EventProgramStack/ProgramStackLevel,ProgramStackLevelNumber"
Column="ProgramStackLevelNumber"/>
  <ColumnMap Node="EventProgramStack/ProgramStackLevel,ProgramStackName"
Column="ProgramStackName"/>

to

  <ColumnMap Node="EventProgramStack/ProgramStackLevel,ProgramStackAddress"
Column="ProgramStackAddress"/>
  <ColumnMap
Node="EventProgramStack/ProgramStackLevel,ProgramStackLevelNumber"
Column="ProgramStackLevelNumber"/>
  <ColumnMap Node="EventProgramStack/ProgramStackLevel,ProgramStackName"
Column="ProgramStackName"/>

TIA

________________________________

From: phil walker
Sent: Tuesday, 31 January 2006 2:41 p.m.
To: '[email protected]'
Subject: [U2] XML mapping file - HELP


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/

Reply via email to