Search code examples
xsltrecursionstackoverflowmsxml

Increase XSL stack size in MSXML


In the XSL processor in MSXML, I'm getting an error while running a recursive template on a "larger" dataset. The recursion terminates correctly, and works fine for "smaller" datasets as well, so I know it's not an infinite loop. Is there a way to jack up the stack size somewhat as a quick fix, as opposed to recoding to shoot for lower stack usage (which is probably a useful longer term goal).

msxml3.dll error '80004005'  The XSL processor stack has overflowed - probable cause is infinite template recursion.

Thank you, Stack overflow readers!


Solution

  • I am not aware of any such setting or property and the documentation https://msdn.microsoft.com/en-us/library/ms766391%28v=vs.85%29.aspx only has some security related properties like MaxElementDepth and MaxXMLSize but no settings on the XSLT processor https://msdn.microsoft.com/en-us/library/ms757015%28v=vs.85%29.aspx.

    So based on that it looks as you need to rewrite your code and use techniques like divide and conquer to reduce recursion depth.