LOTUSSCRIPT/COM/OLE CLASSES
(Options) %INCLUDE "lsconst.lss" Sub Initialize Dim session As New NotesSession Dim saxParser As NotesSAXParser Dim xml_in As NotesStream filename$ = "c:\dxl\xmlin.xml" ' open input file Set xml_in=session.CreateStream If Not xml_in.Open(filename$) Then Messagebox "Cannot open " & filename$,, "XML file error" Exit Sub End If If xml_in.Bytes = 0 Then Messagebox filename$ & " is empty",, "XML file error" Exit Sub End If Dim xml_out As NotesStream filename$ = "c:\dxl\saxparser.txt" ' create output file Set xml_out=session.CreateStream If Not xml_out.Open(filename$) Then Messagebox "Cannot create " & filename$,, "TXT file error" Exit Sub End If xml_out.Truncate Set saxParser=session.CreateSAXParser(xml_in, xml_out) On Event SAX_Characters From saxParser Call SAXCharacters On Event SAX_EndDocument From saxParser Call SAXEndDocument On Event SAX_EndElement From saxParser Call SAXEndElement On Event SAX_Error From saxParser Call SAXError On Event SAX_FatalError From saxParser Call SAXFatalError On Event SAX_IgnorableWhitespace From saxParser _ Call SAXIgnorableWhitespace On Event SAX_NotationDecl From saxParser Call SAXNotationDecl On Event SAX_ProcessingInstruction From saxParser _ Call SAXProcessingInstruction On Event SAX_StartDocument From saxParser Call SAXStartDocument On Event SAX_StartElement From saxParser Call SAXStartElement On Event SAX_UnparsedEntityDecl From saxParser Call SAXUnparsedEntityDecl On Event SAX_Warning From saxParser Call SAXWarning saxParser.Process ' initiate parsing End Sub Sub SAXStartDocument (Source As Notessaxparser) Messagebox "Start reading Document", MB_ICONINFORMATION End Sub Sub SAXEndDocument (Source As Notessaxparser) Messagebox "End of Document", MB_ICONINFORMATION End Sub Sub SAXCharacters (Source As Notessaxparser, Byval Characters As String, _ Count As Long) Messagebox "Characters found", MB_ICONINFORMATION Source.Output (Characters) End Sub Sub SAXEndElement (Source As Notessaxparser, Byval ElementName As String) Messagebox "End of Element", MB_ICONINFORMATION End Sub Sub SAXError (Source As Notessaxparser, Exception As NotesSaxException ) Messagebox "Error - "+Exception.Message, MB_ICONINFORMATION Source.Output ("Error - "+Exception.Message) End Sub Sub SAXFatalError (Source As Notessaxparser, Exception As NotesSaxException) Messagebox "FatalError - "+Exception.Message, MB_ICONINFORMATION Source.Output ("FatalError - "+Exception.Message) End Sub Sub SAXIgnorableWhitespace (Source As Notessaxparser,_ Byval characters As String, Count As Long) Messagebox "Ignorable Whitespace found", MB_ICONINFORMATION End Sub Sub SAXNotationDecl (Source As Notessaxparser,_ Byval NotationName As String, Byval publicid As String,_ Byval systemid As String) Messagebox "Notation Declaration found", MB_ICONINFORMATION End Sub Sub SAXProcessingInstruction (Source As Notessaxparser,_ Byval target As String, Byval PIData As String) Messagebox "Processing Instruction found", MB_ICONINFORMATION End Sub Sub SAXStartElement (Source As Notessaxparser,_ Byval elementname As String, Attributes As NotesSaxAttributeList) Dim i As Integer Messagebox "Start reading Element name = "+elementname, MB_ICONINFORMATION If Attributes.Length > 0 Then Dim attrname As String For i = 1 To Attributes.Length attrname = Attributes.GetName(i) ' test GetValue and GetType args two ways _ ' - by attribute name and by attribute index Messagebox "Attribute "+attrname+" = "_ +Attributes.GetValue(attrname)+", type = "_ +Attributes.GetType(attrname), MB_ICONINFORMATION Messagebox "Attribute "+attrname+" = "+Attributes.GetValue(i)+_ ", type = "+Attributes.GetType(i), MB_ICONINFORMATION Source.Output("Attribute "+attrname+_ " = "+Attributes.GetValue(attrname)+_ ", type = "+Attributes.GetType(attrname)) Next End If End Sub Sub SAXUnParsedEntityDecl (Source As Notessaxparser,_ Byval Entityname As String, Byval publicid As String,_ Byval systemid As String, Byval notationname As String) Messagebox "Unparsed Entity Declaration found", MB_ICONINFORMATION End Sub Sub SAXWarning (Source As Notessaxparser, Exception As NotesSaxException) Messagebox "Warning - "+Exception.Message, MB_ICONINFORMATION Source.Output("Warning - "+Exception.Message) End Sub
See Also