Elemento <xsl:variable> di XSLT
Definizione e utilizzo
L'elemento <xsl:variable> viene utilizzato per dichiarare variabili locali o globali.
Nota:Se dichiarato come elemento superiore, la variabile è globale, mentre se dichiarato all'interno di un template, è locale.
Nota:Una volta impostata il valore della variabile, non è possibile modificarlo o cambiarlo!
Suggerimento:Puoi aggiungere un valore alla variabile tramite il contenuto dell'elemento <xsl:variable> o tramite l'attributo select!
Sintassi
<xsl:variable name="name" select="espressione"> <!-- Contenuto:template --> </xsl:variable>
Proprietà
Proprietà | Valore | Descrizione |
---|---|---|
name | name | Obbligatorio. Specificare il nome della variabile. |
select | espressione | Opzionale. Definire il valore della variabile. |
Esempio
Esempio 1
Se è impostato l'attributo select, l'elemento <xsl:variable> non può contenere alcun contenuto. Se l'attributo select contiene una stringa di testo, la stringa deve essere racchiusa tra virgolette.
Negli esempi seguenti viene assegnato il valore "red" alla variabile "color":
<xsl:variable name="color" select="'red'" />
<xsl:variable name="color" select='"red"' />
Esempio 2
Se l'elemento <xsl:variable> contiene solo l'attributo name e non ha contenuto, il valore della variabile è una stringa vuota:
<xsl:variable name="j" />
Esempio 3
Esempio: Il seguente esempio assegna il contenuto dell'elemento <xsl:variable> alla variabile "header":
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:variable name="header"> <tr> <th>Element</th> <th>Description</th> </tr> </xsl:variable> <xsl:template match="/"> <html> <body> <table> <xsl:copy-of select="$header" /> <xsl:for-each select="reference/record"> <tr> <xsl:if category="XML"> <td><xsl:value-of select="element"/></td> <td><xsl:value-of select="description"/></td> </xsl:if> </tr> </xsl:for-each> </table> <br /> <table> <xsl:copy-of select="$header" /> <xsl:for-each select="table/record"> <tr> <xsl:if category="XSL"> <td><xsl:value-of select="element"/></td> <td><xsl:value-of select="description"/></td> </xsl:if> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>