XSL (ang. extensible stylesheet language) – funkcyjny język programowania opisujący sposób prezentacji i przekształceń dokumentów zapisanych w formacie XML. W języku tym operuje się na znacznikach i ich ewaluacji, na podobnej zasadzie co we wszystkich językach operujących na makrach.
Pliki XSL są poprawnymi dokumentami XML, a cecha ta jest wykorzystywana do tworzenia rekurencyjnych konstrukcji. Można też powiedzieć, że XSL jest rozszerzalnym makroprocesorem.
Aktualnie (2010) status rekomendacji W3C mają wersje:
- XSLT 2.0,
- XPath 2.0,
- XSL 1.1.
Jeśli chodzi o stan implementacji XSLT, to tylko XSLT 1.0 jest szeroko implementowany. XSLT 2.0 nadal czeka (2010) na upowszechnienie.
Typologia
Rodzina XSL według starego podziału składa się z 3 części:
- XSL Transformations (XSLT) – język dla przekształceń dokumentów XML,
- XML Path Language (XPath) – język opisujący dostęp lub odwołanie do fragmentów dokumentów XML,
- XSL Formatting Objects (XSL-FO) – słownik opisujący formatowanie.
Według nowego podziału rodzina składa się z:
- XSL Transformations (XSLT) – język dla przekształceń dokumentów XML,
- XML Path Language (XPath) – język opisujący dostęp lub odwołanie do fragmentów dokumentów XML,
- Extensible Stylesheet Language (XSL) – dawny XSL-FO, słownik opisujący formatowanie,
- XML Query Language – (XQuery) – język zapytań.