W3cubDocs

/XSLT & XPath

xsl:stylesheet

XSLT/XPath Reference: XSLT elements, EXSLT functions, XPath functions, XPath axes

The <xsl:stylesheet> element (or the equivalent <xsl:transform> element) is the outermost element of a stylesheet.

Namespace Declaration

A pseudo-attribute required to identify the document as an XSLT stylesheet. Typically this is xmlns:xsl="http://www.w3.org/1999/XSL/Transform".

Syntax

<xsl:stylesheet
	version="NUMBER"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	id="NAME"
	extension-element-prefixes="LIST-OF-NAMES"
	exclude-result-prefixes="LIST-OF-NAMES">
		ENTIRE STYLESHEET
</xsl:stylesheet>

Required Attributes

version
Specifies the version of XSLT required by this stylesheet.

Optional Attributes

exclude-result-prefixes
Specifies any namespace used in this document that should not be sent to the output document. The list is whitespace separated.
extension-element-prefixes
Specifies a space-separated list of any namespace prefixes for extension elements in this document.
default-collation
Specifies the default collation used by all XPath expressions appearing in attributes or text value templates that have the element as an ancestor, unless overridden by another default-collation attribute on an inner element. It also determines the collation used by certain XSLT constructs (such as <xsl:key> and xsl:for-each-group) within its scope.
default-mode
Defines the default value for the mode attribute of all <xsl:template> and <xsl:apply-templates> elements within its scope.
default-validation
Defines the default value of the validation attribute of all relevant instructions appearing within its scope.
expand-text
Determines whether descendant text nodes of the element are treated as text value templates.
id
Specifies an id for this stylesheet. This is most often used when the stylesheet is embedded in another XML document.
input-type-annotations
Specifies whether type annotations are stripped from the element so the same results are produced whether the source documents have been validated against a schema or not.
use-when
Determines whether the element and all the nodes that have it as ancestor are excluded from the stylesheet.
xpath-default-namespace
Specifies the namespace that will be used if the element name is unprefixed or an unprefixed type name within an XPath expression.

Type

Required outermost element of stylesheet.

Specifications

Specification Status Comment
XSLT 3.0
The definition of '<xsl:stylesheet>' in that specification.
Recommendation Added the attributes default-mode, expand-text, and use-when.
XSLT 2.0 Added the attributes xpath-default-namespace, default-validation, default-collation, and input-type-annotations and made all attributes except version optional.
XSLT 1.0 Initial definition

Browser compatibilityUpdate compatibility data on GitHub

Desktop
Chrome Edge Firefox Internet Explorer Opera Safari
stylesheet 1 12 1.5 Yes Yes 3
exclude-result-prefixes ? ? Yes ? ? ?
extension-element-prefixes ? ? No ? ? ?
id ? ? 7
7
Supported only if explicitly called out by an inline DTD.
? ? ?
version 1 12 1.5 Yes Yes 3
Mobile
Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
stylesheet 1 18 4 Yes 3 1.0
exclude-result-prefixes ? ? Yes ? ? ?
extension-element-prefixes ? ? No ? ? ?
id ? ? 7
7
Supported only if explicitly called out by an inline DTD.
? ? ?
version 1 18 4 Yes 3 1.0

© 2005–2020 Mozilla and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/XSLT/stylesheet