Extensible Stylesheet Language

Extensible Stylesheet Language（XSL; 拡張可能なスタイルシート言語）は、XML文書から、組版などの変換を行うためのシステムで、複数の仕様から構成されている。
XSLを構成する仕様は次の3つである。元々は「Extensible Stylesheet Language」という名前の通り、スタイルシートに基づき組版処理などを行う目的で策定が始まったものだが、XSLTはXMLの変換用として汎用になるよう、XPathはXMLの木の要素の指定用として汎用になるよう、設計された。
この3つの仕様は、標準化団体 W3C (World Wide Web Consortium) で開発され勧告として公表されている。
歴史.
XSLの歴史は、既存の SGML 向けのスタイルシートである DSSSL の機能、特に印刷と植字の機能を、XMLに適用できるようにする開発作業から始まった。
XSLを構成する仕様.
XSL Transformations.
XSL Transformations (XSLT) は、XML文書を構造の異なるXML文書などに変換する変換言語である。XMLの他、プレインテキストとして出力（ないし、そのように意図して設計すれば、何らかのXMLでない形式言語に従った形にも）できる。
XSL全体での位置づけとしては、任意のXSLからXSL-FOへの変換に使う。
現在、XSLT処理系の実装は、数多く開発されており、利用することができる。主な実装を次に示す。
XPath.
XML Path Language (XPath) は、XML文書の特定の部分（要素、属性、テキストなど）を指定する表現法である。
XPath自体は簡潔な構文であり、XMLベースではない。
XPathは、XSLTで処理対象のXML文書の特定部分を指定するために使われている他、XSLT以外でも処理対象のXML文書の特定部分を指定するために使われている。
XPathをさらに拡張したような仕様を持つものとしてXQueryがある。XQueryは、処理対象のXML文書の特定部分を検索する。