Is SAXParser limited with attachments?

Hi !

I have made two agents

exportDocumentWithDXLExporter

exportDocumentWithSAX

Both agents echo the document to a file and they seem to work.

If I put a big attactment (>50kb) into a document and export it with the SAXparser, then it truncates the document. If the document is small enough ie. 22 kb, the document isn’t truncated.

Does anyone know why this happens?

Sincerely,

Kasper

Subject: Is SAXParser limited with attachments?

Hi,

I’m working on something similar. I assume it has something to do with limitations of the String data type in Lotus Script. Strings are limited to 32K in length. The character event passes the contents in a String variable, so large items will become truncated.

What I find more than interesting is, that len(characters) still returns lengths greater than 32K. How can this be???

Has anyone a solution for this problem?

Regards

Bastian

Subject: RE: Is SAXParser limited with attachments?

String CONSTANTS are limited to 32K.Strings are NOT limited to 32K but rather 2GB.

Such truncations usually occur when someone controls the length with an integer(16 bit) instead of a long(32 bit)

Sorry in this case no solution.

Subject: RE: Is SAXParser limited with attachments?

Hi Haydn,

thanks for your response! Good news to know that there’s no limit on strings anymore. Your hint gave me the basics to a solution for my problem. For some reason the SAXParser.output method is unable to work with strings longer than 32K, though the parser passes input-strings longer than that. My idea was, if output is limited to 32K why not give it chunks of limited size and iterate through large strings:

Sub SAXCharacters (Source As Notessaxparser, Byval Characters As String, Count As Long)

Dim index As Long

index = 1

Do

Source.Output(Mid$(Characters, index, 20000))

index = index + 20000

Loop Until index > count

end sub

After having finished the loop, the whole string has been passed to the output without truncation :slight_smile:

Regards

Bastian