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/
