Elemento ng XSLT <xsl:variable>
Definisyon at Paggamit
Ang <xsl:variable> elemento ay ginagamit para sa pagdeklarasyon ng lokal o pangkalahatang variable.
Komento:Kung ay nabanggit bilang pang-unang elemento, ang variable ay pangkalahatan, at kung ay nabanggit sa template, ang variable ay lokal.
Komento:Una kung ay naseta ang halaga ng variable, hindi maaaring baguhin o ilarawan ang halaga.
Mga payo:Maaari mong magdagdag ng halaga sa variable sa pamamagitan ng nilalaman ng <xsl:variable> elemento o sa pamamagitan ng attribute na select!
Gramatika
<xsl:variable name="name" select="expression"> <!-- nilalaman:template --> </xsl:variable>
Attribute
Attribute | Halaga | Paglalarawan |
---|---|---|
name | name | Hindi mapapagod. Tukuyin ang pangalan ng variable. |
select | expression | Opisyon. Ibigay ang halaga ng variable. |
Eksemplo
Halimbawa 1
Kung ay naseta ang attribute na select, ang <xsl:variable> elemento ay hindi maaaring magkaroon ng anumang nilalaman. Kung ang attribute na select ay naglalaman ng teksto, dapat ipapalit ang string ng mga salita.
Ang dalawang halimbawa sa ibaba ay nagbibigay ng halaga "red" sa variable "color":
<xsl:variable name="color" select="'red'" />
<xsl:variable name="color" select='"red"' />
Halimbawa 2
Kung ang <xsl:variable> elemento ay naglalaman lamang ng attribute na name at walang nilalaman, ang halaga ng variable ay walang halaga:
<xsl:variable name="j" />
Halimbawa 3
Ang halimbawa sa ibaba ay nagbibigay ng halaga sa variable "header" sa pamamagitan ng nilalaman ng <xsl:variable> elemento:
<?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>Elemento</th> <th>Deskripsyon</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>