The XSLT elements from the W3C Recommendation (XSLT Version 1.0).
XSLT Elements
The links in the "Element" column point to attributes and more useful information about each specific element.
- NN: indicates the earliest version of Netscape that supports the tag
- IE: indicates the earliest version of Internet Explorer that supports the tag
Note: Elements supported in IE 5.x may have NON-standard behavior, because IE 5.x was released before XSLT became an official W3C Recommendation. However, IE 6.x has full XML / XSLT 1.0 / XPath 1.0 support!
Element | Description | IE | NN |
---|---|---|---|
apply-imports | Applies a template rule from an imported style sheet | 6.0 | |
apply-templates | Applies a template rule to the current element or to the current element's child nodes | 5.0 | 6.0 |
attribute | Adds an attribute | 5.0 | 6.0 |
attribute-set | Defines a named set of attributes | 6.0 | 6.0 |
call-template | Calls a named template | 6.0 | 6.0 |
choose | Used in conjunction with <when> and <otherwise> to express multiple conditional tests | 5.0 | 6.0 |
comment | Creates a comment node in the result tree | 5.0 | 6.0 |
copy | Creates a copy of the current node (without child nodes and attributes) | 5.0 | 6.0 |
copy-of | Creates a copy of the current node (with child nodes and attributes) | 6.0 | 6.0 |
decimal-format | Defines the characters and symbols to be used when converting numbers into strings, with the format-number() function | 6.0 | |
element | Creates an element node in the output document | 5.0 | 6.0 |
fallback | Specifies an alternate code to run if the processor does not support an XSLT element | 6.0 | |
for-each | Loops through each node in a specified node set | 5.0 | 6.0 |
if | Contains a template that will be applied only if a specified condition is true | 5.0 | 6.0 |
import | Imports the contents of one style sheet into another. Note: An imported style sheet has lower precedence than the importing style sheet | 6.0 | 6.0 |
include | Includes the contents of one style sheet into another. Note: An included style sheet has the same precedence as the including style sheet | 6.0 | 6.0 |
key | Declares a named key that can be used in the style sheet with the key() function | 6.0 | 6.0 |
message | Writes a message to the output (used to report errors) | 6.0 | 6.0 |
namespace-alias | Replaces a namespace in the style sheet to a different namespace in the output | 6.0 | |
number | Determines the integer position of the current node and formats a number | 6.0 | 6.0 |
otherwise | Specifies a default action for the <choose> element | 5.0 | 6.0 |
output | Defines the format of the output document | 6.0 | 6.0 |
param | Declares a local or global parameter | 6.0 | 6.0 |
preserve-space | Defines the elements for which white space should be preserved | 6.0 | 6.0 |
processing-instruction | Writes a processing instruction to the output | 5.0 | 6.0 |
sort | Sorts the output | 6.0 | 6.0 |
strip-space | Defines the elements for which white space should be removed | 6.0 | 6.0 |
stylesheet | Defines the root element of a style sheet | 5.0 | 6.0 |
template | Rules to apply when a specified node is matched | 5.0 | 6.0 |
text | Writes literal text to the output | 5.0 | 6.0 |
transform | Defines the root element of a style sheet | 6.0 | 6.0 |
value-of | Extracts the value of a selected node | 5.0 | 6.0 |
variable | Declares a local or global variable | 6.0 | 6.0 |
when | Specifies an action for the <choose> element | 5.0 | 6.0 |
with-param | Defines the value of a parameter to be passed into a template | 6.0 | 6. |
XSLT Functions
XSLT includes over 100 built-in functions. There are functions for string values, numeric values, date and time comparison, node and QName manipulation, sequence manipulation, Boolean values, and more.
The URI of the XSLT function namespace is:
http://www.w3.org/2005/02/xpath-functions
The default prefix for the function namespace is fn:.
Tip: Functions are often called with the fn: prefix, such as fn:string(). However, since fn: is the default prefix of the namespace, the function names do not need to be prefixed when called.
The reference of all the built-in XSLT 2.0 functions is located in our XPath tutorial.
In addition, there are the following built-in XSLT functions:
Name | Description |
current() | Returns the current node |
document() | Used to access the nodes in an external XML document |
element-available() | Tests whether the element specified is supported by the XSLT processor |
format-number() | Converts a number into a string |
function-available() | Tests whether the function specified is supported by the XSLT processor |
generate-id() | Returns a string value that uniquely identifies a specified node |
key() | Returns a node-set using the index specified by an <xsl:key> element |
system-property() | Returns the value of the system properties |
unparsed-entity-uri() | Returns the URI of an unparsed entity |