XSL로 XML 데이터를 HTML·PDF·텍스트로 변환하는 방법
XSL의 XSLT, XPath, XSL-FO 역할과 XML 데이터를 HTML·PDF·텍스트로 변환하는 처리 흐름을 정리한다.
2026-08-14 · 최초 발행 2025-10-14
XML을 출력 형식에 맞게 바꾸는 XSL
XSL(eXtensible Stylesheet Language)은 XML 데이터를 다른 구조나 표현 형식으로 변환하기 위한 스타일시트 언어다. XML 문서를 HTML, 텍스트, 다른 XML 구조로 바꾸거나 PDF와 인쇄물처럼 페이지 단위의 결과물로 구성할 때 사용한다.
핵심은 데이터 자체와 그것을 보여 주는 방식을 분리하는 데 있다. 하나의 XML 데이터를 바탕으로 서로 다른 출력 포맷을 만들 수 있어, 웹 서비스·데이터 변환·문서 관리처럼 구조화된 정보를 여러 방식으로 제공해야 하는 환경에 맞는다.
변환, 탐색, 포맷팅을 나누는 방식
XSL은 XSLT, XPath, XSL-FO로 구분해 볼 수 있다.
XSLT(XSL Transformations)는 XML 문서를 XML, HTML, 텍스트 등의 형식으로 변환한다. 템플릿 기반 규칙을 정의하고, XPath로 선택한 노드의 데이터를 가공해 출력한다.
XPath는 XML 문서 안에서 필요한 데이터의 경로를 지정하는 질의 언어다. 노드를 탐색하고 조건에 따라 검색하거나 필터링할 수 있으며, XSLT가 변환할 데이터의 위치를 찾는 데 쓰인다.
XSL-FO(Formatting Objects)는 XML 문서를 PDF나 인쇄물처럼 페이지 단위로 렌더링할 때 사용한다. 페이지 레이아웃, 글꼴, 색상, 여백 등 시각적 스타일을 지정한다.
스타일시트가 출력 문서가 되기까지
XML 데이터와 XSL 스타일시트는 XSLT 프로세서에서 결합된다. 이 과정의 결과는 HTML, PDF, 텍스트 등 요구된 출력 형식의 문서가 된다.
XML 기반 데이터를 활용하는 장면
웹 서비스에서는 서버의 XML 응답을 HTML 페이지로 바꿀 수 있다. 보고서 생성에서는 XML 기반 데이터를 XSL-FO로 처리해 PDF 보고서를 만들 수 있다.
전자문서 관리에서는 XML 전자문서를 인쇄용 포맷으로 변환한다. 같은 데이터 구조에서 여러 언어의 페이지를 생성해야 할 때도 XSL을 적용할 수 있다.
데이터와 표현을 분리했을 때
XSL을 사용하면 데이터와 표현을 분리해 유지보수를 쉽게 할 수 있다. 하나의 XML 데이터에서 여러 출력 포맷을 생성할 수 있고, 표준 기반 처리로 호환성과 확장성을 확보한다. 적용 위치도 서버에만 한정되지 않으며 클라이언트 환경에서도 사용할 수 있다.