2013-05-21 2 views
0

У меня есть XML, на котором я выполняю преобразование XSLT. XSLT я получаю от другого источника, поэтому я не могу контролировать его. Проблема возникает, когда между XSLT и XML существует небольшая разница. Например мой XML изначально выглядит следующим образом:XSLT и XML не соответствуют

<a> 
    <b></b> 
    <c></c> 
</a> 

Позже мои XML изменения что-то вроде этого:

<a> 
    <b> 
     <c></c> 
    </b> 
</a> 

Так как во втором случае, преобразование XSLT выбрасывает кучи пространства исключение. Есть ли способ проверить мой XSLT на XML? Я хочу проверить, соответствует ли XSLT правильному XML. Может ли кто-нибудь сказать мне, как я могу избежать этого исключения outOfMemory, и даже если я получу это исключение, как я могу помешать этому приложению потреблять всю кучу памяти JVM?

+0

Не видя своего XSLT и некоторого реального входного XML, невозможно сказать, что не так. –

ответ

0

Есть ли у вас схема DTD или XML? Затем вы можете проверить выход преобразования. Что касается проверки самого преобразования без его запуска, это, похоже, противоречит теореме о неполноте.

Что касается предотвращения превращения, чтобы съесть всю вашу память, единственным надежным способом предотвратить это является песочница в отдельный процесс с контролируемыми ограничениями памяти.

+0

Это должен быть комментарий, а не ответ. –