2015-04-23 6 views
0

В XSL-процессоре в MSXML я получаю сообщение об ошибке при запуске рекурсивного шаблона на «более крупном» наборе данных. Рекурсия завершается правильно и отлично работает и для «меньших» наборов данных, поэтому я знаю, что это не бесконечный цикл. Есть ли способ увеличить размер стека несколько как быстрое исправление, в отличие от перекодирования для съемки для более низкого использования стека (что, вероятно, является полезной долгосрочной целью).Увеличьте размер стека XSL в MSXML

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

Спасибо, читатели переполнения стека!

ответ

1

Я не знаю ни одного такого параметра или имущества и документации https://msdn.microsoft.com/en-us/library/ms766391%28v=vs.85%29.aspx имеет только некоторые свойства, связанные с безопасностью, как MaxElementDepth и MaxXMLSize, но нет настройки на процессор XSLT https://msdn.microsoft.com/en-us/library/ms757015%28v=vs.85%29.aspx.

Таким образом, на основе этого вам кажется, что вам нужно переписать свой код и использовать такие методы, как divide and conquer, чтобы уменьшить глубину рекурсии.

+1

... или переключиться на XSLT-процессор, который реализует оптимизацию хвостового вызова. –