XSL
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
XSL(Extensible Stylesheet Language)은 XML 문서를 변환하고 표현하기 위한 기술의 모음으로, 주로 인쇄 및 고급 조판 분야에서 DSSSL의 기능을 XML에 도입하려는 시도로 시작되었다. XSL은 XSLT, XPath, XSL-FO의 세 가지 주요 기술로 구성된다. XSLT는 XML 문서를 다른 구조의 XML 문서 등으로 변환하는 변환 언어이며, XPath는 XSLT 내에서 XML 문서를 탐색하는 데 사용된다. XSL-FO는 XML 문서를 페이지 기반 레이아웃으로 표현하기 위한 언어이다. XSL은 W3C에서 표준화되었으며, XSLT, XPath, XSL-FO의 여러 버전이 발표되었다.
더 읽어볼만한 페이지
- 스타일시트 언어 - CSS
CSS는 마크업 언어로 작성된 문서의 스타일을 정의하는 스타일 시트 언어로서, 웹 페이지의 시각적 표현을 담당하며 디자인과 사용자 경험을 향상시키고, W3C에 의해 표준이 관리되며 다양한 프레임워크와 디자인 방법론을 가진다. - 스타일시트 언어 - Sass (스타일시트 언어)
Sass는 CSS 전처리기로, CSS를 확장하여 변수, 중첩, 믹스인 등의 기능을 제공해 CSS 개발을 효율적으로 만들며, 다양한 구현체와 IDE 지원을 갖는다. - XML - 오피스 오픈 XML
오피스 오픈 XML은 마이크로소프트에서 개발한 XML 기반의 파일 포맷으로, 문서, 스프레드시트, 프레젠테이션 등의 사무용 전자 문서를 표현하기 위해 사용되며 마이크로소프트 오피스 2007부터 기본 파일 형식으로 채택되어 ECMA 인터내셔널 및 ISO/IEC 국제 표준으로도 표준화되었다. - XML - 자원 기술 프레임워크
자원 기술 프레임워크(RDF)는 웹 상의 메타데이터를 표현하기 위한 표준 모델로, URI 기반의 리소스와 트리플 구조의 속성을 사용하여 정보 자원 간의 관계를 명확하게 기술하며, 시맨틱 웹 구축의 핵심 기술로서 다양한 분야에서 활용된다. - 마크업 언어 - HTML
HTML은 웹 페이지 제작을 위한 표준 마크업 언어로서, 팀 버너스리가 제안하고 구현한 후 인터넷 발전과 함께 널리 사용되며, SGML에 기반하여 하이퍼텍스트 기능으로 다양한 콘텐츠를 표현하고 연결하며, W3C와 WHATWG에서 표준화를 진행하고 최신 버전은 HTML Living Standard이다. - 마크업 언어 - XAML
XAML은 마이크로소프트에서 개발한 XML 기반의 마크업 언어로, 사용자 인터페이스, 데이터 바인딩, 이벤트 처리 등을 정의하며 WPF, Silverlight, WF, WinRT API 앱, Xamarin.Forms 등에서 UI 개발에 널리 사용된다.
| XSL | |
|---|---|
| 기본 정보 | |
![]() | |
| 종류 | 스타일 시트 언어 |
| 확장자 | .xsl .xslt |
| MIME 형식 | application/xslt+xml |
| 타입 코드 | TEXT |
| 설계자 | 제임스 클라크 World Wide Web 컨소시엄 (W3C) |
| 첫 발표 | 1999년 |
| 기술 사양 | |
| 최신 버전 | 3.0 (2017년 6월 8일) |
| 타입 시스템 | 문자열, 숫자, 불리언 |
| 구현 | XSLT 프로세서 |
| 영향 받은 언어 | |
| 영향 | XPath, XQuery |
| 기타 | |
| 특징 | XML 변환 |
2. 역사
XSL은 XML 문서의 스타일 지정을 위해 개발되었으며, 인쇄 및 고급 조판 분야에서 DSSSL의 기능을 XML에 도입하려는 시도에서 출발했다.[1]
XSL의 역사는 SGML용 스타일 시트인 DSSSL의 기능, 특히 인쇄 및 조판 기능을 XML에 적용할 수 있도록 하는 개발 작업에서 시작되었다.
2. 1. W3C 표준화 과정
1997년 12월, W3C에 XSL 작업 그룹이 설립되어 XSL 표준화 작업이 시작되었다. 샤론 애들러와 스티브 질레스가 공동 의장을, 제임스 클라크가 편집자를 맡았다.[1] 크리스 릴리는 W3C 직원 연락 담당자였다. 1998년 8월 18일, XSL 사양의 첫 번째 작업 초안이 발표되었다.[2] 1999년 11월 16일, XSLT 1.0과 XPath 1.0이 W3C 권고안으로 발표되었다.[2] 2001년 10월 15일, XSL 1.0 (XSL-FO 포함)이 W3C 권고안으로 발표되었다.[2] 이후 XSLT 2.0, XPath 2.0, XSLT 3.0, XPath 3.0/3.1 등 새로운 버전이 꾸준히 발표되며 기능이 확장되었다.| 연도 | 내용 |
|---|---|
| 1997년 12월 | W3C XSL 작업반 활동 시작 (샤론 아들러/스티브 질스 공동 의장, 제임스 클라크 편집자) |
| 1998년 8월 18일 | XSL 사양 첫 번째 작업 드래프트 공표 |
| 1999년 11월 16일 | XSLT 1.0과 XPath 1.0, W3C 권고안 공표 |
| 2001년 10월 15일 | XSL 1.0 (XSL-FO 포함), W3C 권고안 공표 |
| 2006년 12월 5일 | XSL 1.1 (XSL-FO 포함) W3C 권고안 공표 |
| 2007년 1월 23일 | XSLT 2.0과 XPath 2.0, W3C 권고안 공표 |
| 2014년 4월 8일 | XPath 3.0, W3C 권고안 공표 |
| 2017년 3월 21일 | XPath 3.1, W3C 권고안 공표 |
| 2017년 6월 8일 | XSLT 3.0, W3C 권고안 공표 |
XSL은 XML 문서를 변환하고 표현하기 위한 세 가지 주요 기술로 구성된다.
3. XSL 구성 요소

3. 1. XSL Transformations (XSLT)
XSL 변환(XSLT)은 XML 문서를 구조가 다른 XML 문서 등으로 변환하는 변환 언어이다. XML 외에도 일반 텍스트로 출력할 수 있으며, 의도에 따라 XML이 아닌 형식 언어 형태로도 출력할 수 있다.
XSL 전체에서 XSLT는 임의의 XSL에서 XSL-FO로 변환하는 데 사용된다.
XSLT 1.0 초판은 1999년 11월에 발표되어 널리 구현되었다. 초기 구현 중 일부는 더 이상 사용되지 않지만, 2023년 기준으로 활발히 사용되는 주요 구현에는 주류 웹 브라우저에 통합된 것, Altova의 RaptorXML, libxslt, Saxon, Microsoft .NET 구현인 '''System.Xml.Xsl''', Oracle JVM에 통합된 Xalan 등이 있다. 이들은 모두 사양을 높은 수준으로 준수하며, 자체적인 공급업체 확장을 제공하고, disable-output-escaping과 같은 선택적 기능 지원을 생략하기도 한다.[1]
이후 XSLT 버전으로는 XSLT 2.0(2007년 1월)과 XSLT 3.0(2017년 6월)이 있으며, XSLT 4.0 작업이 진행 중이다.[1] XSLT 2.0과 3.0은 1.0만큼 널리 구현되지 않았는데, 2023년에 널리 사용되는 주요 구현으로는 Saxon(웹 브라우저를 포함한 다양한 플랫폼에서 사용 가능)과 Altova의 RaptorXML이 있다.[1]
현재, XSLT 처리 시스템 구현은 다수 개발되어 사용 가능하다. 주요 구현은 다음과 같다.
| 구현 | 설명 |
|---|---|
| Saxon | 오픈 소스 구현 |
| Apache Xalan | 아파치 XML 프로젝트의 오픈 소스 구현 |
| 웹 브라우저에서 사용되는 구현 | |
| MSXML | Internet Explorer에서 사용 |
| TransforMiiX | Mozilla Firefox, Mozilla, Netscape에서 사용 |
3. 2. XML Path Language (XPath)
XML 경로 언어(XPath)는 XSL 제품군의 일부로서, XSLT 내에서 XML 문서를 탐색하는 수단으로 작동한다.[1] W3C 프로젝트인 XQuery는 XPath를 사용하여 XML 문서를 쿼리하는 유사한 기능을 제공하는 것을 목표로 한다.[1]XML 경로 언어(XPath)는 XML 문서의 특정 부분(요소, 속성, 텍스트 등)을 지정하는 표현법이다.[2] XPath 자체는 간결한 구문이며, XML 기반은 아니다.[2] XPath는 XSLT 외에도 처리 대상인 XML 문서의 특정 부분을 지정하기 위해 사용된다.[2]
XPath를 더욱 확장한 사양을 가진 것으로 XQuery가 있다.[2] XQuery는 처리 대상인 XML 문서의 특정 부분을 검색한다.[2]
3. 3. XSL Formatting Objects (XSL-FO)
XSL-FO는 여러 제품에서 지원된다.- RenderX의 XEP는 XSL-FO 1.0을 거의 100% 지원한다.
- Antenna House의 XSLFormatter는 XSL-FO 1.0 규격을 거의 100% 지원하며, XSL-FO 1.1 규격의 새로운 기능도 모두 지원한다.
- Lunasil의 XINC는 XSL-FO 1.0 규격을 상당 부분 지원한다.
- 아파치 프로젝트의 FOP는 XSL Formatting Objects 1.0 규격의 일부를 PDF로 렌더링할 수 있다.
- AltSoft의 XML2PDF Formatting Engine Server는 XSL-FO 1.1을 거의 100% 지원한다.
이러한 제품들은 다양한 파일 형식으로 출력을 지원한다.
- PostScript
- SVG
- MIF
- PCL
- 텍스트 파일
4. 관련 기술
XSL은 SGML용 스타일 시트인 DSSSL의 기능, 특히 인쇄 및 조판 기능을 XML에 적용할 수 있도록 하는 개발 작업에서 시작되었다.[1]
XQuery는 XPath를 사용하여 XML 문서를 쿼리하는 기능을 제공하는 것을 목표로 하는 W3C 프로젝트로, XPath를 더욱 확장한 사양을 가졌으며, 처리 대상인 XML 문서의 특정 부분을 검색한다.[1]
4. 1. DSSSL
XSL은 기존의 SGML용 스타일 시트인 DSSSL의 기능, 특히 인쇄 및 조판 기능을 XML에 적용할 수 있도록 하는 개발 작업에서 시작되었다.[1]| 연도 | 사건 |
|---|---|
| 1997년 12월 | W3C의 XSL 작업반 활동이 시작되었다. 샤론 아들러와 스티브 질스가 공동 의장을, 제임스 클라크가 편집자를 각각 맡았다. 제임스 클라크는 XSL의 비공식 수석 설계자이기도 했다. 또한 크리스 릴리가 W3C 스태프 연락역을 맡았다. |
| 1998년 8월 18일 | XSL 작업반은 XSL 사양의 첫 번째 작업 드래프트를 공표했다. |
| 1999년 11월 16일 | XSLT 1.0과 XPath 1.0이 W3C에서 권고안으로 공표되었다. |
| 2001년 10월 15일 | XSL 1.0 (XSL-FO 포함)이 W3C에서 권고안으로 공표되었다. |
| 2006년 12월 5일 | XSL 1.1 (XSL-FO 포함)이 W3C에서 권고안으로 공표되었다. |
| 2007년 1월 23일 | XSLT 2.0과 XPath 2.0이 W3C에서 권고안으로 공표되었다. |
| 2014년 4월 8일 | XPath 3.0이 W3C에서 권고안으로 공표되었다. |
| 2017년 3월 21일 | XPath 3.1이 W3C에서 권고안으로 공표되었다. |
| 2017년 6월 8일 | XSLT 3.0이 W3C에서 권고안으로 공표되었다.[2] |
4. 2. XQuery
XQuery는 XPath를 사용하여 XML 문서를 쿼리하는 기능을 제공하는 것을 목표로 하는 W3C 프로젝트이다.[1] XQuery는 XPath를 더욱 확장한 사양을 가졌으며, 처리 대상인 XML 문서의 특정 부분을 검색한다.[1]참조
[1]
웹사이트
Microsoft, ArborText and Inso Submit XSL Proposal to W3C
http://xml.coverpage[...]
1997-09-11
[2]
웹사이트
XML and Semantic Web W3C Standards Timeline
http://www.dblab.ntu[...]
2012
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com
