Page 1 of 1

Saxon 1033

Posted: Wed Dec 16, 2015 6:05 pm
by Tristan
Hi,

In XML Author I'm trying to process a 500mb xml file to a dita file making use of the build in Saxon processor (xml with xslt transformation).
I keep bumping into memory issues where it complains that the application exceeded the available memory of 1333MB.
  • I have Oxygen 64 bit running on a 64 bit machine
  • for all that it matters: my java home on the windows 7 version is a 64 bit version (think this is irrelevant as oxygen makes use of its own JVM? I assume that's a 64 bit version coming with oxygen 64 bit right?)
  • I increased the memory as described in 'setting a parameter in startup script' to 6g, my machine has 8g available
I would assume that if 6g is set, this would be sufficient for a 500mb document which only transfers

Thoughts
For dita transformations there is a parameter available to increase Xmx for the JVM for that specific transformation, however this option is not available on an XML with XSLT transformation.
It keeps complaining about 1033mb which is a limitation towards 32 bit, am I overlooking a parameter which I can set for a Saxon transformation separately and increase memory?

Side note: I managed to get it to work by streaming it with xslt 3.0, but would like to avoid that so I can more efficiently sort.

Re: Saxon 1033

Posted: Wed Dec 16, 2015 7:29 pm
by ionela
Hi,

Note that if you modify -Xmx parameter in the command line startup script ("oxygenAuthor.bat") then you should open the application using this script, in order to increase the memory allocated to oXygen.
If you start the application with the "oxygenAuthor.exe" launcher(or the desktop shortcut), you need to increase the -Xmx parameter in the oxygenAuthor17.1.vmoptions file from the oXygen XML Author installation folder as described here:
Setting Parameters for the Application Launchers.

However, also 6GB of memory allocated to oXygen may not be sufficient to transform a file of that size. The proper way to transform large input XML files is to use the streaming support from Saxon:
http://www.saxonica.com/html/documentat ... streaming/

Note that Saxon streaming works only with Saxon-EE (Saxon-PE will not report any warnings/errors, but will run out of memory), so make sure you select it in the Transformer combo from the scenario editing dialog.
Scenarios that use Saxon streaming usually don't specify the XML file as input (to prevent the XML model from being built), instead they have an initial template. So, in the scenario editing dialog, you can leave the XML URL field empty and specify the name of the initial template in the "Advanced options" of the transformer (cogwheel icon button, next to the Transformer combo).

I hope this helps.

Regards,
Ionela

Re: Saxon 1033

Posted: Wed Dec 16, 2015 8:11 pm
by Tristan
Yes that helps,

Didn't realize there were to locations where one could adjust the Xmx.
I adjusted to 4g and that was plenty to make it work.

As indicated I did manage to make it work with stream, but I'm not familiar enough yet with the concept and found support on the concept was limited.

Thanks again for the quick support!

Tristan