2013-05-21 6 views
0

XSLT 변환을 수행하는 XML이 있습니다. 다른 소스에서받은 XSLT이므로 제어 할 수 없습니다. 이 문제는 XSLT와 XML간에 약간의 차이가있을 때 발생합니다. 예를 들어 내 XML은 다음과 같이 처음 같습니다XSLT와 XML이 일치하지 않습니다.

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

나중에 내 XML의이 같은 변경 :

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

그래서 두 번째 경우, XSLT 변환이 힙 공간 예외가 발생합니다. XML에 대해 내 XSLT의 유효성을 검사 할 수있는 방법이 있습니까? XSLT가 올바른 XML에 해당하는지 확인하고 싶습니다. 누군가이 outOfMemory 예외를 피할 수있는 방법을 알려줄 수 있습니까?이 예외가 발생하더라도이 응용 프로그램이 모든 JVM 힙 메모리를 사용하지 못하게하려면 어떻게해야합니까?

+0

XSLT와 실제 입력 XML을 보지 않고 무엇이 잘못되었는지를 알 수 없습니다. –

답변

0

DTD 또는 XML 스키마가 있습니까? 그런 다음 변환 출력의 유효성을 검사 할 수 있습니다. 변환 자체를 실행하지 않고 변환 자체에 대한 유효성 검증은 불완전 성 정리에 위배되는 것으로 보인다.

변환을 막아 모든 메모리를 다 써 버리는 것을 막을 수있는 유일한 방법은 메모리 제약 조건이있는 별도의 프로세스에 샌드 박스를 저장하는 것입니다.

+0

이것은 답변이 아니라 주석이어야합니다. –

관련 문제