!Templates
xsl:template;1.0;https://www.w3.org/TR/xslt-10/#section-Defining-Template-Rules;defines a set of rules to be applied to specified node.
xsl:apply-templates;1.0;https://www.w3.org/TR/xslt-10/#section-Applying-Template-Rules;applies a template rule to the current element or to element's child nodes.
xsl:apply-imports;1.0;https://www.w3.org/TR/xslt-10/#apply-imports;Applies a template rule from an imported style sheet
xsl:apply-templates;1.0;https://www.w3.org/TR/xslt-10/#section-Applying-Template-Rules;Applies a template rule to the current element or to the current element's child nodes
xsl:call-template;1.0;https://www.w3.org/TR/xslt-10/#named-templates;Calls a named template
xsl:next-match;2.0;https://www.w3.org/TR/xslt20/#element-next-match;overrides another template rule (considers all other template rules of lower import precedence/priority)
xsl:mode;3.0;http://www.w3.org/TR/xslt-30/#element-mode;Allows properties of a mode to be defined
xsl:override;3.0;http://www.w3.org/TR/xslt-30/#element-override;Allows using package to override selected components from a used package
xsl:package;3.0;http://www.w3.org/TR/xslt-30/#element-package;Defines a set of stylesheet modules that can be compiled as a unit
xsl:accept;3.0;https://www.w3.org/TR/xslt-30/#element-accept;Allows a package to restrict the visibility of components exposed by a package
xsl:global-context-item;3.0;http://www.w3.org/TR/xslt-30/#element-global-context-item;Declares whether a global context item is required, and if so, to declare its required type
!Repetition and conditional processing
xsl:for-each;1.0;https://www.w3.org/TR/xslt-10/#for-each;Loops through each node in a specified node set
xsl:if;1.0;https://www.w3.org/TR/xslt-10/#section-Conditional-Processing;Contains a template that will be applied only if a specified condition is true
xsl:choose;1.0;https://www.w3.org/TR/xslt-10/#section-Conditional-Processing-with-xsl:choose;Used in conjunction with &lt;when&gt; and &lt;otherwise&gt; to express multiple conditional tests
xsl:when;1.0;https://www.w3.org/TR/xslt-10/#section-Conditional-Processing-with-xsl:choose;Specifies an action for the &lt;choose&gt; element
xsl:otherwise;1.0;https://www.w3.org/TR/xslt-10/#section-Conditional-Processing-with-xsl:choose;Specifies a default action for the &lt;choose&gt; element
xsl:for-each-group;2.0;https://www.w3.org/TR/xslt20/#element-for-each-group;Groups elements and performs operations once for each group
xsl:iterate;3.0;http://www.w3.org/TR/xslt-30/#element-iterate;Used to iterate over a sequence, with the option to set parameters for use in the next iteration
xsl:break;3.0;http://www.w3.org/TR/xslt-30/#element-break;Causes premature completion before the entire input sequence has been processed
xsl:next-iteration;3.0;http://www.w3.org/TR/xslt-30/#element-next-iteration;The contents are a set of xsl:with-param elements defining the values of the iteration parameters to be used on the next iteration
xsl:on-completion;3.0;http://www.w3.org/TR/xslt-30/#element-on-completion;Defines processing to be carried out when the input sequence is exhausted
xsl:fork;3.0;http://www.w3.org/TR/xslt-30/#element-fork;The result of the xsl:fork instruction is the sequence formed by concatenating the results of evaluating each of its contained instructions, in order
xsl:on-empty;3.0;http://www.w3.org/TR/xslt-30/#element-on-empty;Outputs the enclosed content only if the containing sequence generates no "ordinary" content
xsl:on-non-empty;3.0;http://www.w3.org/TR/xslt-30/#element-on-non-empty;Outputs the enclosed content only if the containing sequence also generates "ordinary" content
xsl:try;3.0;http://www.w3.org/TR/xslt-30/#element-try;Allows recovery from dynamic errors occurring within the expression it wraps
xsl:catch;3.0;http://www.w3.org/TR/xslt-30/#element-catchIn conjunction with xsl:try, handles dynamic errors
xsl:context-item;3.0;http://www.w3.org/TR/xslt-30/#element-context-item;Used to declare the initial context item for a template
!Creating result tree
xsl:attribute;1.0;https://www.w3.org/TR/xslt-10/#creating-attributes;Adds an attribute
xsl:attribute-set;1.0;https://www.w3.org/TR/xslt-10/#attribute-sets;Defines a named set of attributes
xsl:copy;1.0;https://www.w3.org/TR/xslt-10/#copying;Creates a copy of the current node (without child nodes and attributes)
xsl:number;1.0;https://www.w3.org/TR/xslt-10/#number;Determines the integer position of the current node and formats a number
xsl:value-of;1.0;https://www.w3.org/TR/xslt-10/#value-of;Extracts the value of a selected node
xsl:text;1.0;https://www.w3.org/TR/xslt-10/#section-Creating-Text;Writes literal text to the output
xsl:comment;1.0;https://www.w3.org/TR/xslt-10/#section-Creating-Comments;Creates a comment node in the result tree
xsl:processing-instruction;1.0;https://www.w3.org/TR/xslt-10/#section-Creating-Processing-Instructions;Writes a processing instruction to the output
xsl:key;1.0;https://www.w3.org/TR/xslt-10/#key;Declares a named key that can be used in the style sheet with the key() function
xsl:decimal-format;1.0;https://www.w3.org/TR/xslt-10/#format-number;Defines the characters and symbols to be used when converting numbers into strings, with the format-number() function
xsl:preserve-space;1.0;https://www.w3.org/TR/xslt-10/#strip;Defines the elements for which white space should be preserved
xsl:strip-space;1.0;https://www.w3.org/TR/xslt-10/#strip;Defines the elements for which white space should be removed
xsl:sort;1.0;https://www.w3.org/TR/xslt-10/#sorting;Sorts the output
xsl:output;1.0;https://www.w3.org/TR/xslt-10/#output;Defines the format of the output document
xsl:for-each-group;2.0;https://www.w3.org/TR/xslt20/#element-perform-sort;Sorts given sequence
xsl:result-document;2.0;https://www.w3.org/TR/xslt20/#element-result-document;Creates a final result tree
xsl:character-map;2.0;https://www.w3.org/TR/xslt20/#element-character-map;Allows a specific character appearing in the final result tree to be substituted by a specified string of characters
xsl:output-character;2.0;https://www.w3.org/TR/xslt20/#element-character-map;Defines characters and their replacements to be used by character-map
xsl:merge;3.0;http://www.w3.org/TR/xslt-30/#element-merge;Merges two or more pre-sorted input files
xsl:merge-action;3.0;http://www.w3.org/TR/xslt-30/#element-merge-action;Defines action to be carried out on each merged group
xsl:merge-key;3.0;http://www.w3.org/TR/xslt-30/#element-merge-key;Used to define the merge keys on which the input sequences are sorted
xsl:merge-source;3.0;http://www.w3.org/TR/xslt-30/#element-merge-source;Describes the input source for an xsl:merge instruction
!Stylesheet structure
xsl:stylesheet;1.0;https://www.w3.org/TR/xslt-10/#stylesheet-element;Defines the root element of a style sheet
xsl:transform;1.0;https://www.w3.org/TR/xslt-10/#stylesheet-element;Defines the root element of a style sheet
xsl:import;1.0;https://www.w3.org/TR/xslt-10/#import;Imports the contents of one style sheet into another. Note: An imported style sheet has lower precedence than the importing style sheet
xsl:include;1.0;https://www.w3.org/TR/xslt-10/#include;Includes the contents of one style sheet into another. Note: An included style sheet has the same precedence as the including style sheet
xsl:namespace-alias;1.0;https://www.w3.org/TR/xslt-10/#literal-result-element;Replaces a namespace in the style sheet to a different namespace in the output
xsl:element;1.0;https://www.w3.org/TR/xslt-10/#section-Creating-Elements-with-xsl:element;Creates an element node in the output document
!Variables and parameters
xsl:param;1.0;https://www.w3.org/TR/xslt-10/#variables;Declares a local or global parameter
xsl:variable;1.0;https://www.w3.org/TR/xslt-10/#variables;Declares a local or global variable
xsl:with-param;1.0;https://www.w3.org/TR/xslt-10/#section-Passing-Parameters-to-Templates;Defines the value of a parameter to be passed into a template
xsl:copy-of;1.0;https://www.w3.org/TR/xslt-10/#copy-of;Creates a copy of the current node (with child nodes and attributes)
xsl:document;2.0;https://www.w3.org/TR/xslt20/#element-document;Creates a new document node
xsl:namespace;2.0;https://www.w3.org/TR/xslt20/#element-namespace;Creates a namespace node
xsl:namespace-alias;2.0;https://www.w3.org/TR/xslt20/#element-namespace-alias;Declares that a literal namespace URI is being used as an alias for a target namespace URI
xsl:sequence;2.0;https://www.w3.org/TR/xslt20/#element-sequence;Constructs a sequence of nodes and/or atomic values
!Regular expressions;2.0
xsl:analyze-string;2.0;https://www.w3.org/TR/xslt20/#element-analyze-string;Identifies substrings that match given regex
xsl:matching-substring;2.0;https://www.w3.org/TR/xslt20/#element-analyze-string;Used in conjunction with analize-string, returns matching substrings
xsl:non-matching-substring;2.0;https://www.w3.org/TR/xslt20/#element-analyze-string;Used in conjunction with analize-string, returns substrings that didn't match the regex
!Callable;2.0
xsl:function;2.0;https://www.w3.org/TR/xslt20/#element-function;Declares a function that can be called from any XPath expression in the stylesheet
xsl:evaluate;3.0;http://www.w3.org/TR/xslt-30/#element-evaluate;Allows dynamic evaluation of XPath expressions from a string
xsl:assert;3.0;http://www.w3.org/TR/xslt-30/#element-assert;Asserts a XPath expression, optionally throwing a dynamic error
!Other elements
xsl:message;1.0;https://www.w3.org/TR/xslt-10/#message;Writes a message to the output (used to report errors)
xsl:fallback;1.0;https://www.w3.org/TR/xslt-10/#fallback;Specifies an alternate code to run if the processor does not support an XSLT element
xsl:map;3.0;http://www.w3.org/TR/xslt-30/#element-map;Used to construct a new map
xsl:map-entry;3.0;http://www.w3.org/TR/xslt-30/#element-map-entry;Used to construct a singleton map (one key and one value)
xsl:expose;3.0;http://www.w3.org/TR/xslt-30/#element-expose;Used to modify the visibility of selected components within a package
xsl:accumulator;3.0;http://www.w3.org/TR/xslt-30/#element-accumulator;Defines a rule that is to be applied while the document is being sequentially processed
xsl:accumulator-rule;3.0;http://www.w3.org/TR/xslt-30/#element-accumulator-rule;Defines a rule for an xsl:accumulator
xsl:source-document;3.0;http://www.w3.org/TR/xslt-30/#element-source-document;Initiates streamed or unstreamed processing of a source document
xsl:use-package;3.0;http://www.w3.org/TR/xslt-30/#element-use-package;
xsl:where-populated;3.0;http://www.w3.org/TR/xslt-30/#element-where-populated;Allows conditional content construction to be made streamable
xsl:accept;3.0;https://www.w3.org/TR/xslt-30/#element-accept;Allows a package to restrict the visibility of components exposed by a package that it uses