XSLT 및 XQuery 디버깅 방법

XSLT 또는 XQuery 변환 과정에서 예상치 못한 결과가 나올 때, 그 원인을 파악하기 위해 몇 시간씩 씨름하는 것만큼 답답한 일은 없습니다. 특히 다른 개발자로부터 프로젝트를 인계받았거나, 몇 달 동안 코드를 보지 못했다면 더욱 그렇습니다. 다행히 XMLSpy는 오랫동안 XSLT 디버거XQuery 디버거를 제공하여, 중단점을 설정하고 변환 과정을 단계별로 추적하여 문제를 식별할 수 있도록 지원합니다.

보다 상호작용적인 디버깅 프로세스를 위해, XMLSpy는 XSLT/XQuery 역매핑 기능도 제공합니다.

역추적 기능을 활성화하면, 출력 문서에서 특정 부분을 클릭하거나 마우스 커서를 올려 해당 부분을 선택하면, XMLSpy가 즉시 해당 부분과 관련된 원본 XML 및 XSLT 또는 XQuery 코드를 강조 표시합니다. 작동 방식을 살펴보겠습니다.

백트래킹을 이용한 XSLT 및 XQuery 디버깅

XSLT 및 XQuery 문서는 종종 길고 복잡하기 때문에, 의도하지 않은 결과의 원인을 파악하기 어려울 수 있습니다. 효과적인 디버깅을 위해, 역추적 기능을 사용하면 어떤 노드와 명령이 결과에 영향을 미치는지 즉시 확인할 수 있습니다.

역변환 기능이 활성화되면, XSLT 변환 및 XQuery 실행이 수행되어 결과 문서가 원래의 XSLT+XML 또는 XQuery+XML 문서에 다시 연결될 수 있습니다. 결과 문서의 특정 부분을 마우스로 가리키면, 해당 결과 노드에 대한 XSLT/XQuery 명령어와 XML 소스 데이터가 강조 표시됩니다.

한 번 시도해 봅시다. XSLT 또는 XQuery 변환을 시작하기 전에, XMLSpy 도구 모음에서 "역변환 활성화" 버튼을 클릭하십시오.

XMLSpy는 원본 문서와 결과 문서를 나란히 표시하는 옵션을 제공하여, 관련된 요소를 하나의 창에서 쉽게 확인할 수 있도록 합니다. 그런 다음, 변환 작업을 실행하십시오.

아래에 제시된 XSLT 변환 예시에서, 브라우저 보기에서 출력 문서의 라디오 버튼 중 하나에 마우스를 올려놓으면, XMLSpy는 XML 및 XSLT 문서에서 해당 소스 노드와 명령어를 자동으로 강조 표시합니다.

XSLT 및 XQuery 결과물을 텍스트 보기에서 확인할 때도 동일한 방식으로 작동합니다. 분석하고자 하는 결과 문서의 해당 부분을 선택하기만 하면 됩니다.

XSLT 및 XQuery 코드를 테스트하고 디버깅할 때, 결과물을 클릭 한 번으로 해당 소스를 확인할 수 있는 기능은 시간을 크게 절약해 줍니다. 무엇보다 중요한 점은, XMLSpy가 사용자의 결과 문서에 어떤 식으로든 영향을 주지 않고도 역매핑을 수행한다는 것입니다.

이 짧은 동영상을 통해 XSLT와 XQuery에서 이 기능이 어떻게 작동하는지 확인해 보세요.