Extensible Stylesheet Language
# Extensible Stylesheet Language

In informatica l'XSL, acronimo di eXtensible Stylesheet Language, è il linguaggio di descrizione dei fogli di stile per i documenti in formato XML. Com'è noto, lo standard XML prevede che i contenuti di un documento siano separati dalla formattazione della pagina in cui verranno pubblicati. D'altra parte è proprio questa distinzione a costituire uno dei punti di forza dell'XML come metalinguaggio, in quanto massimizza la possibilità di associare molti e diversi linguaggi di marcatura agli elementi del documento, arricchendone le proprietà semantiche. L'XSL permette di visualizzare lo stesso documento XML in formati diversi: come pagina web, come pagina stampabile oppure come traccia per un'esposizione orale.

## Descrizione

L'XSL incorpora tre linguaggi:

* XSL Transformations (XSLT): il linguaggio di trasformazione dell'XML;
* XSL Formatting Objects (XSL-FO): usato per l'applicazione degli stili e del modo di apparizione a un documento XML.
* XML Path (XPath): è usato nei fogli di stile XSLT per descrivere come accedere alle parti di un documento XML.

Tutti questi linguaggi sono codificati e gestiti dal W3C.

Attualmente sono disponibili diverse implementazioni XSL; le versioni recenti di tutti i principali browser, in particolare Internet Explorer e Mozilla, supportano la trasformazione di XML in HTML tramite XSL.

Lo standard XSL-FO è molto meno diffuso. La maggior parte delle implementazioni disponibili (se non tutte) sono parziali. FOP, che fa parte del progetto Apache, può visualizzare una gran parte dello standard XSL-FO in vari formati, tra cui il diffuso PDF. Il pacchetto PassiveTeX è un'altra implementazione che usa TeX per convertire XSL-FO in PDF.

