ePrometeusCorsoJavaJava
testi articoli
Testi Articoli  Download
Home | Xml | Dtd | XPath | Xslt | Esempio | 
CorsoJava è ora Video! Free for all!
Clicca Qui!

Xslt
XML to XML
Script
Template
Ricorsione
Template
xsl:template
xsl:apply-templates
xsl:for-each
default
Output
xsl:value-of
value template
xsl:element
xsl:attribute
xsl:text
xsl:copy-of
Condizioni
Variabili
xsl:if
xsl:choose
Varie
xsl:call-templates
xsl:sort
xsl:number

<<< Variabili >>>
Definizione

La sintassi per definire le variabili è la seguente:

<xsl:variable name="id" select="."/>

È possibile definire delle variabili sia all'esterno dei template, che all'interno. Nel primo caso sono accessibili e utilizzabili da tutte le regole del foglio di stile, nel secondo solo all'interno del template che le definisce. Alle variabili può essere assegnato un valore specificando l'espressione con l'attributo select, altrimenti il loro valore è il contenuto del tag stesso.

Definibili in top-level e template
xsl:param

Esiste anche un altro costrutto che permette di definire variabili, ed è xsl:param. A differenza delle variabili, i parametri fanno riferimenento a informazioni che possono essere passati dall'esterno. Assumoono il valore specificato (da select o nel contenuto) solo se non è stato specificato esternamente il valore.

Per fare un esempio di come si possono passare parametri a un foglio di stile, consideriamo XT, il parser che stiamo utilizzando nei nostri esempi. Questo programma consente di specificare parametri dalla riga di comando, come nell'esempio che segue:

xslt file.xsl file.xml a=1 b=2
il parametro ha un valore di default

In questo caso, se è presente la seguente riga nel foglio di stile

<xsl:param name="a">0</xsl:param>

Avremo che la variabile a vale 1 se è stata specificata sulla riga di comando, altrimenti vale 0.

Uso: $id

Le variabili possono essere utilizzare all'interno di espressioni xsl:value-of e di attribute value template con la sintassi $a.

ePrometeus s.r.l. - Web Software House & Open Source System Integrator
MILANO - SAN BENEDETTO DEL TRONTO(AP)
Contatti: info@eprometeus.com