cheap nfl jerseys china cheap nfl jerseys free shipping wholesale nfl jerseys china wholesale jerseys from china cheap nfl jerseys free shipping cheap nfl jerseys for sale cheap jerseys free shipping wholesale nfl jerseys from china cheap nfl jerseys sale cheap nike nfl jerseys china wholesale jerseys free shipping cheap nfl jerseys wholesale wholesale nfl jerseys online cheap nfl jerseys wholesale china jerseys wholesale cheap coach handbags outlet authentic designer handbags cheap coach handbags outlet cheap coach purses outlet discount coach bags coach bags sale coach purse outlet cheap real coach purses coach handbags sale online coach purse outlet michael kors outlet online store cheap michael kors bags cheap michael kors purse michael kors factory outlet online cheap michael kors handbags cheap michael kors purses michael kors bags outlet online cheap michael kors purse michael kors handbags discount
XSL
XSL
eXtensible Stylesheet Language
eXtensible Stylesheet Language
per trasformare un file XML
XSL in breve - XPath - specifiche W3C
tutti i comandi XSL - template - XPath - ordinamento - if - variabili - funzioni
creazione di elementi e attributi - generazione e formattazione di numeri - calcoli
output - copia - altre funzioni - combinare stylesheet
Per dar forma a un file XML, si possono usare i fogli di stile, dando una definizione a tutti gli elementi (gli elementi non definiti vengono visualizzati come una stringa di testo).
Ma i fogli di stile hanno forti limitazioni con XML: non visualizzano il valore degli attributi, non consentono di inserire testo, nè di selezionare parti del testo.

Si utilizza pertanto XSL, definito dal W3C che utilizza tre linguaggi per eseguire tre compiti fondamentali:
L'associazione tra un documento XML e un foglio di stile avviene nel prologo del documento XML per mezzo dell'istruzione:
<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="nome.xsl" ?>
Il documento XSL � anch'esso un documento xml; inoltre deve dichiarare i namespaces, quindi ha il seguente prologo:
<??xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd >

template

Un template è un insieme di regole: pu� essere considerato una routine di trasformazione. La sintassi completa � la seguente:

<xsl:template match=pattern name=qualified-name priority=number mode=qualified-name>...</xsl:template>

Il valore dell'attributo match � un pattern che individua i nodi a cui applicare le regole del template, quindi ogni file XSL deve iniziare con <template match="/">

Se viene valorizzato l'attributo name, il template pu� essere richiamato: <call-template name="..." />

Ma generalmente un template viene applicato ai nodi selezionati dal valore di select <apply-template select="..." nome="..." />

value of

Tutto quello che non � XSL viene copiato sul file di output.
Per trascrivere dati dal file XML al file di output, si usa la funzione:
<xsl:value-of select="..." / >

element

Con element si genera un tag HTML: occorre specificare il nome del tag e gli eventuali attributi. Ecco due esempi per generare tag img e a:

<xsl:element name="img">
    <xsl:attribute name="src">

    <xsl:value-of select="@file"/>
    </xsl:attribute>
</xsl:element>

<xsl:element name="a">
    <xsl:attribute name="href">

    <xsl:value-of select="..."/>
    </xsl:attribute>
    stringa o <xsl:value-of select="..."/>
</xsl:element>

All'interno delle virgolette si pu� chedere al parser di interpretare script, mettendoli tra parentesi graffe.

sort

<sort select= "xpath-ordinamento" order="ascending" />
Ordina l'isieme dei nodi individuati dall�XPath specificato.

iterazioni

<for-each select="xpath">...<for-each>
Il frammento di codice viene applicato a tutti i nodi selezionati dall�XPath specificato.

esecuzione condizionata

<if test="xpath-filter">...</if>

<choose>
<when test="xpath-filter">�</when>
...
<otherwise>�</otherwise>
</choose>