XSLT 디버거

XSLT 코드를 완벽하게 만들기 위한 디버깅 및 역변환 방법

  • XSLT 1.0, XSLT 2.0, XSLT 3.0을 지원합니다
  • XSLT 역변환
  • 출력 내용을 클릭하면 소스 노드 또는 명령어를 확인할 수 있습니다
  • 단계별 노드 변환 과정
  • 노드에 들어가고, 노드를 벗어나고, 노드를 넘어서는 것
  • 중단점 및 추적점 설정
  • 컨텍스트 정보 창
  • 호출 스택 창
  • XML, XSLT, 그리고 출력 결과 창이 동시에 표시됩니다
  • XSLT 프로파일러 그리고 XSL 속도 최적화 도구
  • Java, JavaScript, C#, 및 VBScript 코드를 포함하는 XSLT 코드의 디버깅

XSLT 역매핑을 이용한 디버깅

XSLT 역매핑을 사용하여 디버깅합니다

툴바 버튼을 통해 역매핑 기능을 활성화하면, XSLT 변환이 수행되어 결과 문서가 원래의 XSLT 및 XML 문서에 다시 연결됩니다. 즉, 결과 문서의 특정 노드를 클릭하면, 해당 노드를 생성하는 데 사용된 XSLT 명령어와 XML 소스 데이터가 강조 표시됩니다.

"뒤로 가기" 버튼을 사용하면 변환 후 원본 파일, XSLT/XQuery 스크립트, 그리고 결과 파일을 자동으로 분할하여 쉽게 검토할 수 있습니다. (오른쪽 그림 참조)

변환된 결과를 텍스트 보기 또는 브라우저 보기에서 클릭하면 원본으로 되돌아갈 수 있습니다. 또한, 브라우저 보기에서 HTML 결과를 확인할 때, 원하는 부분을 마우스로 가리키면 XMLSpy가 자동으로 해당 XML 노드와 XSLT 표현식을 강조 표시해 줍니다.

XSLT 디버깅 시 역매핑을 활용하는 방법에 대한 영상

XMLSpy를 선택해야 하는 이유는 무엇일까요?

XMLSpy의 역방향 매핑 기능은 다음과 같은 두 가지 측면에서 혁신적입니다.

첫째, 이 기능은 코드 디버깅, 개선, 완성 과정에서 엄청난 시간을 절약해 줄 뿐만 아니라, 다른 팀원들이 작성한 기존 코드를 이해하는 데에도 큰 도움이 될 것입니다.

두 번째로, XMLSpy는 역방향 매핑을 수행하기 위해 출력 문서에 어떠한 변경을 가하거나 추가 코드를 삽입하지 않습니다.

XSLT 디버거

더 자세한 테스트를 위해 XMLSpy의 XSLT 디버거를 사용할 수 있습니다.

XSLT 디버거

XSLT 디버거는 XML 문서, 해당 XSLT 스타일시트, 그리고 실시간으로 생성되는 출력 문서를 표시하는 세 개의 패널로 구성된 인터페이스를 제공합니다. 세 개의 패널 아래에는 "컨텍스트" 및 "호출 스택" 정보 창이 있으며, 이 창들은 여러 개의 탭으로 구성되어 있어 디버깅에 필요한 모든 정보를 제공합니다.

단계별 디버깅 방법

XSLT 디버거를 사용하면 변환 과정을 단계별로 확인할 수 있으며, 노드 안으로 들어가거나, 밖으로 나오거나, 노드를 건너뛸 수 있습니다. 이 디버거는 XSLT 코드에서 현재 실행 중인 명령과 XML 파일에서 현재 처리 중인 노드를 강조 표시하며, 각 단계별 결과를 출력 창에 표시합니다. 이 세 가지 요소를 동시에 확인하면 XML 데이터가 코드에 의해 어떻게 처리되는지 즉각적으로 시각적으로 이해할 수 있습니다.

컨텍스트 창 (또는 문맥 창)

스타일시트를 디버깅하는 동안, XSLT 디버거는 유용한 정보를 여러 가지 형태로 제공합니다. 출력 창과 추적 창에 표시되는 정보 외에도, 디버깅 정보 창은 컨텍스트 창에 추가적인 중요한 세부 정보를 표시하여 디버깅을 돕습니다

  • 설명: 현재 선택된 항목의 관련 정보(노드 및 속성 또는 값)를 보여줍니다.
  • 변수: 전역 변수, 지역 변수, 그리고 매개변수 기반 변수를 표시하며, 각 변수의 이름과 값을 함께 보여줍니다.
  • XPath 모니터: XPath 표현식을 평가하여 결과를 표시합니다. 이 기능은 입력 방식에 따라 루트 노드 또는 컨텍스트 노드를 기준으로 평가를 수행합니다. 사용자는 모니터링하고자 하는 XPath 표현식을 이 곳에서 정의할 수 있습니다.

호출 스택 창

통화 스택 정보 창에는 다음과 같은 탭이 있습니다

  • 콜 스택: 이전에 처리된 XSLT 명령어와 템플릿 목록을 표시하며, 현재 실행 중인 명령어가 목록의 맨 위에 나타납니다.
  • 템플릿: 현재 XSLT 파일을 디버깅하는 동안 사용된 모든 템플릿을 표시합니다. 여기에는 내장된 템플릿에 제공되는 기본 템플릿뿐만 아니라, 포함되거나 가져온 템플릿도 포함됩니다.
  • 정보: 디버깅 유형(XSLT 1.0, 2.0 또는 3.0), 사용된 파일, 그리고 디버거의 상태에 대한 정보를 표시합니다.
  • 메시지: 디버깅 과정에서 발생하는 `xsl:message` 명령 또는 오류 메시지를 표시합니다.
  • 추적: 각 추적 지점에 대한 출력 정보를 표시합니다.