Neil Thaiss · Jul 28, 2021

%XML.Reader Limitations

Hi all,

Are there limitations to the size of a file or stream that %XML.Reader will parse?

I am trying to parse a large, 573MB, XML file using either the 'OpenFile' or 'OpenStream' methods, but both return errors.

When I try to use the 'OpenStream' method I get a 'ERROR #6301: SAX XML Parser Error: input ended before all started tags were ended' error',

and when I try the 'OpenFile' method I get a 'ERROR #6301: SAX XML Parser Error: <STORE>'.

'%XML.TextReader' appears to parse the file OK, so I may be able to get use that as a workaround, but ideally I would like to get '%XML.Reader' working.




Product version: HealthShare 2020.1
$ZV: IRIS for Windows (x86-64) 2020.1 (Build 215_0_20606U) Mon Feb 8 2021 20:55:22 EST
0 225
Discussion (2)1
Log in or sign up to continue

You got the error <STORE>, which means that your process is reached its memory limit. You may try to increase that limit in SMP, to a value more than your file size two times. Or try to change it with $ZStorage just for the current process. For sure, if you have enough memory for it.

Hi Dmitry,

Thanks for the reply, but I believe I have found another solution to the issue.
There is a 'UsePPGHandler' property for the %XML.Reader and if I set this to 1 (true) the reader uses private globals, rather than memory.

So, far so good, as now I can parse the file without any errors and start to correlate it.