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) , |
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 .
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 .
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> |