XSLT <xsl:variable> Element

|  | Search W3Schools : |

HOME | HTML | CSS | XML | JAVASCRIPT | ASP | PHP | SQL | MORE... |  | References | Examples | Forum | About

ADVERTISEMENTS XML Certification Download XML editor Custom Programming |  |

Table of contents

XSLT Basic
XSLT HOME
XSL Languages
XSLT Introduction
XSLT Browsers
XSLT Transform
XSLT <template>
XSLT <value-of>
XSLT <for-each>
XSLT <sort>
XSLT <if>
XSLT <choose>
XSLT Apply
XSLT Advanced
XSLT on the Client
XSLT on the Server
XSLT Edit XML
XSLT Editors
XSLT Summary
Examples
XSLT Examples
References
XSLT Elements
XSLT Functions

Selected Reading

Web Statistics
Web Glossary
Web Hosting
Web Quality
W3Schools Tutorials
W3Schools Forum
Helping W3Schools

# XSLT <xsl:variable> Element

Complete XSLT Element Reference

## Definition and Usage

The <xsl:variable> element is used to declare a local or global variable.

Note: The variable is global if it's declared as a top-level element, and local if it's declared within a template.

Note: Once you have set a variable's value, you cannot change or modify that value!

Tip: You can add a value to a variable by the content of the <xsl:variable> element OR by the select attribute!

## Syntax

    <xsl:variable
    name="name"
    select="expression">

      <!-- Content:template -->

    </xsl:variable>

## Attributes

Attribute | Value | Description
--- | --- | ---
name | name | Required. Specifies the name of the variable
select | expression | Optional. Defines the value of the variable

### Example 1

If the select attribute is present, the <xsl:variable> element cannot contain any content. If the select attribute contains a literal string, the string must be within quotes. The following two examples assign the value "red" to the variable "color":

    <xsl:variable name="color" select="'red'" />

    <xsl:variable name="color" select='"red"' />

### Example 2

If the <xsl:variable> element only contains a name attribute, and there is no content, then the value of the variable is an empty string:

    <xsl:variable name="j" />

### Example 3

The following example adds a value to the variable "header" by the content of the <xsl:variable> element:

    <?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>

Complete XSLT Element Reference

## Learn XML with <oXygen/> XML Editor - Free Trial!

oXygen helps you learn to define, edit, validate and transform XML documents. Supported technologies include XML Schema, DTD, Relax NG, XSLT, XPath, XQuery, CSS.

Understand in no time how XSLT and XQuery work by using the intuitive oXygen debugger!

Do you have any XML related questions? Get free answers from the oXygen XML forum and from the video demonstrations.

Download a FREE 30-day trial today!

WEB HOSTING
Ecommerce Components for ASP.NET
$15 Domain Name Registration Save $20 / year!
Buy UK Domain Names Register Domain Names
Cheap Domain Names Cheap Web Hosting
Best Web Hosting
PHP MySQL Hosting
Top 10 Web Hosting
UK Reseller Hosting
Web Hosting
FREE Web Hosting

WEB BUILDING
Website Templates Flash Templates Website Builder Internet Business Opportunity
Custom Programming
FREE Trial or Demo Web Content Manager Forms,Web Alerts,RSS
Download XML editor
FREE Flash Website
FREE Web Templates

EDUCATION
US Web Design Schools
HTML Certification
JavaScript Certification
XML Certification
PHP Certification
ASP Certification

HOME or Top of Page |  | Printer Friendly
W3Schools is for training only. We do not warrant the correctness of its content. The risk from using it lies entirely with the user. While using this site, you agree to have read and accepted our terms of use and privacy policy. Copyright 1999-2009 by Refsnes Data. All Rights Reserved.