XSLT <xsl:variable> element
Definition og brug
<xsl:variable> elementet bruges til at deklarere lokale eller globale variabler.
Kommentar:Hvis den er deklareret som en topniveau element, er variablen global, mens den er lokal, hvis den deklareres i en skabelon.
Kommentar:Når du har sat variabelværdien, kan den ikke ændres eller redigeres!
Tip:Du kan tilføje værdier til variabler gennem indholdet af <xsl:variable> elementet eller gennem select-attributten!
Syntaks
<xsl:variable name="name" select="udtryk"> <!-- Indhold:template --> </xsl:variable>
Egenskab
Egenskab | Værdi | Beskrivelse |
---|---|---|
name | name | Obligatorisk. Angiv variabelnavnet. |
select | udtryk | Valgfri. Definer variabelværdien. |
Eksempel
Eksempel 1
Hvis select-attributten er sat, kan <xsl:variable> elementet ikke indeholde nogen indhold. Hvis select-attributten indeholder en tekststreng, skal strengen gives citationstegn.
Følgende to eksempler tildeler værdien "red" til variablen "color":
<xsl:variable name="color" select="'red'" />
<xsl:variable name="color" select='"red"' />
Eksempel 2
Hvis <xsl:variable> elementet kun indeholder et name-attribut og ingen indhold, er variabelværdien en tom streng:
<xsl:variable name="j" />
Eksempel 3
Følgende eksempel tildeler indholdet af <xsl:variable> elementet til variablen "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>Beskrivelse</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>