This is a schema for XSLT 2.0 stylesheets. It defines all the elements that appear in the XSLT namespace; it also provides hooks that allow the inclusion of user-defined literal result elements, extension instructions, and top-level data elements. The schema is derived (with kind permission) from a schema for XSLT 1.0 stylesheets produced by Asir S Vedamuthu of WebMethods Inc. This schema is available for use under the conditions of the W3C Software License published at http://www.w3.org/Consortium/Legal/copyright-software-19980720 The schema is organized as follows: PART A: definitions of complex types and model groups used as the basis for element definitions PART B: definitions of individual XSLT elements PART C: definitions for literal result elements PART D: definitions of simple types used in attribute definitions This schema does not attempt to define all the constraints that apply to a valid XSLT 2.0 stylesheet module. It is the intention that all valid stylesheet modules should conform to this schema; however, the schema is non-normative and in the event of any conflict, the text of the Recommendation takes precedence. This schema does not implement the special rules that apply when a stylesheet has sections that use forwards-compatible-mode. In this mode, setting version="3.0" allows elements from the XSLT namespace to be used that are not defined in XSLT 2.0. Simplified stylesheets (those with a literal result element as the outermost element) will validate against this schema only if validation starts in lax mode. This version is dated 2005-02-11 Authors: Michael H Kay, Saxonica Limited Jeni Tennison, Jeni Tennison Consulting Ltd.
PART A: definitions of complex types and model groups used as the basis for element definitions
PART B: definitions of individual XSLT elements Elements are listed in alphabetical order.
PART C: definition of literal result elements There are three ways to define the literal result elements permissible in a stylesheet. (a) do nothing. This allows any element to be used as a literal result element, provided it is not in the XSLT namespace (b) declare all permitted literal result elements as members of the xsl:literal-result-element substitution group (c) redefine the model group xsl:result-elements to accommodate all permitted literal result elements. Literal result elements are allowed to take certain attributes in the XSLT namespace. These are defined in the attribute group literal-result-element-attributes, which can be included in the definition of any literal result element.
PART D: definitions of simple types used in stylesheet attributes
The xsl:variable element declares a variable, which may be a global variable or a local variable. A variable is a binding between a name and a value. The value of a variable is any sequence (of nodes and/or atomic values).<br/>See more info at http://www.w3.org/TR/xslt20/#element-variable
If the as attribute is specified, then the supplied value of the variable is converted to the required type, using the function conversion rules. If the as attribute is omitted, the supplied value of the variable is used directly, and no conversion takes place.
The default-collation attribute is a standard attribute that may appear on any element in the XSLT namespace, or (as xsl:default-collation) on a literal result element. The attribute is used to specify the default collation used by all XPath expressions appearing in the attributes of this element, or attributes of descendant elements, 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. The value of the attribute is a whitespace-separated list of collation URIs. If the implementation recognizes one or more of these collation URIs, then it uses the first one that it recognizes as the default collation.<br/>See more info at http://www.w3.org/TR/xslt20/#default-collation-attribute
The created element node will also have a copy of the namespace nodes that were present on the element node in the stylesheet tree with the exception of any namespace node whose string value is designated as an excluded namespace. A namespace URIs designated by using an [xsl:]exclude-result-prefixes attribute either on the literal result element itself or on an ancestor element are designated as excluded namespace. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The value of the attribute is either #all, or a whitespace-separated list of tokens, each of which is either a namespace prefix or #default. The namespace bound to each of the prefixes is designated as an excluded namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#lre-namespaces
A namespace is designated as an extension namespace by using an [xsl:]extension-element-prefixes attribute on an element in the stylesheet. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The default namespace (as declared by xmlns) may be designated as an extension namespace by including #default in the list of namespace prefixes. The designation of a namespace as an extension namespace is effective for the element bearing the [xsl:]extension-element-prefixes attribute and for all descendants of that element within the same stylesheet module.<br/>See more info at http://www.w3.org/TR/xslt20/#extension-instruction
The value of the variable is computed using the expression given in the select attribute or the contained sequence constructor. This value is referred to as the supplied value of the variable. If the xsl:variable element has a select attribute, then the sequence constructor must be empty.
Any element in the XSLT namespace may have a use-when attribute whose value is an XPath expression that can be evaluated statically. If the attribute is present and the effective boolean valueXP of the expression is false, then the element, together with all the nodes having that element as an ancestor, is effectively excluded from the stylesheet module. When a node is effectively excluded from a stylesheet module the stylesheet module has the same effect as if the node were not there. Among other things this means that no static or dynamic errors will be reported in respect of the element and its contents, other than errors in the use-when attribute itself.
An element enables backwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is less than 2.0. An element enables forwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is greater than 2.0. The compatibility behavior established by an element overrides any compatibility behavior established by an ancestor element. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#backwards and http://www.w3.org/TR/xslt20/#forwards
This attribute is attached to an element to signal an intention that in that element, white space should be preserved by applications. Possible values are "default" and "preserve".
The attribute [xsl:]xpath-default-namespace may be used on an element in the stylesheet to define the namespace that will be used for an unprefixed element name or type name. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. If the effective value of the attribute is a zero-length string, which will be the case if it is explicitly set to a zero-length string or if it is not specified at all, then an unprefixed element name or type name refers to a name that is in no namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#unprefixed-qnames
Source
<xs:element name="variable"><xs:annotation><xs:documentation>The xsl:variable element declares a variable, which may be a global variable or a local variable. A variable is a binding between a name and a value. The value of a variable is any sequence (of nodes and/or atomic values).<br/>See more info at http://www.w3.org/TR/xslt20/#element-variable</xs:documentation></xs:annotation><xs:complexType><xs:complexContent mixed="true"><xs:extension base="xsl:sequence-constructor"><xs:attribute name="name" type="xsl:QName" use="required"><xs:annotation><xs:documentation>The xsl:variable element has a required name attribute, which specifies the name of the variable. The value of the name attribute is a QName.</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="select" type="xsl:expression" use="optional"><xs:annotation><xs:documentation>The value of the variable is computed using the expression given in the select attribute or the contained sequence constructor. This value is referred to as the supplied value of the variable. If the xsl:variable element has a select attribute, then the sequence constructor must be empty.</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="as" type="xsl:sequence-type" use="optional"><xs:annotation><xs:documentation>If the as attribute is specified, then the supplied value of the variable is converted to the required type, using the function conversion rules. If the as attribute is omitted, the supplied value of the variable is used directly, and no conversion takes place.</xs:documentation></xs:annotation></xs:attribute></xs:extension></xs:complexContent></xs:complexType></xs:element>
The default-collation attribute is a standard attribute that may appear on any element in the XSLT namespace, or (as xsl:default-collation) on a literal result element. The attribute is used to specify the default collation used by all XPath expressions appearing in the attributes of this element, or attributes of descendant elements, 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. The value of the attribute is a whitespace-separated list of collation URIs. If the implementation recognizes one or more of these collation URIs, then it uses the first one that it recognizes as the default collation.<br/>See more info at http://www.w3.org/TR/xslt20/#default-collation-attribute
The created element node will also have a copy of the namespace nodes that were present on the element node in the stylesheet tree with the exception of any namespace node whose string value is designated as an excluded namespace. A namespace URIs designated by using an [xsl:]exclude-result-prefixes attribute either on the literal result element itself or on an ancestor element are designated as excluded namespace. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The value of the attribute is either #all, or a whitespace-separated list of tokens, each of which is either a namespace prefix or #default. The namespace bound to each of the prefixes is designated as an excluded namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#lre-namespaces
A namespace is designated as an extension namespace by using an [xsl:]extension-element-prefixes attribute on an element in the stylesheet. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The default namespace (as declared by xmlns) may be designated as an extension namespace by including #default in the list of namespace prefixes. The designation of a namespace as an extension namespace is effective for the element bearing the [xsl:]extension-element-prefixes attribute and for all descendants of that element within the same stylesheet module.<br/>See more info at http://www.w3.org/TR/xslt20/#extension-instruction
Any element in the XSLT namespace may have a use-when attribute whose value is an XPath expression that can be evaluated statically. If the attribute is present and the effective boolean valueXP of the expression is false, then the element, together with all the nodes having that element as an ancestor, is effectively excluded from the stylesheet module. When a node is effectively excluded from a stylesheet module the stylesheet module has the same effect as if the node were not there. Among other things this means that no static or dynamic errors will be reported in respect of the element and its contents, other than errors in the use-when attribute itself.
An element enables backwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is less than 2.0. An element enables forwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is greater than 2.0. The compatibility behavior established by an element overrides any compatibility behavior established by an ancestor element. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#backwards and http://www.w3.org/TR/xslt20/#forwards
This attribute is attached to an element to signal an intention that in that element, white space should be preserved by applications. Possible values are "default" and "preserve".
The attribute [xsl:]xpath-default-namespace may be used on an element in the stylesheet to define the namespace that will be used for an unprefixed element name or type name. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. If the effective value of the attribute is a zero-length string, which will be the case if it is explicitly set to a zero-length string or if it is not specified at all, then an unprefixed element name or type name refers to a name that is in no namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#unprefixed-qnames
The default-collation attribute is a standard attribute that may appear on any element in the XSLT namespace, or (as xsl:default-collation) on a literal result element. The attribute is used to specify the default collation used by all XPath expressions appearing in the attributes of this element, or attributes of descendant elements, 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. The value of the attribute is a whitespace-separated list of collation URIs. If the implementation recognizes one or more of these collation URIs, then it uses the first one that it recognizes as the default collation.<br/>See more info at http://www.w3.org/TR/xslt20/#default-collation-attribute
The created element node will also have a copy of the namespace nodes that were present on the element node in the stylesheet tree with the exception of any namespace node whose string value is designated as an excluded namespace. A namespace URIs designated by using an [xsl:]exclude-result-prefixes attribute either on the literal result element itself or on an ancestor element are designated as excluded namespace. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The value of the attribute is either #all, or a whitespace-separated list of tokens, each of which is either a namespace prefix or #default. The namespace bound to each of the prefixes is designated as an excluded namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#lre-namespaces
A namespace is designated as an extension namespace by using an [xsl:]extension-element-prefixes attribute on an element in the stylesheet. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The default namespace (as declared by xmlns) may be designated as an extension namespace by including #default in the list of namespace prefixes. The designation of a namespace as an extension namespace is effective for the element bearing the [xsl:]extension-element-prefixes attribute and for all descendants of that element within the same stylesheet module.<br/>See more info at http://www.w3.org/TR/xslt20/#extension-instruction
Any element in the XSLT namespace may have a use-when attribute whose value is an XPath expression that can be evaluated statically. If the attribute is present and the effective boolean valueXP of the expression is false, then the element, together with all the nodes having that element as an ancestor, is effectively excluded from the stylesheet module. When a node is effectively excluded from a stylesheet module the stylesheet module has the same effect as if the node were not there. Among other things this means that no static or dynamic errors will be reported in respect of the element and its contents, other than errors in the use-when attribute itself.
This attribute is attached to an element to signal an intention that in that element, white space should be preserved by applications. Possible values are "default" and "preserve".
The attribute [xsl:]xpath-default-namespace may be used on an element in the stylesheet to define the namespace that will be used for an unprefixed element name or type name. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. If the effective value of the attribute is a zero-length string, which will be the case if it is explicitly set to a zero-length string or if it is not specified at all, then an unprefixed element name or type name refers to a name that is in no namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#unprefixed-qnames
This instruction is designed to process all the non-overlapping substrings of the input string that match the regular expression supplied. The input string is partitioned into a sequence of substrings, some of which match the regular expression, others which do not match it. Each substring will contain at least one character. This sequence of substrings is processed using the xsl:matching-substring and xsl:non-matching-substring child instructions.<br/>See more info at http://www.w3.org/TR/xslt20/#element-analyze-string
The default-collation attribute is a standard attribute that may appear on any element in the XSLT namespace, or (as xsl:default-collation) on a literal result element. The attribute is used to specify the default collation used by all XPath expressions appearing in the attributes of this element, or attributes of descendant elements, 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. The value of the attribute is a whitespace-separated list of collation URIs. If the implementation recognizes one or more of these collation URIs, then it uses the first one that it recognizes as the default collation.<br/>See more info at http://www.w3.org/TR/xslt20/#default-collation-attribute
The created element node will also have a copy of the namespace nodes that were present on the element node in the stylesheet tree with the exception of any namespace node whose string value is designated as an excluded namespace. A namespace URIs designated by using an [xsl:]exclude-result-prefixes attribute either on the literal result element itself or on an ancestor element are designated as excluded namespace. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The value of the attribute is either #all, or a whitespace-separated list of tokens, each of which is either a namespace prefix or #default. The namespace bound to each of the prefixes is designated as an excluded namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#lre-namespaces
A namespace is designated as an extension namespace by using an [xsl:]extension-element-prefixes attribute on an element in the stylesheet. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The default namespace (as declared by xmlns) may be designated as an extension namespace by including #default in the list of namespace prefixes. The designation of a namespace as an extension namespace is effective for the element bearing the [xsl:]extension-element-prefixes attribute and for all descendants of that element within the same stylesheet module.<br/>See more info at http://www.w3.org/TR/xslt20/#extension-instruction
The flags attribute may be used to control the interpretation of the regular expression.<br/>See more info at http://www.w3.org/TR/xpath-functions/#flags
Specifies the regular expression input for the xsl:analyze-string instruction as the effective value of the this attribute. Because the regex attribute is an attribute value template, curly brackets within the regular expression must be doubled.
Any element in the XSLT namespace may have a use-when attribute whose value is an XPath expression that can be evaluated statically. If the attribute is present and the effective boolean valueXP of the expression is false, then the element, together with all the nodes having that element as an ancestor, is effectively excluded from the stylesheet module. When a node is effectively excluded from a stylesheet module the stylesheet module has the same effect as if the node were not there. Among other things this means that no static or dynamic errors will be reported in respect of the element and its contents, other than errors in the use-when attribute itself.
An element enables backwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is less than 2.0. An element enables forwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is greater than 2.0. The compatibility behavior established by an element overrides any compatibility behavior established by an ancestor element. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#backwards and http://www.w3.org/TR/xslt20/#forwards
This attribute is attached to an element to signal an intention that in that element, white space should be preserved by applications. Possible values are "default" and "preserve".
The attribute [xsl:]xpath-default-namespace may be used on an element in the stylesheet to define the namespace that will be used for an unprefixed element name or type name. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. If the effective value of the attribute is a zero-length string, which will be the case if it is explicitly set to a zero-length string or if it is not specified at all, then an unprefixed element name or type name refers to a name that is in no namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#unprefixed-qnames
Source
<xs:element name="analyze-string" substitutionGroup="xsl:instruction"><xs:annotation><xs:documentation>This instruction is designed to process all the non-overlapping substrings of the input string that match the regular expression supplied. The input string is partitioned into a sequence of substrings, some of which match the regular expression, others which do not match it. Each substring will contain at least one character. This sequence of substrings is processed using the xsl:matching-substring and xsl:non-matching-substring child instructions.<br/>See more info at http://www.w3.org/TR/xslt20/#element-analyze-string</xs:documentation></xs:annotation><xs:complexType><xs:complexContent><xs:extension base="xsl:element-only-versioned-element-type"><xs:sequence><xs:element ref="xsl:matching-substring" minOccurs="0"/><xs:element ref="xsl:non-matching-substring" minOccurs="0"/><xs:element ref="xsl:fallback" minOccurs="0" maxOccurs="unbounded"/></xs:sequence><xs:attribute name="select" type="xsl:expression" use="required"><xs:annotation><xs:documentation>Specifies the string input for the xsl:analyze-string instruction as the result of evaluating the expression in this attribute.</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="regex" type="xsl:avt" use="required"><xs:annotation><xs:documentation>Specifies the regular expression input for the xsl:analyze-string instruction as the effective value of the this attribute. Because the regex attribute is an attribute value template, curly brackets within the regular expression must be doubled.</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="flags" type="xsl:avt" default=""><xs:annotation><xs:documentation>The flags attribute may be used to control the interpretation of the regular expression.<br/>See more info at http://www.w3.org/TR/xpath-functions/#flags</xs:documentation></xs:annotation></xs:attribute></xs:extension></xs:complexContent></xs:complexType></xs:element>
A matching substring inside an xsl:analyze-string element is processed using the xsl:matching-substring element. If the element is absent, the effect is the same as if it were present with empty content.<br/>See more info at http://www.w3.org/TR/xslt20/#element-matching-substring
The default-collation attribute is a standard attribute that may appear on any element in the XSLT namespace, or (as xsl:default-collation) on a literal result element. The attribute is used to specify the default collation used by all XPath expressions appearing in the attributes of this element, or attributes of descendant elements, 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. The value of the attribute is a whitespace-separated list of collation URIs. If the implementation recognizes one or more of these collation URIs, then it uses the first one that it recognizes as the default collation.<br/>See more info at http://www.w3.org/TR/xslt20/#default-collation-attribute
The created element node will also have a copy of the namespace nodes that were present on the element node in the stylesheet tree with the exception of any namespace node whose string value is designated as an excluded namespace. A namespace URIs designated by using an [xsl:]exclude-result-prefixes attribute either on the literal result element itself or on an ancestor element are designated as excluded namespace. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The value of the attribute is either #all, or a whitespace-separated list of tokens, each of which is either a namespace prefix or #default. The namespace bound to each of the prefixes is designated as an excluded namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#lre-namespaces
A namespace is designated as an extension namespace by using an [xsl:]extension-element-prefixes attribute on an element in the stylesheet. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The default namespace (as declared by xmlns) may be designated as an extension namespace by including #default in the list of namespace prefixes. The designation of a namespace as an extension namespace is effective for the element bearing the [xsl:]extension-element-prefixes attribute and for all descendants of that element within the same stylesheet module.<br/>See more info at http://www.w3.org/TR/xslt20/#extension-instruction
Any element in the XSLT namespace may have a use-when attribute whose value is an XPath expression that can be evaluated statically. If the attribute is present and the effective boolean valueXP of the expression is false, then the element, together with all the nodes having that element as an ancestor, is effectively excluded from the stylesheet module. When a node is effectively excluded from a stylesheet module the stylesheet module has the same effect as if the node were not there. Among other things this means that no static or dynamic errors will be reported in respect of the element and its contents, other than errors in the use-when attribute itself.
An element enables backwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is less than 2.0. An element enables forwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is greater than 2.0. The compatibility behavior established by an element overrides any compatibility behavior established by an ancestor element. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#backwards and http://www.w3.org/TR/xslt20/#forwards
This attribute is attached to an element to signal an intention that in that element, white space should be preserved by applications. Possible values are "default" and "preserve".
The attribute [xsl:]xpath-default-namespace may be used on an element in the stylesheet to define the namespace that will be used for an unprefixed element name or type name. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. If the effective value of the attribute is a zero-length string, which will be the case if it is explicitly set to a zero-length string or if it is not specified at all, then an unprefixed element name or type name refers to a name that is in no namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#unprefixed-qnames
Source
<xs:element name="matching-substring" type="xsl:sequence-constructor"><xs:annotation><xs:documentation>A matching substring inside an xsl:analyze-string element is processed using the xsl:matching-substring element. If the element is absent, the effect is the same as if it were present with empty content.<br/>See more info at http://www.w3.org/TR/xslt20/#element-matching-substring</xs:documentation></xs:annotation></xs:element>
A non matching substring inside an xsl:analyze-string element is processed using the xsl:non-matching-substring element. If the element is absent, the effect is the same as if it were present with empty content.<br/>See more info at http://www.w3.org/TR/xslt20/#element-non-matching-substring
The default-collation attribute is a standard attribute that may appear on any element in the XSLT namespace, or (as xsl:default-collation) on a literal result element. The attribute is used to specify the default collation used by all XPath expressions appearing in the attributes of this element, or attributes of descendant elements, 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. The value of the attribute is a whitespace-separated list of collation URIs. If the implementation recognizes one or more of these collation URIs, then it uses the first one that it recognizes as the default collation.<br/>See more info at http://www.w3.org/TR/xslt20/#default-collation-attribute
The created element node will also have a copy of the namespace nodes that were present on the element node in the stylesheet tree with the exception of any namespace node whose string value is designated as an excluded namespace. A namespace URIs designated by using an [xsl:]exclude-result-prefixes attribute either on the literal result element itself or on an ancestor element are designated as excluded namespace. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The value of the attribute is either #all, or a whitespace-separated list of tokens, each of which is either a namespace prefix or #default. The namespace bound to each of the prefixes is designated as an excluded namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#lre-namespaces
A namespace is designated as an extension namespace by using an [xsl:]extension-element-prefixes attribute on an element in the stylesheet. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The default namespace (as declared by xmlns) may be designated as an extension namespace by including #default in the list of namespace prefixes. The designation of a namespace as an extension namespace is effective for the element bearing the [xsl:]extension-element-prefixes attribute and for all descendants of that element within the same stylesheet module.<br/>See more info at http://www.w3.org/TR/xslt20/#extension-instruction
Any element in the XSLT namespace may have a use-when attribute whose value is an XPath expression that can be evaluated statically. If the attribute is present and the effective boolean valueXP of the expression is false, then the element, together with all the nodes having that element as an ancestor, is effectively excluded from the stylesheet module. When a node is effectively excluded from a stylesheet module the stylesheet module has the same effect as if the node were not there. Among other things this means that no static or dynamic errors will be reported in respect of the element and its contents, other than errors in the use-when attribute itself.
An element enables backwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is less than 2.0. An element enables forwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is greater than 2.0. The compatibility behavior established by an element overrides any compatibility behavior established by an ancestor element. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#backwards and http://www.w3.org/TR/xslt20/#forwards
This attribute is attached to an element to signal an intention that in that element, white space should be preserved by applications. Possible values are "default" and "preserve".
The attribute [xsl:]xpath-default-namespace may be used on an element in the stylesheet to define the namespace that will be used for an unprefixed element name or type name. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. If the effective value of the attribute is a zero-length string, which will be the case if it is explicitly set to a zero-length string or if it is not specified at all, then an unprefixed element name or type name refers to a name that is in no namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#unprefixed-qnames
Source
<xs:element name="non-matching-substring" type="xsl:sequence-constructor"><xs:annotation><xs:documentation>A non matching substring inside an xsl:analyze-string element is processed using the xsl:non-matching-substring element. If the element is absent, the effect is the same as if it were present with empty content.<br/>See more info at http://www.w3.org/TR/xslt20/#element-non-matching-substring</xs:documentation></xs:annotation></xs:element>
There are two situations where a processor performs fallback: when an extension instruction that is not available is evaluated, and when an instruction in the XSLT namespace, that is not defined in XSLT 2.0, is evaluated within a region of the stylesheet for which forwards compatible behavior is enabled.<br/>See more info at http://www.w3.org/TR/xslt20/#element-fallback
The default-collation attribute is a standard attribute that may appear on any element in the XSLT namespace, or (as xsl:default-collation) on a literal result element. The attribute is used to specify the default collation used by all XPath expressions appearing in the attributes of this element, or attributes of descendant elements, 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. The value of the attribute is a whitespace-separated list of collation URIs. If the implementation recognizes one or more of these collation URIs, then it uses the first one that it recognizes as the default collation.<br/>See more info at http://www.w3.org/TR/xslt20/#default-collation-attribute
The created element node will also have a copy of the namespace nodes that were present on the element node in the stylesheet tree with the exception of any namespace node whose string value is designated as an excluded namespace. A namespace URIs designated by using an [xsl:]exclude-result-prefixes attribute either on the literal result element itself or on an ancestor element are designated as excluded namespace. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The value of the attribute is either #all, or a whitespace-separated list of tokens, each of which is either a namespace prefix or #default. The namespace bound to each of the prefixes is designated as an excluded namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#lre-namespaces
A namespace is designated as an extension namespace by using an [xsl:]extension-element-prefixes attribute on an element in the stylesheet. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The default namespace (as declared by xmlns) may be designated as an extension namespace by including #default in the list of namespace prefixes. The designation of a namespace as an extension namespace is effective for the element bearing the [xsl:]extension-element-prefixes attribute and for all descendants of that element within the same stylesheet module.<br/>See more info at http://www.w3.org/TR/xslt20/#extension-instruction
Any element in the XSLT namespace may have a use-when attribute whose value is an XPath expression that can be evaluated statically. If the attribute is present and the effective boolean valueXP of the expression is false, then the element, together with all the nodes having that element as an ancestor, is effectively excluded from the stylesheet module. When a node is effectively excluded from a stylesheet module the stylesheet module has the same effect as if the node were not there. Among other things this means that no static or dynamic errors will be reported in respect of the element and its contents, other than errors in the use-when attribute itself.
An element enables backwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is less than 2.0. An element enables forwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is greater than 2.0. The compatibility behavior established by an element overrides any compatibility behavior established by an ancestor element. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#backwards and http://www.w3.org/TR/xslt20/#forwards
This attribute is attached to an element to signal an intention that in that element, white space should be preserved by applications. Possible values are "default" and "preserve".
The attribute [xsl:]xpath-default-namespace may be used on an element in the stylesheet to define the namespace that will be used for an unprefixed element name or type name. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. If the effective value of the attribute is a zero-length string, which will be the case if it is explicitly set to a zero-length string or if it is not specified at all, then an unprefixed element name or type name refers to a name that is in no namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#unprefixed-qnames
Source
<xs:element name="fallback" substitutionGroup="xsl:instruction" type="xsl:sequence-constructor"><xs:annotation><xs:documentation>There are two situations where a processor performs fallback: when an extension instruction that is not available is evaluated, and when an instruction in the XSLT namespace, that is not defined in XSLT 2.0, is evaluated within a region of the stylesheet for which forwards compatible behavior is enabled.<br/>See more info at http://www.w3.org/TR/xslt20/#element-fallback</xs:documentation></xs:annotation></xs:element>
A template rule that is being used to override another template rule can use the xsl:apply-imports instruction to invoke the overridden template rule. The xsl:apply-imports instruction only considers template rules in imported stylesheet modules. It will invoke the built-in template rule for the node if no other template rule is found.<br/>See more info at http://www.w3.org/TR/xslt20/#element-apply-imports
The default-collation attribute is a standard attribute that may appear on any element in the XSLT namespace, or (as xsl:default-collation) on a literal result element. The attribute is used to specify the default collation used by all XPath expressions appearing in the attributes of this element, or attributes of descendant elements, 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. The value of the attribute is a whitespace-separated list of collation URIs. If the implementation recognizes one or more of these collation URIs, then it uses the first one that it recognizes as the default collation.<br/>See more info at http://www.w3.org/TR/xslt20/#default-collation-attribute
The created element node will also have a copy of the namespace nodes that were present on the element node in the stylesheet tree with the exception of any namespace node whose string value is designated as an excluded namespace. A namespace URIs designated by using an [xsl:]exclude-result-prefixes attribute either on the literal result element itself or on an ancestor element are designated as excluded namespace. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The value of the attribute is either #all, or a whitespace-separated list of tokens, each of which is either a namespace prefix or #default. The namespace bound to each of the prefixes is designated as an excluded namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#lre-namespaces
A namespace is designated as an extension namespace by using an [xsl:]extension-element-prefixes attribute on an element in the stylesheet. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The default namespace (as declared by xmlns) may be designated as an extension namespace by including #default in the list of namespace prefixes. The designation of a namespace as an extension namespace is effective for the element bearing the [xsl:]extension-element-prefixes attribute and for all descendants of that element within the same stylesheet module.<br/>See more info at http://www.w3.org/TR/xslt20/#extension-instruction
Any element in the XSLT namespace may have a use-when attribute whose value is an XPath expression that can be evaluated statically. If the attribute is present and the effective boolean valueXP of the expression is false, then the element, together with all the nodes having that element as an ancestor, is effectively excluded from the stylesheet module. When a node is effectively excluded from a stylesheet module the stylesheet module has the same effect as if the node were not there. Among other things this means that no static or dynamic errors will be reported in respect of the element and its contents, other than errors in the use-when attribute itself.
An element enables backwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is less than 2.0. An element enables forwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is greater than 2.0. The compatibility behavior established by an element overrides any compatibility behavior established by an ancestor element. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#backwards and http://www.w3.org/TR/xslt20/#forwards
This attribute is attached to an element to signal an intention that in that element, white space should be preserved by applications. Possible values are "default" and "preserve".
The attribute [xsl:]xpath-default-namespace may be used on an element in the stylesheet to define the namespace that will be used for an unprefixed element name or type name. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. If the effective value of the attribute is a zero-length string, which will be the case if it is explicitly set to a zero-length string or if it is not specified at all, then an unprefixed element name or type name refers to a name that is in no namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#unprefixed-qnames
Source
<xs:element name="apply-imports" substitutionGroup="xsl:instruction"><xs:annotation><xs:documentation>A template rule that is being used to override another template rule can use the xsl:apply-imports instruction to invoke the overridden template rule. The xsl:apply-imports instruction only considers template rules in imported stylesheet modules. It will invoke the built-in template rule for the node if no other template rule is found.<br/>See more info at http://www.w3.org/TR/xslt20/#element-apply-imports</xs:documentation></xs:annotation><xs:complexType><xs:complexContent><xs:extension base="xsl:element-only-versioned-element-type"><xs:sequence><xs:element ref="xsl:with-param" minOccurs="0" maxOccurs="unbounded"/></xs:sequence></xs:extension></xs:complexContent></xs:complexType></xs:element>
The as attribute specifies the required type of the parameter. If the as attribute is specified, then the supplied value of the parameter is converted to the required type, using the function conversion rules. If the as attribute is omitted, the supplied value of the parameter is used directly, and no conversion takes place.
The default-collation attribute is a standard attribute that may appear on any element in the XSLT namespace, or (as xsl:default-collation) on a literal result element. The attribute is used to specify the default collation used by all XPath expressions appearing in the attributes of this element, or attributes of descendant elements, 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. The value of the attribute is a whitespace-separated list of collation URIs. If the implementation recognizes one or more of these collation URIs, then it uses the first one that it recognizes as the default collation.<br/>See more info at http://www.w3.org/TR/xslt20/#default-collation-attribute
The created element node will also have a copy of the namespace nodes that were present on the element node in the stylesheet tree with the exception of any namespace node whose string value is designated as an excluded namespace. A namespace URIs designated by using an [xsl:]exclude-result-prefixes attribute either on the literal result element itself or on an ancestor element are designated as excluded namespace. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The value of the attribute is either #all, or a whitespace-separated list of tokens, each of which is either a namespace prefix or #default. The namespace bound to each of the prefixes is designated as an excluded namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#lre-namespaces
A namespace is designated as an extension namespace by using an [xsl:]extension-element-prefixes attribute on an element in the stylesheet. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The default namespace (as declared by xmlns) may be designated as an extension namespace by including #default in the list of namespace prefixes. The designation of a namespace as an extension namespace is effective for the element bearing the [xsl:]extension-element-prefixes attribute and for all descendants of that element within the same stylesheet module.<br/>See more info at http://www.w3.org/TR/xslt20/#extension-instruction
The required name attribute specifies the name of the template parameter (the variable the value of whose binding is to be replaced). The value of the name attribute is a QName.
Specifies a value for the parameter. The value of the parameter is computed using the expression given in the select attribute or the contained sequence constructor.
Tunnel parameters have the property that they are automatically passed on by the called template to any further templates that it calls, and so on recursively. The optional tunnel attribute may be used to indicate that a parameter is a tunnel parameter. The default is no.
Any element in the XSLT namespace may have a use-when attribute whose value is an XPath expression that can be evaluated statically. If the attribute is present and the effective boolean valueXP of the expression is false, then the element, together with all the nodes having that element as an ancestor, is effectively excluded from the stylesheet module. When a node is effectively excluded from a stylesheet module the stylesheet module has the same effect as if the node were not there. Among other things this means that no static or dynamic errors will be reported in respect of the element and its contents, other than errors in the use-when attribute itself.
An element enables backwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is less than 2.0. An element enables forwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is greater than 2.0. The compatibility behavior established by an element overrides any compatibility behavior established by an ancestor element. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#backwards and http://www.w3.org/TR/xslt20/#forwards
This attribute is attached to an element to signal an intention that in that element, white space should be preserved by applications. Possible values are "default" and "preserve".
The attribute [xsl:]xpath-default-namespace may be used on an element in the stylesheet to define the namespace that will be used for an unprefixed element name or type name. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. If the effective value of the attribute is a zero-length string, which will be the case if it is explicitly set to a zero-length string or if it is not specified at all, then an unprefixed element name or type name refers to a name that is in no namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#unprefixed-qnames
Source
<xs:element name="with-param"><xs:annotation><xs:documentation>Parameters are passed to templates using the xsl:with-param element.<br/>See more info at http://www.w3.org/TR/xslt20/#element-with-param</xs:documentation></xs:annotation><xs:complexType><xs:complexContent mixed="true"><xs:extension base="xsl:sequence-constructor"><xs:attribute name="name" type="xsl:QName" use="required"><xs:annotation><xs:documentation>The required name attribute specifies the name of the template parameter (the variable the value of whose binding is to be replaced). The value of the name attribute is a QName.</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="select" type="xsl:expression"><xs:annotation><xs:documentation>Specifies a value for the parameter. The value of the parameter is computed using the expression given in the select attribute or the contained sequence constructor.</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="as" type="xsl:sequence-type"><xs:annotation><xs:documentation>The as attribute specifies the required type of the parameter. If the as attribute is specified, then the supplied value of the parameter is converted to the required type, using the function conversion rules. If the as attribute is omitted, the supplied value of the parameter is used directly, and no conversion takes place.</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="tunnel" type="xsl:yes-or-no"><xs:annotation><xs:documentation>Tunnel parameters have the property that they are automatically passed on by the called template to any further templates that it calls, and so on recursively. The optional tunnel attribute may be used to indicate that a parameter is a tunnel parameter. The default is no.</xs:documentation></xs:annotation></xs:attribute></xs:extension></xs:complexContent></xs:complexType></xs:element>
The xsl:apply-templates instruction takes as input a sequence of nodes in the source tree, and produces as output a sequence of items; these will often be nodes to be added to the result tree. If the instruction has one or more xsl:sort children, then the input sequence is sorted. Each node in the input sequence is processed by finding a template rule whose pattern matches that node.<br/>See more info at http://www.w3.org/TR/xslt20/#element-apply-templates
The default-collation attribute is a standard attribute that may appear on any element in the XSLT namespace, or (as xsl:default-collation) on a literal result element. The attribute is used to specify the default collation used by all XPath expressions appearing in the attributes of this element, or attributes of descendant elements, 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. The value of the attribute is a whitespace-separated list of collation URIs. If the implementation recognizes one or more of these collation URIs, then it uses the first one that it recognizes as the default collation.<br/>See more info at http://www.w3.org/TR/xslt20/#default-collation-attribute
The created element node will also have a copy of the namespace nodes that were present on the element node in the stylesheet tree with the exception of any namespace node whose string value is designated as an excluded namespace. A namespace URIs designated by using an [xsl:]exclude-result-prefixes attribute either on the literal result element itself or on an ancestor element are designated as excluded namespace. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The value of the attribute is either #all, or a whitespace-separated list of tokens, each of which is either a namespace prefix or #default. The namespace bound to each of the prefixes is designated as an excluded namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#lre-namespaces
A namespace is designated as an extension namespace by using an [xsl:]extension-element-prefixes attribute on an element in the stylesheet. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The default namespace (as declared by xmlns) may be designated as an extension namespace by including #default in the list of namespace prefixes. The designation of a namespace as an extension namespace is effective for the element bearing the [xsl:]extension-element-prefixes attribute and for all descendants of that element within the same stylesheet module.<br/>See more info at http://www.w3.org/TR/xslt20/#extension-instruction
The xsl:apply-templates element has an optional mode attribute that identifies the processing mode. The value of this attribute must either be a QName to define the name of a mode, or the token #default, to indicate that the default mode is to be used, or the token #current, to indicate that the current mode is to be used. If the attribute is omitted, the default mode is used. When searching for a template rule to process each node selected by the xsl:apply-templates instruction, only those template rules that are applicable to the selected mode are considered.<br/>See more info at http://www.w3.org/TR/xslt20/#modes
A select attribute can be used to process nodes selected by an expression instead of processing all children. The value of the select attribute is an expression. The expression must evaluate to a sequence of nodes (it can contain zero, one, or more nodes).
Any element in the XSLT namespace may have a use-when attribute whose value is an XPath expression that can be evaluated statically. If the attribute is present and the effective boolean valueXP of the expression is false, then the element, together with all the nodes having that element as an ancestor, is effectively excluded from the stylesheet module. When a node is effectively excluded from a stylesheet module the stylesheet module has the same effect as if the node were not there. Among other things this means that no static or dynamic errors will be reported in respect of the element and its contents, other than errors in the use-when attribute itself.
An element enables backwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is less than 2.0. An element enables forwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is greater than 2.0. The compatibility behavior established by an element overrides any compatibility behavior established by an ancestor element. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#backwards and http://www.w3.org/TR/xslt20/#forwards
This attribute is attached to an element to signal an intention that in that element, white space should be preserved by applications. Possible values are "default" and "preserve".
The attribute [xsl:]xpath-default-namespace may be used on an element in the stylesheet to define the namespace that will be used for an unprefixed element name or type name. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. If the effective value of the attribute is a zero-length string, which will be the case if it is explicitly set to a zero-length string or if it is not specified at all, then an unprefixed element name or type name refers to a name that is in no namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#unprefixed-qnames
Source
<xs:element name="apply-templates" substitutionGroup="xsl:instruction"><xs:annotation><xs:documentation>The xsl:apply-templates instruction takes as input a sequence of nodes in the source tree, and produces as output a sequence of items; these will often be nodes to be added to the result tree. If the instruction has one or more xsl:sort children, then the input sequence is sorted. Each node in the input sequence is processed by finding a template rule whose pattern matches that node.<br/>See more info at http://www.w3.org/TR/xslt20/#element-apply-templates</xs:documentation></xs:annotation><xs:complexType><xs:complexContent><xs:extension base="xsl:element-only-versioned-element-type"><xs:choice minOccurs="0" maxOccurs="unbounded"><xs:element ref="xsl:sort"/><xs:element ref="xsl:with-param"/></xs:choice><xs:attribute name="select" type="xsl:expression" default="child::node()"><xs:annotation><xs:documentation>A select attribute can be used to process nodes selected by an expression instead of processing all children. The value of the select attribute is an expression. The expression must evaluate to a sequence of nodes (it can contain zero, one, or more nodes).</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="mode" type="xsl:mode"><xs:annotation><xs:documentation>The xsl:apply-templates element has an optional mode attribute that identifies the processing mode. The value of this attribute must either be a QName to define the name of a mode, or the token #default, to indicate that the default mode is to be used, or the token #current, to indicate that the current mode is to be used. If the attribute is omitted, the default mode is used. When searching for a template rule to process each node selected by the xsl:apply-templates instruction, only those template rules that are applicable to the selected mode are considered.<br/>See more info at http://www.w3.org/TR/xslt20/#modes</xs:documentation></xs:annotation></xs:attribute></xs:extension></xs:complexContent></xs:complexType></xs:element>
The xsl:sort element defines a sort key component. A sort key component specifies how a sort key value is to be computed for each item in the sequence being sorted, and also how two sort key values are to be compared.<br/>See more info at http://www.w3.org/TR/xslt20/#element-sort
The case-order attribute indicates whether the desired collation should sort upper-case letters before lower-case or vice versa. The effective value of the attribute must be either lower-first (indicating that lower-case letters precede upper-case letters in the collating sequence) or upper-first (indicating that upper-case letters precede lower-case).
If the xsl:sort element has a collation attribute, then the strings are compared according to the rules for the named collation: that is, they are compared using the XPath function call compare($a, $b, $collation).
For backwards compatibility with XSLT 1.0, the data-type attribute remains available. If this has the effective value text, the atomized sort key values are converted to strings before being compared. If it has the effective value number, the atomized sort key values are converted to doubles before being compared. The conversion is done by using the string FO or number FO function as appropriate. If the data-type attribute has any other effective value, then the value must be a lexical QName with a non-empty prefix, and the effect of the attribute is implementation-defined.
The default-collation attribute is a standard attribute that may appear on any element in the XSLT namespace, or (as xsl:default-collation) on a literal result element. The attribute is used to specify the default collation used by all XPath expressions appearing in the attributes of this element, or attributes of descendant elements, 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. The value of the attribute is a whitespace-separated list of collation URIs. If the implementation recognizes one or more of these collation URIs, then it uses the first one that it recognizes as the default collation.<br/>See more info at http://www.w3.org/TR/xslt20/#default-collation-attribute
The created element node will also have a copy of the namespace nodes that were present on the element node in the stylesheet tree with the exception of any namespace node whose string value is designated as an excluded namespace. A namespace URIs designated by using an [xsl:]exclude-result-prefixes attribute either on the literal result element itself or on an ancestor element are designated as excluded namespace. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The value of the attribute is either #all, or a whitespace-separated list of tokens, each of which is either a namespace prefix or #default. The namespace bound to each of the prefixes is designated as an excluded namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#lre-namespaces
A namespace is designated as an extension namespace by using an [xsl:]extension-element-prefixes attribute on an element in the stylesheet. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The default namespace (as declared by xmlns) may be designated as an extension namespace by including #default in the list of namespace prefixes. The designation of a namespace as an extension namespace is effective for the element bearing the [xsl:]extension-element-prefixes attribute and for all descendants of that element within the same stylesheet module.<br/>See more info at http://www.w3.org/TR/xslt20/#extension-instruction
The lang attribute indicates that a collation suitable for a particular natural language should be used. The effective value of the attribute must be a value that would be valid for the xml:lang attribute.
The value of a sort key component is determined either by its select attribute, or by the contained sequence constructor. If neither is present, the default is select=".", which has the effect of sorting on the actual value of the item if it is an atomic value, or on the typed-value of the item if it is a node. If a select attribute is present, its value must be an XPath expression.
The stable attribute is permitted only on the first xsl:sort element within a sort key specification. It is a static error if an xsl:sort element other than the first in a sequence of sibling xsl:sort elements has a stable attribute. A sort key specification is said to be stable if its first xsl:sort element has no stable attribute, or has a stable attribute whose effective value is yes.
Any element in the XSLT namespace may have a use-when attribute whose value is an XPath expression that can be evaluated statically. If the attribute is present and the effective boolean valueXP of the expression is false, then the element, together with all the nodes having that element as an ancestor, is effectively excluded from the stylesheet module. When a node is effectively excluded from a stylesheet module the stylesheet module has the same effect as if the node were not there. Among other things this means that no static or dynamic errors will be reported in respect of the element and its contents, other than errors in the use-when attribute itself.
An element enables backwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is less than 2.0. An element enables forwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is greater than 2.0. The compatibility behavior established by an element overrides any compatibility behavior established by an ancestor element. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#backwards and http://www.w3.org/TR/xslt20/#forwards
This attribute is attached to an element to signal an intention that in that element, white space should be preserved by applications. Possible values are "default" and "preserve".
The attribute [xsl:]xpath-default-namespace may be used on an element in the stylesheet to define the namespace that will be used for an unprefixed element name or type name. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. If the effective value of the attribute is a zero-length string, which will be the case if it is explicitly set to a zero-length string or if it is not specified at all, then an unprefixed element name or type name refers to a name that is in no namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#unprefixed-qnames
Source
<xs:element name="sort"><xs:annotation><xs:documentation>The xsl:sort element defines a sort key component. A sort key component specifies how a sort key value is to be computed for each item in the sequence being sorted, and also how two sort key values are to be compared.<br/>See more info at http://www.w3.org/TR/xslt20/#element-sort</xs:documentation></xs:annotation><xs:complexType><xs:complexContent mixed="true"><xs:extension base="xsl:sequence-constructor"><xs:attribute name="select" type="xsl:expression"><xs:annotation><xs:documentation>The value of a sort key component is determined either by its select attribute, or by the contained sequence constructor. If neither is present, the default is select=".", which has the effect of sorting on the actual value of the item if it is an atomic value, or on the typed-value of the item if it is a node. If a select attribute is present, its value must be an XPath expression.</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="lang" type="xsl:avt"><xs:annotation><xs:documentation>The lang attribute indicates that a collation suitable for a particular natural language should be used. The effective value of the attribute must be a value that would be valid for the xml:lang attribute.</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="data-type" default="text"><xs:annotation><xs:documentation>For backwards compatibility with XSLT 1.0, the data-type attribute remains available. If this has the effective value text, the atomized sort key values are converted to strings before being compared. If it has the effective value number, the atomized sort key values are converted to doubles before being compared. The conversion is done by using the string FO or number FO function as appropriate. If the data-type attribute has any other effective value, then the value must be a lexical QName with a non-empty prefix, and the effect of the attribute is implementation-defined.</xs:documentation></xs:annotation><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="text"/><xs:enumeration value="number"/></xs:restriction></xs:simpleType></xs:attribute><xs:attribute name="order" default="ascending"><xs:annotation><xs:documentation>The order attribute controls the direction of sorting. Possible values are ascending and descending.</xs:documentation></xs:annotation><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="ascending"/><xs:enumeration value="descending"/></xs:restriction></xs:simpleType></xs:attribute><xs:attribute name="case-order" type="xsl:avt"><xs:annotation><xs:documentation>The case-order attribute indicates whether the desired collation should sort upper-case letters before lower-case or vice versa. The effective value of the attribute must be either lower-first (indicating that lower-case letters precede upper-case letters in the collating sequence) or upper-first (indicating that upper-case letters precede lower-case).</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="collation" type="xsl:avt"><xs:annotation><xs:documentation>If the xsl:sort element has a collation attribute, then the strings are compared according to the rules for the named collation: that is, they are compared using the XPath function call compare($a, $b, $collation).</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="stable" type="xsl:yes-or-no"><xs:annotation><xs:documentation>The stable attribute is permitted only on the first xsl:sort element within a sort key specification. It is a static error if an xsl:sort element other than the first in a sequence of sibling xsl:sort elements has a stable attribute. A sort key specification is said to be stable if its first xsl:sort element has no stable attribute, or has a stable attribute whose effective value is yes.</xs:documentation></xs:annotation></xs:attribute></xs:extension></xs:complexContent></xs:complexType></xs:element>
The xsl:attribute element can be used to add attributes to result elements whether created by literal result elements in the stylesheet or by instructions such as xsl:element or xsl:copy. The expanded-QName of the attribute to be created is specified by a required name attribute and an optional namespace attribute. Except in error cases, the result of evaluating an xsl:attribute instruction is the newly constructed attribute node.<br/>See more info at http://www.w3.org/TR/xslt20/#element-attribute
The default-collation attribute is a standard attribute that may appear on any element in the XSLT namespace, or (as xsl:default-collation) on a literal result element. The attribute is used to specify the default collation used by all XPath expressions appearing in the attributes of this element, or attributes of descendant elements, 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. The value of the attribute is a whitespace-separated list of collation URIs. If the implementation recognizes one or more of these collation URIs, then it uses the first one that it recognizes as the default collation.<br/>See more info at http://www.w3.org/TR/xslt20/#default-collation-attribute
The created element node will also have a copy of the namespace nodes that were present on the element node in the stylesheet tree with the exception of any namespace node whose string value is designated as an excluded namespace. A namespace URIs designated by using an [xsl:]exclude-result-prefixes attribute either on the literal result element itself or on an ancestor element are designated as excluded namespace. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The value of the attribute is either #all, or a whitespace-separated list of tokens, each of which is either a namespace prefix or #default. The namespace bound to each of the prefixes is designated as an excluded namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#lre-namespaces
A namespace is designated as an extension namespace by using an [xsl:]extension-element-prefixes attribute on an element in the stylesheet. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The default namespace (as declared by xmlns) may be designated as an extension namespace by including #default in the list of namespace prefixes. The designation of a namespace as an extension namespace is effective for the element bearing the [xsl:]extension-element-prefixes attribute and for all descendants of that element within the same stylesheet module.<br/>See more info at http://www.w3.org/TR/xslt20/#extension-instruction
The name attribute, together with the optional namespace attribute, specifies the expanded-QName of the attribute to be created. The name attribute is interpreted as an attribute value template, whose effective value must be a lexical QName.
The namespace attribute, together with the required name attribute, specifies the expanded-QName of the attribute to be created. If the namespace attribute is not present, then the lexical QName is expanded into an expanded-QName using the namespace declarations in effect for the xsl:attribute element, not including any default namespace declaration. If the namespace attribute is present, then it is interpreted as an attribute value template. The effective value should be a URI reference.
If the separator attribute is present, then the effective value of this attribute is used to separate adjacent items in the result sequence. In the absence of this attribute, the default separator is a single space (#x20) when the content is specified using the select attribute, or a zero-length string when the content is specified using a sequence constructor.
The optional type attribute may be used on the xsl:attribute instruction to invoke validation of the contents of the attribute against a type definition in a schema, and to determine the type annotation that the new attribute node will carry. If the type attribute is present, then the newly constructed attribute is validated against the type definition identified by this attribute. The type and validation attributes are mutually exclusive.<br/>See more info at http://www.w3.org/TR/xslt20/#validation
Any element in the XSLT namespace may have a use-when attribute whose value is an XPath expression that can be evaluated statically. If the attribute is present and the effective boolean valueXP of the expression is false, then the element, together with all the nodes having that element as an ancestor, is effectively excluded from the stylesheet module. When a node is effectively excluded from a stylesheet module the stylesheet module has the same effect as if the node were not there. Among other things this means that no static or dynamic errors will be reported in respect of the element and its contents, other than errors in the use-when attribute itself.
The optional validation attribute may be used on the xsl:attribute instruction to invoke validation of the contents of the attribute against attribute declaration in a schema, and to determine the type annotation that the new attribute node will carry. Possible values are strip, preserve, strict and lax. The type and validation attributes are mutually exclusive.<br/>See more info at http://www.w3.org/TR/xslt20/#validation
An element enables backwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is less than 2.0. An element enables forwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is greater than 2.0. The compatibility behavior established by an element overrides any compatibility behavior established by an ancestor element. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#backwards and http://www.w3.org/TR/xslt20/#forwards
This attribute is attached to an element to signal an intention that in that element, white space should be preserved by applications. Possible values are "default" and "preserve".
The attribute [xsl:]xpath-default-namespace may be used on an element in the stylesheet to define the namespace that will be used for an unprefixed element name or type name. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. If the effective value of the attribute is a zero-length string, which will be the case if it is explicitly set to a zero-length string or if it is not specified at all, then an unprefixed element name or type name refers to a name that is in no namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#unprefixed-qnames
Source
<xs:element name="attribute" substitutionGroup="xsl:instruction"><xs:annotation><xs:documentation>The xsl:attribute element can be used to add attributes to result elements whether created by literal result elements in the stylesheet or by instructions such as xsl:element or xsl:copy. The expanded-QName of the attribute to be created is specified by a required name attribute and an optional namespace attribute. Except in error cases, the result of evaluating an xsl:attribute instruction is the newly constructed attribute node.<br/>See more info at http://www.w3.org/TR/xslt20/#element-attribute</xs:documentation></xs:annotation><xs:complexType><xs:complexContent mixed="true"><xs:extension base="xsl:sequence-constructor"><xs:attribute name="name" type="xsl:avt" use="required"><xs:annotation><xs:documentation>The name attribute, together with the optional namespace attribute, specifies the expanded-QName of the attribute to be created. The name attribute is interpreted as an attribute value template, whose effective value must be a lexical QName.</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="namespace" type="xsl:avt"><xs:annotation><xs:documentation>The namespace attribute, together with the required name attribute, specifies the expanded-QName of the attribute to be created. If the namespace attribute is not present, then the lexical QName is expanded into an expanded-QName using the namespace declarations in effect for the xsl:attribute element, not including any default namespace declaration. If the namespace attribute is present, then it is interpreted as an attribute value template. The effective value should be a URI reference.</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="select" type="xsl:expression"><xs:annotation><xs:documentation>The string value of the new attribute node may be defined by using the select attribute.</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="separator" type="xsl:avt"><xs:annotation><xs:documentation>If the separator attribute is present, then the effective value of this attribute is used to separate adjacent items in the result sequence. In the absence of this attribute, the default separator is a single space (#x20) when the content is specified using the select attribute, or a zero-length string when the content is specified using a sequence constructor.</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="type" type="xsl:QName"><xs:annotation><xs:documentation>The optional type attribute may be used on the xsl:attribute instruction to invoke validation of the contents of the attribute against a type definition in a schema, and to determine the type annotation that the new attribute node will carry. If the type attribute is present, then the newly constructed attribute is validated against the type definition identified by this attribute. The type and validation attributes are mutually exclusive.<br/>See more info at http://www.w3.org/TR/xslt20/#validation</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="validation" type="xsl:validation-type"><xs:annotation><xs:documentation>The optional validation attribute may be used on the xsl:attribute instruction to invoke validation of the contents of the attribute against attribute declaration in a schema, and to determine the type annotation that the new attribute node will carry. Possible values are strip, preserve, strict and lax. The type and validation attributes are mutually exclusive.<br/>See more info at http://www.w3.org/TR/xslt20/#validation</xs:documentation></xs:annotation></xs:attribute></xs:extension></xs:complexContent></xs:complexType></xs:element>
The xsl:attribute-set element defines a named attribute set: that is, a collection of attribute definitions that can be used repeatedly on different elements in the result tree.<br/>See more info at http://www.w3.org/TR/xslt20/#element-attribute-set
The default-collation attribute is a standard attribute that may appear on any element in the XSLT namespace, or (as xsl:default-collation) on a literal result element. The attribute is used to specify the default collation used by all XPath expressions appearing in the attributes of this element, or attributes of descendant elements, 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. The value of the attribute is a whitespace-separated list of collation URIs. If the implementation recognizes one or more of these collation URIs, then it uses the first one that it recognizes as the default collation.<br/>See more info at http://www.w3.org/TR/xslt20/#default-collation-attribute
The created element node will also have a copy of the namespace nodes that were present on the element node in the stylesheet tree with the exception of any namespace node whose string value is designated as an excluded namespace. A namespace URIs designated by using an [xsl:]exclude-result-prefixes attribute either on the literal result element itself or on an ancestor element are designated as excluded namespace. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The value of the attribute is either #all, or a whitespace-separated list of tokens, each of which is either a namespace prefix or #default. The namespace bound to each of the prefixes is designated as an excluded namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#lre-namespaces
A namespace is designated as an extension namespace by using an [xsl:]extension-element-prefixes attribute on an element in the stylesheet. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The default namespace (as declared by xmlns) may be designated as an extension namespace by including #default in the list of namespace prefixes. The designation of a namespace as an extension namespace is effective for the element bearing the [xsl:]extension-element-prefixes attribute and for all descendants of that element within the same stylesheet module.<br/>See more info at http://www.w3.org/TR/xslt20/#extension-instruction
Specifying a use-attribute-sets attribute is broadly equivalent to adding xsl:attribute instructions for each of the attributes in each of the named attribute sets to the beginning of the content of the instruction with the use-attribute-sets attribute, in the same order in which the names of the attribute sets are specified in the use-attribute-sets attribute.
Any element in the XSLT namespace may have a use-when attribute whose value is an XPath expression that can be evaluated statically. If the attribute is present and the effective boolean valueXP of the expression is false, then the element, together with all the nodes having that element as an ancestor, is effectively excluded from the stylesheet module. When a node is effectively excluded from a stylesheet module the stylesheet module has the same effect as if the node were not there. Among other things this means that no static or dynamic errors will be reported in respect of the element and its contents, other than errors in the use-when attribute itself.
An element enables backwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is less than 2.0. An element enables forwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is greater than 2.0. The compatibility behavior established by an element overrides any compatibility behavior established by an ancestor element. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#backwards and http://www.w3.org/TR/xslt20/#forwards
This attribute is attached to an element to signal an intention that in that element, white space should be preserved by applications. Possible values are "default" and "preserve".
The attribute [xsl:]xpath-default-namespace may be used on an element in the stylesheet to define the namespace that will be used for an unprefixed element name or type name. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. If the effective value of the attribute is a zero-length string, which will be the case if it is explicitly set to a zero-length string or if it is not specified at all, then an unprefixed element name or type name refers to a name that is in no namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#unprefixed-qnames
Source
<xs:element name="attribute-set" substitutionGroup="xsl:declaration"><xs:annotation><xs:documentation>The xsl:attribute-set element defines a named attribute set: that is, a collection of attribute definitions that can be used repeatedly on different elements in the result tree.<br/>See more info at http://www.w3.org/TR/xslt20/#element-attribute-set</xs:documentation></xs:annotation><xs:complexType><xs:complexContent><xs:extension base="xsl:element-only-versioned-element-type"><xs:sequence minOccurs="0" maxOccurs="unbounded"><xs:element ref="xsl:attribute"/></xs:sequence><xs:attribute name="name" type="xsl:QName" use="required"><xs:annotation><xs:documentation>The required name attribute specifies the name of the attribute set. The value of the name attribute is a QName.</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="use-attribute-sets" type="xsl:QNames" default=""><xs:annotation><xs:documentation>Specifying a use-attribute-sets attribute is broadly equivalent to adding xsl:attribute instructions for each of the attributes in each of the named attribute sets to the beginning of the content of the instruction with the use-attribute-sets attribute, in the same order in which the names of the attribute sets are specified in the use-attribute-sets attribute.</xs:documentation></xs:annotation></xs:attribute></xs:extension></xs:complexContent></xs:complexType></xs:element>
This instruction is used to invoke a template by name. An xsl:template element with a name attribute defines a named template. Unlike xsl:apply-templates, the xsl:call-template instruction does not change the focus.<br/>See more info at http://www.w3.org/TR/xslt20/#element-call-template
The default-collation attribute is a standard attribute that may appear on any element in the XSLT namespace, or (as xsl:default-collation) on a literal result element. The attribute is used to specify the default collation used by all XPath expressions appearing in the attributes of this element, or attributes of descendant elements, 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. The value of the attribute is a whitespace-separated list of collation URIs. If the implementation recognizes one or more of these collation URIs, then it uses the first one that it recognizes as the default collation.<br/>See more info at http://www.w3.org/TR/xslt20/#default-collation-attribute
The created element node will also have a copy of the namespace nodes that were present on the element node in the stylesheet tree with the exception of any namespace node whose string value is designated as an excluded namespace. A namespace URIs designated by using an [xsl:]exclude-result-prefixes attribute either on the literal result element itself or on an ancestor element are designated as excluded namespace. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The value of the attribute is either #all, or a whitespace-separated list of tokens, each of which is either a namespace prefix or #default. The namespace bound to each of the prefixes is designated as an excluded namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#lre-namespaces
A namespace is designated as an extension namespace by using an [xsl:]extension-element-prefixes attribute on an element in the stylesheet. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The default namespace (as declared by xmlns) may be designated as an extension namespace by including #default in the list of namespace prefixes. The designation of a namespace as an extension namespace is effective for the element bearing the [xsl:]extension-element-prefixes attribute and for all descendants of that element within the same stylesheet module.<br/>See more info at http://www.w3.org/TR/xslt20/#extension-instruction
Any element in the XSLT namespace may have a use-when attribute whose value is an XPath expression that can be evaluated statically. If the attribute is present and the effective boolean valueXP of the expression is false, then the element, together with all the nodes having that element as an ancestor, is effectively excluded from the stylesheet module. When a node is effectively excluded from a stylesheet module the stylesheet module has the same effect as if the node were not there. Among other things this means that no static or dynamic errors will be reported in respect of the element and its contents, other than errors in the use-when attribute itself.
An element enables backwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is less than 2.0. An element enables forwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is greater than 2.0. The compatibility behavior established by an element overrides any compatibility behavior established by an ancestor element. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#backwards and http://www.w3.org/TR/xslt20/#forwards
This attribute is attached to an element to signal an intention that in that element, white space should be preserved by applications. Possible values are "default" and "preserve".
The attribute [xsl:]xpath-default-namespace may be used on an element in the stylesheet to define the namespace that will be used for an unprefixed element name or type name. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. If the effective value of the attribute is a zero-length string, which will be the case if it is explicitly set to a zero-length string or if it is not specified at all, then an unprefixed element name or type name refers to a name that is in no namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#unprefixed-qnames
Source
<xs:element name="call-template" substitutionGroup="xsl:instruction"><xs:annotation><xs:documentation>This instruction is used to invoke a template by name. An xsl:template element with a name attribute defines a named template. Unlike xsl:apply-templates, the xsl:call-template instruction does not change the focus.<br/>See more info at http://www.w3.org/TR/xslt20/#element-call-template</xs:documentation></xs:annotation><xs:complexType><xs:complexContent><xs:extension base="xsl:element-only-versioned-element-type"><xs:sequence><xs:element ref="xsl:with-param" minOccurs="0" maxOccurs="unbounded"/></xs:sequence><xs:attribute name="name" type="xsl:QName" use="required"><xs:annotation><xs:documentation>The name attribute identifies the template to be invoked.</xs:documentation></xs:annotation></xs:attribute></xs:extension></xs:complexContent></xs:complexType></xs:element>
The xsl:character-map declaration declares a character map with a name and a set of character mappings. The character mappings are specified by means of xsl:output-character elements contained either directly within the xsl:character-map element, or in further character maps referenced in the use-character-maps attribute.<br/>See more info at http://www.w3.org/TR/xslt20/#element-character-map
The default-collation attribute is a standard attribute that may appear on any element in the XSLT namespace, or (as xsl:default-collation) on a literal result element. The attribute is used to specify the default collation used by all XPath expressions appearing in the attributes of this element, or attributes of descendant elements, 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. The value of the attribute is a whitespace-separated list of collation URIs. If the implementation recognizes one or more of these collation URIs, then it uses the first one that it recognizes as the default collation.<br/>See more info at http://www.w3.org/TR/xslt20/#default-collation-attribute
The created element node will also have a copy of the namespace nodes that were present on the element node in the stylesheet tree with the exception of any namespace node whose string value is designated as an excluded namespace. A namespace URIs designated by using an [xsl:]exclude-result-prefixes attribute either on the literal result element itself or on an ancestor element are designated as excluded namespace. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The value of the attribute is either #all, or a whitespace-separated list of tokens, each of which is either a namespace prefix or #default. The namespace bound to each of the prefixes is designated as an excluded namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#lre-namespaces
A namespace is designated as an extension namespace by using an [xsl:]extension-element-prefixes attribute on an element in the stylesheet. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The default namespace (as declared by xmlns) may be designated as an extension namespace by including #default in the list of namespace prefixes. The designation of a namespace as an extension namespace is effective for the element bearing the [xsl:]extension-element-prefixes attribute and for all descendants of that element within the same stylesheet module.<br/>See more info at http://www.w3.org/TR/xslt20/#extension-instruction
Specifies further character maps references. The character maps referenced in a single use-character-maps attribute are considered in the order in which they are listed. The expansion is depth-first: each referenced character map is fully expanded before the next one is considered.
Any element in the XSLT namespace may have a use-when attribute whose value is an XPath expression that can be evaluated statically. If the attribute is present and the effective boolean valueXP of the expression is false, then the element, together with all the nodes having that element as an ancestor, is effectively excluded from the stylesheet module. When a node is effectively excluded from a stylesheet module the stylesheet module has the same effect as if the node were not there. Among other things this means that no static or dynamic errors will be reported in respect of the element and its contents, other than errors in the use-when attribute itself.
An element enables backwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is less than 2.0. An element enables forwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is greater than 2.0. The compatibility behavior established by an element overrides any compatibility behavior established by an ancestor element. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#backwards and http://www.w3.org/TR/xslt20/#forwards
This attribute is attached to an element to signal an intention that in that element, white space should be preserved by applications. Possible values are "default" and "preserve".
The attribute [xsl:]xpath-default-namespace may be used on an element in the stylesheet to define the namespace that will be used for an unprefixed element name or type name. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. If the effective value of the attribute is a zero-length string, which will be the case if it is explicitly set to a zero-length string or if it is not specified at all, then an unprefixed element name or type name refers to a name that is in no namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#unprefixed-qnames
Source
<xs:element name="character-map" substitutionGroup="xsl:declaration"><xs:annotation><xs:documentation>The xsl:character-map declaration declares a character map with a name and a set of character mappings. The character mappings are specified by means of xsl:output-character elements contained either directly within the xsl:character-map element, or in further character maps referenced in the use-character-maps attribute.<br/>See more info at http://www.w3.org/TR/xslt20/#element-character-map</xs:documentation></xs:annotation><xs:complexType><xs:complexContent><xs:extension base="xsl:element-only-versioned-element-type"><xs:sequence><xs:element ref="xsl:output-character" minOccurs="0" maxOccurs="unbounded"/></xs:sequence><xs:attribute name="name" type="xsl:QName" use="required"><xs:annotation><xs:documentation>The required name attribute provides a name for the character map.</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="use-character-maps" type="xsl:QNames" default=""><xs:annotation><xs:documentation>Specifies further character maps references. The character maps referenced in a single use-character-maps attribute are considered in the order in which they are listed. The expansion is depth-first: each referenced character map is fully expanded before the next one is considered.</xs:documentation></xs:annotation></xs:attribute></xs:extension></xs:complexContent></xs:complexType></xs:element>
The character mappings are specified by means of xsl:output-character elements contained either directly within the xsl:character-map element. The character map that is passed as a parameter to the serializer contains a mapping for the character specified in the character attribute to the string specified in the string attribute.<br/>See more info at http://www.w3.org/TR/xslt20/#element-output-character
The default-collation attribute is a standard attribute that may appear on any element in the XSLT namespace, or (as xsl:default-collation) on a literal result element. The attribute is used to specify the default collation used by all XPath expressions appearing in the attributes of this element, or attributes of descendant elements, 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. The value of the attribute is a whitespace-separated list of collation URIs. If the implementation recognizes one or more of these collation URIs, then it uses the first one that it recognizes as the default collation.<br/>See more info at http://www.w3.org/TR/xslt20/#default-collation-attribute
The created element node will also have a copy of the namespace nodes that were present on the element node in the stylesheet tree with the exception of any namespace node whose string value is designated as an excluded namespace. A namespace URIs designated by using an [xsl:]exclude-result-prefixes attribute either on the literal result element itself or on an ancestor element are designated as excluded namespace. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The value of the attribute is either #all, or a whitespace-separated list of tokens, each of which is either a namespace prefix or #default. The namespace bound to each of the prefixes is designated as an excluded namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#lre-namespaces
A namespace is designated as an extension namespace by using an [xsl:]extension-element-prefixes attribute on an element in the stylesheet. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The default namespace (as declared by xmlns) may be designated as an extension namespace by including #default in the list of namespace prefixes. The designation of a namespace as an extension namespace is effective for the element bearing the [xsl:]extension-element-prefixes attribute and for all descendants of that element within the same stylesheet module.<br/>See more info at http://www.w3.org/TR/xslt20/#extension-instruction
Any element in the XSLT namespace may have a use-when attribute whose value is an XPath expression that can be evaluated statically. If the attribute is present and the effective boolean valueXP of the expression is false, then the element, together with all the nodes having that element as an ancestor, is effectively excluded from the stylesheet module. When a node is effectively excluded from a stylesheet module the stylesheet module has the same effect as if the node were not there. Among other things this means that no static or dynamic errors will be reported in respect of the element and its contents, other than errors in the use-when attribute itself.
An element enables backwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is less than 2.0. An element enables forwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is greater than 2.0. The compatibility behavior established by an element overrides any compatibility behavior established by an ancestor element. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#backwards and http://www.w3.org/TR/xslt20/#forwards
This attribute is attached to an element to signal an intention that in that element, white space should be preserved by applications. Possible values are "default" and "preserve".
The attribute [xsl:]xpath-default-namespace may be used on an element in the stylesheet to define the namespace that will be used for an unprefixed element name or type name. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. If the effective value of the attribute is a zero-length string, which will be the case if it is explicitly set to a zero-length string or if it is not specified at all, then an unprefixed element name or type name refers to a name that is in no namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#unprefixed-qnames
Source
<xs:element name="output-character"><xs:annotation><xs:documentation>The character mappings are specified by means of xsl:output-character elements contained either directly within the xsl:character-map element. The character map that is passed as a parameter to the serializer contains a mapping for the character specified in the character attribute to the string specified in the string attribute.<br/>See more info at http://www.w3.org/TR/xslt20/#element-output-character</xs:documentation></xs:annotation><xs:complexType><xs:complexContent><xs:extension base="xsl:element-only-versioned-element-type"><xs:attribute name="character" type="xsl:char" use="required"><xs:annotation><xs:documentation>Specifies the character to be mapped.</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="string" type="xs:string" use="required"><xs:annotation><xs:documentation>Specifies the string that will replace the mapped character.</xs:documentation></xs:annotation></xs:attribute></xs:extension></xs:complexContent></xs:complexType></xs:element>
The xsl:choose element selects one among a number of possible alternatives. It consists of a sequence of xsl:when elements followed by an optional xsl:otherwise element. When an xsl:choose element is processed, each of the xsl:when elements is tested in turn (that is, in the order that the elements appear in the stylesheet), until one of the xsl:when elements is satisfied. If none of the xsl:when elements is satisfied, then the xsl:otherwise element is considered.<br/>See more info at http://www.w3.org/TR/xslt20/#element-choose
The default-collation attribute is a standard attribute that may appear on any element in the XSLT namespace, or (as xsl:default-collation) on a literal result element. The attribute is used to specify the default collation used by all XPath expressions appearing in the attributes of this element, or attributes of descendant elements, 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. The value of the attribute is a whitespace-separated list of collation URIs. If the implementation recognizes one or more of these collation URIs, then it uses the first one that it recognizes as the default collation.<br/>See more info at http://www.w3.org/TR/xslt20/#default-collation-attribute
The created element node will also have a copy of the namespace nodes that were present on the element node in the stylesheet tree with the exception of any namespace node whose string value is designated as an excluded namespace. A namespace URIs designated by using an [xsl:]exclude-result-prefixes attribute either on the literal result element itself or on an ancestor element are designated as excluded namespace. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The value of the attribute is either #all, or a whitespace-separated list of tokens, each of which is either a namespace prefix or #default. The namespace bound to each of the prefixes is designated as an excluded namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#lre-namespaces
A namespace is designated as an extension namespace by using an [xsl:]extension-element-prefixes attribute on an element in the stylesheet. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The default namespace (as declared by xmlns) may be designated as an extension namespace by including #default in the list of namespace prefixes. The designation of a namespace as an extension namespace is effective for the element bearing the [xsl:]extension-element-prefixes attribute and for all descendants of that element within the same stylesheet module.<br/>See more info at http://www.w3.org/TR/xslt20/#extension-instruction
Any element in the XSLT namespace may have a use-when attribute whose value is an XPath expression that can be evaluated statically. If the attribute is present and the effective boolean valueXP of the expression is false, then the element, together with all the nodes having that element as an ancestor, is effectively excluded from the stylesheet module. When a node is effectively excluded from a stylesheet module the stylesheet module has the same effect as if the node were not there. Among other things this means that no static or dynamic errors will be reported in respect of the element and its contents, other than errors in the use-when attribute itself.
An element enables backwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is less than 2.0. An element enables forwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is greater than 2.0. The compatibility behavior established by an element overrides any compatibility behavior established by an ancestor element. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#backwards and http://www.w3.org/TR/xslt20/#forwards
This attribute is attached to an element to signal an intention that in that element, white space should be preserved by applications. Possible values are "default" and "preserve".
The attribute [xsl:]xpath-default-namespace may be used on an element in the stylesheet to define the namespace that will be used for an unprefixed element name or type name. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. If the effective value of the attribute is a zero-length string, which will be the case if it is explicitly set to a zero-length string or if it is not specified at all, then an unprefixed element name or type name refers to a name that is in no namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#unprefixed-qnames
Source
<xs:element name="choose" substitutionGroup="xsl:instruction"><xs:annotation><xs:documentation>The xsl:choose element selects one among a number of possible alternatives. It consists of a sequence of xsl:when elements followed by an optional xsl:otherwise element. When an xsl:choose element is processed, each of the xsl:when elements is tested in turn (that is, in the order that the elements appear in the stylesheet), until one of the xsl:when elements is satisfied. If none of the xsl:when elements is satisfied, then the xsl:otherwise element is considered.<br/>See more info at http://www.w3.org/TR/xslt20/#element-choose</xs:documentation></xs:annotation><xs:complexType><xs:complexContent><xs:extension base="xsl:element-only-versioned-element-type"><xs:sequence><xs:element ref="xsl:when" maxOccurs="unbounded"/><xs:element ref="xsl:otherwise" minOccurs="0"/></xs:sequence></xs:extension></xs:complexContent></xs:complexType></xs:element>
The xsl:when element defines a possible alternative inside an xsl:choose element. When an xsl:choose element is processed, each of the xsl:when elements is tested in turn (that is, in the order that the elements appear in the stylesheet), until one of the xsl:when elements is satisfied. An xsl:when element is satisfied if the effective boolean value of the expression in its test attribute is true.<br/>See more info at http://www.w3.org/TR/xslt20/#element-when
The default-collation attribute is a standard attribute that may appear on any element in the XSLT namespace, or (as xsl:default-collation) on a literal result element. The attribute is used to specify the default collation used by all XPath expressions appearing in the attributes of this element, or attributes of descendant elements, 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. The value of the attribute is a whitespace-separated list of collation URIs. If the implementation recognizes one or more of these collation URIs, then it uses the first one that it recognizes as the default collation.<br/>See more info at http://www.w3.org/TR/xslt20/#default-collation-attribute
The created element node will also have a copy of the namespace nodes that were present on the element node in the stylesheet tree with the exception of any namespace node whose string value is designated as an excluded namespace. A namespace URIs designated by using an [xsl:]exclude-result-prefixes attribute either on the literal result element itself or on an ancestor element are designated as excluded namespace. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The value of the attribute is either #all, or a whitespace-separated list of tokens, each of which is either a namespace prefix or #default. The namespace bound to each of the prefixes is designated as an excluded namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#lre-namespaces
A namespace is designated as an extension namespace by using an [xsl:]extension-element-prefixes attribute on an element in the stylesheet. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The default namespace (as declared by xmlns) may be designated as an extension namespace by including #default in the list of namespace prefixes. The designation of a namespace as an extension namespace is effective for the element bearing the [xsl:]extension-element-prefixes attribute and for all descendants of that element within the same stylesheet module.<br/>See more info at http://www.w3.org/TR/xslt20/#extension-instruction
Any element in the XSLT namespace may have a use-when attribute whose value is an XPath expression that can be evaluated statically. If the attribute is present and the effective boolean valueXP of the expression is false, then the element, together with all the nodes having that element as an ancestor, is effectively excluded from the stylesheet module. When a node is effectively excluded from a stylesheet module the stylesheet module has the same effect as if the node were not there. Among other things this means that no static or dynamic errors will be reported in respect of the element and its contents, other than errors in the use-when attribute itself.
An element enables backwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is less than 2.0. An element enables forwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is greater than 2.0. The compatibility behavior established by an element overrides any compatibility behavior established by an ancestor element. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#backwards and http://www.w3.org/TR/xslt20/#forwards
This attribute is attached to an element to signal an intention that in that element, white space should be preserved by applications. Possible values are "default" and "preserve".
The attribute [xsl:]xpath-default-namespace may be used on an element in the stylesheet to define the namespace that will be used for an unprefixed element name or type name. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. If the effective value of the attribute is a zero-length string, which will be the case if it is explicitly set to a zero-length string or if it is not specified at all, then an unprefixed element name or type name refers to a name that is in no namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#unprefixed-qnames
Source
<xs:element name="when"><xs:annotation><xs:documentation>The xsl:when element defines a possible alternative inside an xsl:choose element. When an xsl:choose element is processed, each of the xsl:when elements is tested in turn (that is, in the order that the elements appear in the stylesheet), until one of the xsl:when elements is satisfied. An xsl:when element is satisfied if the effective boolean value of the expression in its test attribute is true.<br/>See more info at http://www.w3.org/TR/xslt20/#element-when</xs:documentation></xs:annotation><xs:complexType><xs:complexContent mixed="true"><xs:extension base="xsl:sequence-constructor"><xs:attribute name="test" type="xsl:expression" use="required"><xs:annotation><xs:documentation>Specifies the test expression.</xs:documentation></xs:annotation></xs:attribute></xs:extension></xs:complexContent></xs:complexType></xs:element>
If no xsl:when element inside an xsl:choose is satisfied, the content of the xsl:otherwise element is evaluated.<br/>See more info at http://www.w3.org/TR/xslt20/#element-otherwise
The default-collation attribute is a standard attribute that may appear on any element in the XSLT namespace, or (as xsl:default-collation) on a literal result element. The attribute is used to specify the default collation used by all XPath expressions appearing in the attributes of this element, or attributes of descendant elements, 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. The value of the attribute is a whitespace-separated list of collation URIs. If the implementation recognizes one or more of these collation URIs, then it uses the first one that it recognizes as the default collation.<br/>See more info at http://www.w3.org/TR/xslt20/#default-collation-attribute
The created element node will also have a copy of the namespace nodes that were present on the element node in the stylesheet tree with the exception of any namespace node whose string value is designated as an excluded namespace. A namespace URIs designated by using an [xsl:]exclude-result-prefixes attribute either on the literal result element itself or on an ancestor element are designated as excluded namespace. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The value of the attribute is either #all, or a whitespace-separated list of tokens, each of which is either a namespace prefix or #default. The namespace bound to each of the prefixes is designated as an excluded namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#lre-namespaces
A namespace is designated as an extension namespace by using an [xsl:]extension-element-prefixes attribute on an element in the stylesheet. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The default namespace (as declared by xmlns) may be designated as an extension namespace by including #default in the list of namespace prefixes. The designation of a namespace as an extension namespace is effective for the element bearing the [xsl:]extension-element-prefixes attribute and for all descendants of that element within the same stylesheet module.<br/>See more info at http://www.w3.org/TR/xslt20/#extension-instruction
Any element in the XSLT namespace may have a use-when attribute whose value is an XPath expression that can be evaluated statically. If the attribute is present and the effective boolean valueXP of the expression is false, then the element, together with all the nodes having that element as an ancestor, is effectively excluded from the stylesheet module. When a node is effectively excluded from a stylesheet module the stylesheet module has the same effect as if the node were not there. Among other things this means that no static or dynamic errors will be reported in respect of the element and its contents, other than errors in the use-when attribute itself.
An element enables backwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is less than 2.0. An element enables forwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is greater than 2.0. The compatibility behavior established by an element overrides any compatibility behavior established by an ancestor element. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#backwards and http://www.w3.org/TR/xslt20/#forwards
This attribute is attached to an element to signal an intention that in that element, white space should be preserved by applications. Possible values are "default" and "preserve".
The attribute [xsl:]xpath-default-namespace may be used on an element in the stylesheet to define the namespace that will be used for an unprefixed element name or type name. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. If the effective value of the attribute is a zero-length string, which will be the case if it is explicitly set to a zero-length string or if it is not specified at all, then an unprefixed element name or type name refers to a name that is in no namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#unprefixed-qnames
Source
<xs:element name="otherwise" type="xsl:sequence-constructor"><xs:annotation><xs:documentation>If no xsl:when element inside an xsl:choose is satisfied, the content of the xsl:otherwise element is evaluated.<br/>See more info at http://www.w3.org/TR/xslt20/#element-otherwise</xs:documentation></xs:annotation></xs:element>
The xsl:comment element is evaluated to contruct a new comment node. Except in error cases, the result of evaluating the xsl:comment instruction is a single node, the newly constructed comment node.<br/>See more info at http://www.w3.org/TR/xslt20/#element-comment
The default-collation attribute is a standard attribute that may appear on any element in the XSLT namespace, or (as xsl:default-collation) on a literal result element. The attribute is used to specify the default collation used by all XPath expressions appearing in the attributes of this element, or attributes of descendant elements, 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. The value of the attribute is a whitespace-separated list of collation URIs. If the implementation recognizes one or more of these collation URIs, then it uses the first one that it recognizes as the default collation.<br/>See more info at http://www.w3.org/TR/xslt20/#default-collation-attribute
The created element node will also have a copy of the namespace nodes that were present on the element node in the stylesheet tree with the exception of any namespace node whose string value is designated as an excluded namespace. A namespace URIs designated by using an [xsl:]exclude-result-prefixes attribute either on the literal result element itself or on an ancestor element are designated as excluded namespace. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The value of the attribute is either #all, or a whitespace-separated list of tokens, each of which is either a namespace prefix or #default. The namespace bound to each of the prefixes is designated as an excluded namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#lre-namespaces
A namespace is designated as an extension namespace by using an [xsl:]extension-element-prefixes attribute on an element in the stylesheet. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The default namespace (as declared by xmlns) may be designated as an extension namespace by including #default in the list of namespace prefixes. The designation of a namespace as an extension namespace is effective for the element bearing the [xsl:]extension-element-prefixes attribute and for all descendants of that element within the same stylesheet module.<br/>See more info at http://www.w3.org/TR/xslt20/#extension-instruction
Any element in the XSLT namespace may have a use-when attribute whose value is an XPath expression that can be evaluated statically. If the attribute is present and the effective boolean valueXP of the expression is false, then the element, together with all the nodes having that element as an ancestor, is effectively excluded from the stylesheet module. When a node is effectively excluded from a stylesheet module the stylesheet module has the same effect as if the node were not there. Among other things this means that no static or dynamic errors will be reported in respect of the element and its contents, other than errors in the use-when attribute itself.
An element enables backwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is less than 2.0. An element enables forwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is greater than 2.0. The compatibility behavior established by an element overrides any compatibility behavior established by an ancestor element. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#backwards and http://www.w3.org/TR/xslt20/#forwards
This attribute is attached to an element to signal an intention that in that element, white space should be preserved by applications. Possible values are "default" and "preserve".
The attribute [xsl:]xpath-default-namespace may be used on an element in the stylesheet to define the namespace that will be used for an unprefixed element name or type name. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. If the effective value of the attribute is a zero-length string, which will be the case if it is explicitly set to a zero-length string or if it is not specified at all, then an unprefixed element name or type name refers to a name that is in no namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#unprefixed-qnames
Source
<xs:element name="comment" substitutionGroup="xsl:instruction"><xs:annotation><xs:documentation>The xsl:comment element is evaluated to contruct a new comment node. Except in error cases, the result of evaluating the xsl:comment instruction is a single node, the newly constructed comment node.<br/>See more info at http://www.w3.org/TR/xslt20/#element-comment</xs:documentation></xs:annotation><xs:complexType><xs:complexContent mixed="true"><xs:extension base="xsl:sequence-constructor"><xs:attribute name="select" type="xsl:expression"><xs:annotation><xs:documentation>Specifies the string value of the new comment node.</xs:documentation></xs:annotation></xs:attribute></xs:extension></xs:complexContent></xs:complexType></xs:element>
The xsl:copy instruction provides a way of copying the context item. If the context item is a node, evaluating the xsl:copy instruction constructs a copy of the context node, and the result of the xsl:copy instruction is this newly constructed node. By default, the namespace nodes of the context node are automatically copied as well, but the attributes and children of the node are not automatically copied.<br/>See more info at http://www.w3.org/TR/xslt20/#element-copy
The xsl:copy instruction has an optional copy-namespaces attribute, with the value yes or no. The default value is yes. The attribute is used only when copying element nodes. If the value is set to yes, or is omitted, then all the namespace nodes of the source element are copied as namespace nodes for the result element. If the value is set to no, then the namespace nodes are not copied. However, namespace nodes will still be added to the result element as required by the namespace fixup process.
The default-collation attribute is a standard attribute that may appear on any element in the XSLT namespace, or (as xsl:default-collation) on a literal result element. The attribute is used to specify the default collation used by all XPath expressions appearing in the attributes of this element, or attributes of descendant elements, 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. The value of the attribute is a whitespace-separated list of collation URIs. If the implementation recognizes one or more of these collation URIs, then it uses the first one that it recognizes as the default collation.<br/>See more info at http://www.w3.org/TR/xslt20/#default-collation-attribute
The created element node will also have a copy of the namespace nodes that were present on the element node in the stylesheet tree with the exception of any namespace node whose string value is designated as an excluded namespace. A namespace URIs designated by using an [xsl:]exclude-result-prefixes attribute either on the literal result element itself or on an ancestor element are designated as excluded namespace. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The value of the attribute is either #all, or a whitespace-separated list of tokens, each of which is either a namespace prefix or #default. The namespace bound to each of the prefixes is designated as an excluded namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#lre-namespaces
A namespace is designated as an extension namespace by using an [xsl:]extension-element-prefixes attribute on an element in the stylesheet. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. The default namespace (as declared by xmlns) may be designated as an extension namespace by including #default in the list of namespace prefixes. The designation of a namespace as an extension namespace is effective for the element bearing the [xsl:]extension-element-prefixes attribute and for all descendants of that element within the same stylesheet module.<br/>See more info at http://www.w3.org/TR/xslt20/#extension-instruction
The default value is yes. The attribute is used only when copying element nodes. If the value is set to yes, or is omitted, then the namespace nodes created for the newly constructed element (whether these were copied from those of the source node, or generated as a result of namespace fixup) are copied to the children and descendants of the newly constructed element. If the value is set to no, then these namespace nodes are not automatically copied to the children. This may result in namespace undeclarations (such as xmlns="" or, in the case of XML Namespaces 1.1, xmlns:p="") appearing on the child elements when a final result tree is serialized.
The optional attributes type and validation may be used on the xsl:copy instruction to validate the contents of an element, attribute or document node against a type definition, element declaration, or attribute declaration in a schema, and thus to determine the type annotation that the new copy of an element or attribute node will carry. These attributes are ignored when copying an item that is not an element, attribute or document node. When the node being copied is an element or document node, these attributes also affect the type annotation carried by any elements and attributes that have the copied element or document node as an ancestor. These two attributes are both optional, and if one is specified then the other must be omitted.<br/>See more info at http://www.w3.org/TR/xslt20/#validation
The xsl:copy instruction has an optional use-attribute-sets attribute, whose value is a space-separated list of QNames that identify xsl:attribute-set declarations. This attribute is used only when copying element nodes. This list is expanded to produce a sequence of attribute nodes.
Any element in the XSLT namespace may have a use-when attribute whose value is an XPath expression that can be evaluated statically. If the attribute is present and the effective boolean valueXP of the expression is false, then the element, together with all the nodes having that element as an ancestor, is effectively excluded from the stylesheet module. When a node is effectively excluded from a stylesheet module the stylesheet module has the same effect as if the node were not there. Among other things this means that no static or dynamic errors will be reported in respect of the element and its contents, other than errors in the use-when attribute itself.
The optional attributes type and validation may be used on the xsl:copy instruction to validate the contents of an element, attribute or document node against a type definition, element declaration, or attribute declaration in a schema, and thus to determine the type annotation that the new copy of an element or attribute node will carry. These attributes are ignored when copying an item that is not an element, attribute or document node. When the node being copied is an element or document node, these attributes also affect the type annotation carried by any elements and attributes that have the copied element or document node as an ancestor. These two attributes are both optional, and if one is specified then the other must be omitted.<br/>See more info at http://www.w3.org/TR/xslt20/#validation
An element enables backwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is less than 2.0. An element enables forwards-compatible behavior for itself, its attributes, its descendants and their attributes if it has an [xsl:]version attribute whose value is greater than 2.0. The compatibility behavior established by an element overrides any compatibility behavior established by an ancestor element. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#backwards and http://www.w3.org/TR/xslt20/#forwards
This attribute is attached to an element to signal an intention that in that element, white space should be preserved by applications. Possible values are "default" and "preserve".
The attribute [xsl:]xpath-default-namespace may be used on an element in the stylesheet to define the namespace that will be used for an unprefixed element name or type name. The attribute must be in the XSLT namespace only if its parent element is not in the XSLT namespace. If the effective value of the attribute is a zero-length string, which will be the case if it is explicitly set to a zero-length string or if it is not specified at all, then an unprefixed element name or type name refers to a name that is in no namespace.<br/>See more info at http://www.w3.org/TR/xslt20/#unprefixed-qnames
Source
<xs:element name="copy" substitutionGroup="xsl:instruction"><xs:annotation><xs:documentation>The xsl:copy instruction provides a way of copying the context item. If the context item is a node, evaluating the xsl:copy instruction constructs a copy of the context node, and the result of the xsl:copy instruction is this newly constructed node. By default, the namespace nodes of the context node are automatically copied as well, but the attributes and children of the node are not automatically copied.<br/>See more info at http://www.w3.org/TR/xslt20/#element-copy</xs:documentation></xs:annotation><xs:complexType><xs:complexContent mixed="true"><xs:extension base="xsl:sequence-constructor"><xs:attribute name="copy-namespaces" type="xsl:yes-or-no" default="yes"><xs:annotation><xs:documentation>The xsl:copy instruction has an optional copy-namespaces attribute, with the value yes or no. The default value is yes. The attribute is used only when copying element nodes. If the value is set to yes, or is omitted, then all the namespace nodes of the source element are copied as namespace nodes for the result element. If the value is set to no, then the namespace nodes are not copied. However, namespace nodes will still be added to the result element as required by the namespace fixup process.</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="inherit-namespaces" type="xsl:yes-or-no" default="yes"><xs:annotation><xs:documentation>The default value is yes. The attribute is used only when copying element nodes. If the value is set to yes, or is omitted, then the namespace nodes created for the newly constructed element (whether these were copied from those of the source node, or generated as a result of namespace fixup) are copied to the children and descendants of the newly constructed element. If the value is set to no, then these namespace nodes are not automatically copied to the children. This may result in namespace undeclarations (such as xmlns="" or, in the case of XML Namespaces 1.1, xmlns:p="") appearing on the child elements when a final result tree is serialized.</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="use-attribute-sets" type="xsl:QNames" default=""><xs:annotation><xs:documentation>The xsl:copy instruction has an optional use-attribute-sets attribute, whose value is a space-separated list of QNames that identify xsl:attribute-set declarations. This attribute is used only when copying element nodes. This list is expanded to produce a sequence of attribute nodes.</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="type" type="xsl:QName"><xs:annotation><xs:documentation>The optional attributes type and validation may be used on the xsl:copy instruction to validate the contents of an element, attribute or document node against a type definition, element declaration, or attribute declaration in a schema, and thus to determine the type annotation that the new copy of an element or attribute node will carry. These attributes are ignored when copying an item that is not an element, attribute or document node. When the node being copied is an element or document node, these attributes also affect the type annotation carried by any elements and attributes that have the copied element or document node as an ancestor. These two attributes are both optional, and if one is specified then the other must be omitted.<br/>See more info at http://www.w3.org/TR/xslt20/#validation</xs:documentation></xs:annotation></xs:attribute><xs:attribute name="validation" type="xsl:validation-type"><xs:annotation><xs:documentation>The optional attributes type and validation may be used on the xsl:copy instruction to validate the contents of an element, attribute or document node against a type definition, element declaration, or attribute declaration in a schema, and thus to determine the type annotation that the new copy of an element or attribute node will carry. These attributes are ignored when copying an item that is not an element, attribute or document node. When the node being copied is an element or document node, these attributes also affect the type annotation carried by any elements and attributes that have the copied element or document node as an ancestor. These two attributes are both optional, and if one is specified then the other must be omitted.<br/>See more info at http://www.w3.org/TR/xslt20/#validation</xs:documentation></xs:annotation></xs:attribute></xs:extension></xs:complexContent></xs:complexType></xs:element>
The xsl:copy-of instruction can be used to construct a copy of a sequence of nodes and/or atomic values, with each new node containing copies of all the children, attributes, and (by default) namespaces of the original node, recursively. The result of evaluating the instruction is a sequence of items corresponding one-to-one with the supplied sequence, and retaining its order.<br/>See more info at http://www.w3.org/TR/xslt20/#element-copy-of
When using xsl:copy-of the new elements will also have namespace nodes copied from the original element node, unless they are excluded by specifying copy-namespaces="no". If this attribute is omitted, or takes the value yes, then all the namespace nodes of the original element are copied to the new element. If it takes the value no, then none of the namespace nodes are copied: however, namespace nodes will still be created in the result tree as required by the namespace fixup process.
The default-collation attribute is a standard attribute that may appear on any element in the XSLT namespace, or (as xsl:default-collation) on a literal result element. The attribute is used to specify the default collation used by all XPath expressions appearing in the attributes of this element, or attributes of descendant elements, 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. The value of the attribute is a whitespace-separated list of collation URIs. If the implementation recognizes one or more of these collation URIs, then it uses the first one that it recognizes as the default collation.<br/>See more info at http://www.w3.org/TR/xslt20/#default-collation-attribute