Trasformazioni estensibili del linguaggio dei fogli di stile

Trasformazioni XSLT
XSL Caratteristiche
Estensioni .xsl, .xslt
Tipo MIME application/xslt+xml, text/xsl
Sviluppato da World Wide Web Consortium
Tipo di formato Linguaggio per fogli di stile
Basato su Linguaggio di markup estensibile
Standard

1.0 (Raccomandazione del 16 novembre 1999) ,
2.0 (Raccomandazione del 23 gennaio 2007) ,

3.0 (Raccomandazione dell'8 giugno 2017)
Siti web www.w3.org/TR/xslt
www.w3.org/TR/xslt20
www.w3.org/standards/xml/transformation

XSLT ( eXtensible Stylesheet Language Transformations ), definito nella raccomandazione XSL del W3C , è un linguaggio di trasformazione XML di tipo funzionale . In particolare, consente di trasformare un documento XML in un altro formato, come PDF o anche HTML da visualizzare come pagina web .

Descrizione

L'obiettivo principale è la trasformazione di un documento XML in un altro schema o formato ( XHTML , XSL-FO , HTML , ecc.). Tuttavia, il linguaggio XSLT consente anche trasformazioni in qualsiasi altro tipo di documento, in formato testo o in formato binario (sebbene ciò non sia nativamente previsto dalla raccomandazione XSLT). Dati due input, un documento XML da trasformare e un documento XSLT, un parser XSLT ( processore XSLT ) produce un file di output nel formato desiderato.

XSLT si basa su XPath (un'altra parte della raccomandazione XSL) per denotare parte di un albero XML. In pratica, il linguaggio XSLT si esprime esso stesso sotto forma di un documento XML:

<?xml version="1.0" ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:output method="xml" indent="yes"/> <xsl:template match="person"> <name username="{@username}"> <xsl:value-of select="name" /> </name> </xsl:template> </xsl:stylesheet>

Una delle sue caratteristiche principali è che è incentrato sui dati. Un XSLT deve essere basato su un XML, è una coppia obbligatoria ed è possibile creare solo loop XSLT che attraversano i dati selezionati da XPath .

Esempio

File XML di input

<?xml version="1.0" ?> <persons> <person username="JS1"> <name>John</name> <family-name>Smith</family-name> </person> <person username="MI1"> <name>Morka</name> <family-name>Ismincius</family-name> </person> </persons>
+

Foglio di stile XSLT

<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" indent="yes"/> <xsl:template match="/persons"> <root> <xsl:apply-templates select="person"/> </root> </xsl:template> <xsl:template match="person"> <name username="{@username}"> <xsl:value-of select="name" /> </name> </xsl:template> </xsl:stylesheet>

File dei risultati XML

<?xml version="1.0" encoding="UTF-8"?> <root> <name username="JS1">John</name> <name username="MI1">Morka</name> </root>

Implementazioni del parser XSLT

  • AltovaXML: di Altova , implementazione di XSLT 1.0 e XSLT 2.0
  • DIXml: una libreria Delphi
  • Gestalt: di Colin Paul Adams, implementazione in Eiffel di XSLT 2.0
  • Libxslt  (en)  : da GNOME , implementazione C di XSLT 1.0; l'utilità della riga di comando xsltproc lo utilizza.
  • MSXML DOM  : di Microsoft per l'utilizzo in DCOM sotto Windows e quindi accessibile a linguaggi di scripting come vbScript e jScript
  • php_xsl. dll  : incluso da PHP 5
  • QuiXSLT: di Innovimax e INRIA in Java per XSLT 3.0 con Streaming
  • Saxon XSLT  (en)  : di Michael Kay, Saxon esiste in Java e .Net per XSLT 2.0 e 3.0 (con convalida di XML Schema )
  • System.Xml.Xsl: in parallelo da Microsoft e Novell per le diverse implementazioni di .NET Framework
  • Xalan  : dalla fondazione Apache , esiste in Java , C e Perl e supporta XSLT 1.0

Vedi anche

Articoli Correlati

Riferimenti

  1. "  PHP: XSL - Manuale  " , su php.net
  2. "  QuiXSLT  " ,15 novembre 2013

link esterno