| Element | Description | IE | FF |
| apply-imports | Applies a template rule from an imported style sheet | 6.0 | 1.0 |
| apply-templates | Applies a template rule to the current element or to the current element's child nodes | 5.0 | 1.0 |
| attribute | Adds an attribute | 5.0 | 1.0 |
| attribute-set | Defines a named set of attributes | 6.0 | 1.0 |
| call-template | Calls a named template | 6.0 | 1.0 |
| choose | Used in conjunction with <when> and <otherwise> to express multiple conditional tests | 5.0 | 1.0 |
| comment | Creates a comment node in the result tree | 5.0 | 1.0 |
| copy | Creates a copy of the current node (without child nodes and attributes) | 5.0 | 1.0 |
| copy-of | Creates a copy of the current node (with child nodes and attributes) | 6.0 | 1.0 |
| decimal-format | Defines the characters and symbols to be used when converting numbers into strings, with the format-number() function | 6.0 | 1.0 |
| element | Creates an element node in the output document | 5.0 | 1.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 | 1.0 |
| if | Contains a template that will be applied only if a specified condition is true | 5.0 | 1.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 | 1.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 | 1.0 |
| key | Declares a named key that can be used in the style sheet with the key() function | 6.0 | 1.0 |
| message | Writes a message to the output (used to report errors) | 6.0 | 1.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 | 1.0 |
| otherwise | Specifies a default action for the <choose> element | 5.0 | 1.0 |
| output | Defines the format of the output document | 6.0 | 1.0 |
| param | Declares a local or global parameter | 6.0 | 1.0 |
| preserve-space | Defines the elements for which white space should be preserved | 6.0 | 1.0 |
| processing-instruction | Writes a processing instruction to the output | 5.0 | 1.0 |
| sort | Sorts the output | 6.0 | 1.0 |
| strip-space | Defines the elements for which white space should be removed | 6.0 | 1.0 |
| stylesheet | Defines the root element of a style sheet | 5.0 | 1.0 |
| template | Rules to apply when a specified node is matched | 5.0 | 1.0 |
| text | Writes literal text to the output | 5.0 | 1.0 |
| transform | Defines the root element of a style sheet | 6.0 | 1.0 |
| value-of | Extracts the value of a selected node | 5.0 | 1.0 |
| variable | Declares a local or global variable | 6.0 | 1.0 |
| when | Specifies an action for the <choose> element | 5.0 | 1.0 |
| with-param | Defines the value of a parameter to be passed into a template |
| 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 |