title: Extensible Stylesheet Language
text: # 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.
  
  