Insights into NotesSax Parser
I was working on a project that needs to import XML. Since the files could become rather big I opted not to use DXL but the NotesSAX parser class. When you are a Lotus Script die hard without much exposure to other languages the SAX parser has a "very first" for you: definition of event handlers. For those VB.NET, C#, Java and other buffs it's nothing special.
The nice thing about SAX parsers (compared to text parsing): they fix the character set for you. For example the snippet:
<company> Peter & Pan</company>
will arrive as a StartElement event, a series of Character events and one Stop event. The NotesSAX parser actually will deliver 3 Character events! Since the & is an encoded entry, the text will be split into 3 and delivered as "Peter " "&" " Pan". Nota bene: there are leading and trailing spaces you can't trim. Typically you would create a steering object, that keeps the state where in XML stream you are and write out your text on a Element (either Start or End) into whatever you want to write to. I'll post some sample code for the Excel project soon.
The nice thing about SAX parsers (compared to text parsing): they fix the character set for you. For example the snippet:
<company> Peter & Pan</company>
will arrive as a StartElement event, a series of Character events and one Stop event. The NotesSAX parser actually will deliver 3 Character events! Since the & is an encoded entry, the text will be split into 3 and delivered as "Peter " "&" " Pan". Nota bene: there are leading and trailing spaces you can't trim. Typically you would create a steering object, that keeps the state where in XML stream you are and write out your text on a Element (either Start or End) into whatever you want to write to. I'll post some sample code for the Excel project soon.
Posted by Stephan H Wissel on 22 August 2005 | Comments (0) | categories: IBM Notes Lotus Notes