In XSLT, variables identify generically named objects, from which a value can be retrieved as needed. A variable can be used as a cache for a value that is used multiple times. It also provides a more efficient mechanism for setting a value or for referring to a particular result tree fragment.
XSLT parameters are used to pass data. Local parameters pass data from one template rule to another. Global parameters pass a value into a style sheet from outside. In Microsoft Internet Explorer, parameters are passed to a style sheet via scripting.
For detailed information about variables and parameters, see Using XSLT Variables and Parameters.
Passing Parameters Using Named Templates | xsl:variable Element | xsl:param Element