Showing:

Annotations
Attributes
Diagrams
Facets
Instances
Properties
Source
Used by
Main schema XSL2.0Schema.xsd
Namespace http://www.w3.org/1999/XSL/Transform
Annotations
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.
2004-07-28, George Bina, SyncRO Soft Ltd. (oXygen XML Editor) added annotations for elements
            and attributes. Copyright © 2002-2004 SyncRO Soft Ltd. All rights reserved.
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
Properties
attribute form default: unqualified
element form default: qualified
Schema location file:/D:/projects/eXml/src/builtin/XSL2.0Schema.xsd
Element xsl:variable
Namespace http://www.w3.org/1999/XSL/Transform
Annotations
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
Diagram
Diagram xsl_2_0_schema0.tmp#id3 xsl_2_0_schema0.tmp#id5 xsl_2_0_schema0.tmp#id8 xsl_2_0_schema0.tmp#id10 xsl_2_0_schema0.tmp#id12 xsl_2_0_schema1.tmp#id13 xsl_2_0_schema2.tmp#id2 xsl_2_0_schema0.tmp#id15 xsl_2_0_schema2.tmp#id14 xsl_2_0_schema2.tmp#id19 xsl_2_0_schema2.tmp#id20 xsl_2_0_schema2.tmp#id47 xsl_2_0_schema2.tmp#id46 xsl_2_0_schema2.tmp#id18 xsl_2_0_schema2.tmp#id17 xsl_2_0_schema0.tmp#id54 xsl_2_0_schema0.tmp#id55 xsl_2_0_schema0.tmp#id53
Type extension of xsl:sequence-constructor
Type hierarchy
Properties
content: complex
Used by
Model xsl:variable | xsl:instruction | xsl:literal-result-element | ANY element from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform' | ANY element from LOCAL namespace 'No Namespace'
Children xsl:instruction, xsl:literal-result-element, xsl:variable
Instance
<xsl:variable as="" default-collation="" exclude-result-prefixes="" extension-element-prefixes="" name="" select="" xml:space="" use-when="" version="" xpath-default-namespace="">
  <xsl:variable as="" default-collation="" exclude-result-prefixes="" extension-element-prefixes="" name="" select="" xml:space="" use-when="" version="" xpath-default-namespace="">{1,1}</xsl:variable>
  <xsl:instruction default-collation="" exclude-result-prefixes="" extension-element-prefixes="" xml:space="" use-when="" version="" xpath-default-namespace="">{1,1}</xsl:instruction>
</xsl:variable>
Attributes
QName Type Fixed Default Use Annotation
ANY attribute from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform'
as xsl:sequence-type optional
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.
default-collation xsl:uri-list optional
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
exclude-result-prefixes xsl:prefix-list-or-all optional
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
extension-element-prefixes xsl:prefix-list optional
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
name xsl:QName required
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.
select xsl:expression optional
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.
use-when xsl:expression optional
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.
version xs:decimal optional
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
xml:space restriction of xs:NCName optional
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".
xpath-default-namespace xs:anyURI optional
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>
Schema location file:/D:/projects/eXml/src/builtin/XSL2.0Schema.xsd
Element xsl:instruction
Namespace http://www.w3.org/1999/XSL/Transform
Diagram
Diagram xsl_2_0_schema0.tmp#id3 xsl_2_0_schema0.tmp#id5 xsl_2_0_schema0.tmp#id8 xsl_2_0_schema0.tmp#id10 xsl_2_0_schema0.tmp#id12 xsl_2_0_schema1.tmp#id13 xsl_2_0_schema2.tmp#id2 xsl_2_0_schema0.tmp#id15 xsl_2_0_schema2.tmp#id14 xsl_2_0_schema2.tmp#id21 xsl_2_0_schema2.tmp#id22 xsl_2_0_schema2.tmp#id23 xsl_2_0_schema2.tmp#id24 xsl_2_0_schema2.tmp#id25 xsl_2_0_schema2.tmp#id26 xsl_2_0_schema2.tmp#id27 xsl_2_0_schema2.tmp#id28 xsl_2_0_schema2.tmp#id29 xsl_2_0_schema2.tmp#id30 xsl_2_0_schema2.tmp#id31 xsl_2_0_schema2.tmp#id32 xsl_2_0_schema2.tmp#id33 xsl_2_0_schema2.tmp#id34 xsl_2_0_schema2.tmp#id35 xsl_2_0_schema2.tmp#id36 xsl_2_0_schema2.tmp#id37 xsl_2_0_schema2.tmp#id38 xsl_2_0_schema2.tmp#id39 xsl_2_0_schema2.tmp#id40 xsl_2_0_schema2.tmp#id41 xsl_2_0_schema2.tmp#id42 xsl_2_0_schema2.tmp#id43 xsl_2_0_schema2.tmp#id44 xsl_2_0_schema2.tmp#id45
Type xsl:versioned-element-type
Type hierarchy
Properties
content: complex
abstract: true
mixed: true
Used by
Model
Attributes
QName Type Fixed Default Use Annotation
ANY attribute from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform'
default-collation xsl:uri-list optional
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
exclude-result-prefixes xsl:prefix-list-or-all optional
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
extension-element-prefixes xsl:prefix-list optional
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
use-when xsl:expression optional
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.
version xs:decimal optional
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
xml:space restriction of xs:NCName optional
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".
xpath-default-namespace xs:anyURI optional
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="instruction" type="xsl:versioned-element-type" abstract="true"/>
Schema location file:/D:/projects/eXml/src/builtin/XSL2.0Schema.xsd
Element xsl:literal-result-element
Namespace http://www.w3.org/1999/XSL/Transform
Diagram
Diagram
Properties
abstract: true
Used by
Element Group xsl:result-elements
Source
<xs:element name="literal-result-element" abstract="true" type="xs:anyType"/>
Schema location file:/D:/projects/eXml/src/builtin/XSL2.0Schema.xsd
Element xsl:declaration
Namespace http://www.w3.org/1999/XSL/Transform
Diagram
Diagram xsl_2_0_schema0.tmp#id3 xsl_2_0_schema0.tmp#id5 xsl_2_0_schema0.tmp#id8 xsl_2_0_schema0.tmp#id10 xsl_2_0_schema0.tmp#id12 xsl_2_0_schema1.tmp#id13 xsl_2_0_schema2.tmp#id2 xsl_2_0_schema2.tmp#id57 xsl_2_0_schema2.tmp#id58 xsl_2_0_schema2.tmp#id59 xsl_2_0_schema2.tmp#id60 xsl_2_0_schema2.tmp#id61 xsl_2_0_schema2.tmp#id62 xsl_2_0_schema2.tmp#id63 xsl_2_0_schema2.tmp#id64 xsl_2_0_schema2.tmp#id65 xsl_2_0_schema2.tmp#id66 xsl_2_0_schema2.tmp#id67 xsl_2_0_schema2.tmp#id68
Type xsl:generic-element-type
Properties
content: complex
abstract: true
mixed: true
Used by
Element xsl:transform
Model
Attributes
QName Type Fixed Default Use Annotation
ANY attribute from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform'
default-collation xsl:uri-list optional
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
exclude-result-prefixes xsl:prefix-list-or-all optional
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
extension-element-prefixes xsl:prefix-list optional
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
use-when xsl:expression optional
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.
xml:space restriction of xs:NCName optional
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".
xpath-default-namespace xs:anyURI optional
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="declaration" type="xsl:generic-element-type" abstract="true"/>
Schema location file:/D:/projects/eXml/src/builtin/XSL2.0Schema.xsd
Element xsl:analyze-string
Namespace http://www.w3.org/1999/XSL/Transform
Annotations
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
Diagram
Diagram xsl_2_0_schema0.tmp#id3 xsl_2_0_schema0.tmp#id5 xsl_2_0_schema0.tmp#id8 xsl_2_0_schema0.tmp#id10 xsl_2_0_schema0.tmp#id12 xsl_2_0_schema1.tmp#id13 xsl_2_0_schema2.tmp#id2 xsl_2_0_schema0.tmp#id15 xsl_2_0_schema2.tmp#id14 xsl_2_0_schema2.tmp#id16 xsl_2_0_schema0.tmp#id71 xsl_2_0_schema0.tmp#id72 xsl_2_0_schema0.tmp#id74 xsl_2_0_schema2.tmp#id69 xsl_2_0_schema2.tmp#id70 xsl_2_0_schema2.tmp#id32
Type extension of xsl:element-only-versioned-element-type
Type hierarchy
Properties
content: complex
Model xsl:matching-substring{0,1} , xsl:non-matching-substring{0,1} , xsl:fallback*
Children xsl:fallback, xsl:matching-substring, xsl:non-matching-substring
Instance
<xsl:analyze-string default-collation="" exclude-result-prefixes="" extension-element-prefixes="" flags="" regex="" select="" xml:space="" use-when="" version="" xpath-default-namespace="">
  <xsl:matching-substring default-collation="" exclude-result-prefixes="" extension-element-prefixes="" xml:space="" use-when="" version="" xpath-default-namespace="">{0,1}</xsl:matching-substring>
  <xsl:non-matching-substring default-collation="" exclude-result-prefixes="" extension-element-prefixes="" xml:space="" use-when="" version="" xpath-default-namespace="">{0,1}</xsl:non-matching-substring>
  <xsl:fallback default-collation="" exclude-result-prefixes="" extension-element-prefixes="" xml:space="" use-when="" version="" xpath-default-namespace="">{0,unbounded}</xsl:fallback>
</xsl:analyze-string>
Attributes
QName Type Fixed Default Use Annotation
ANY attribute from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform'
default-collation xsl:uri-list optional
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
exclude-result-prefixes xsl:prefix-list-or-all optional
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
extension-element-prefixes xsl:prefix-list optional
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
flags xsl:avt optional
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
regex xsl:avt required
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.
select xsl:expression required
Specifies the string input for the xsl:analyze-string instruction as the
                                result of evaluating the expression in this attribute.
use-when xsl:expression optional
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.
version xs:decimal optional
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
xml:space restriction of xs:NCName optional
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".
xpath-default-namespace xs:anyURI optional
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>
Schema location file:/D:/projects/eXml/src/builtin/XSL2.0Schema.xsd
Element xsl:matching-substring
Namespace http://www.w3.org/1999/XSL/Transform
Annotations
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
Diagram
Diagram xsl_2_0_schema0.tmp#id3 xsl_2_0_schema0.tmp#id5 xsl_2_0_schema0.tmp#id8 xsl_2_0_schema0.tmp#id10 xsl_2_0_schema0.tmp#id12 xsl_2_0_schema1.tmp#id13 xsl_2_0_schema2.tmp#id2 xsl_2_0_schema0.tmp#id15 xsl_2_0_schema2.tmp#id14 xsl_2_0_schema2.tmp#id19 xsl_2_0_schema2.tmp#id20 xsl_2_0_schema2.tmp#id47 xsl_2_0_schema2.tmp#id46 xsl_2_0_schema2.tmp#id18 xsl_2_0_schema2.tmp#id17
Type xsl:sequence-constructor
Type hierarchy
Properties
content: complex
Used by
Model xsl:variable | xsl:instruction | xsl:literal-result-element | ANY element from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform' | ANY element from LOCAL namespace 'No Namespace'
Children xsl:instruction, xsl:literal-result-element, xsl:variable
Instance
<xsl:matching-substring default-collation="" exclude-result-prefixes="" extension-element-prefixes="" xml:space="" use-when="" version="" xpath-default-namespace="">
  <xsl:variable as="" default-collation="" exclude-result-prefixes="" extension-element-prefixes="" name="" select="" xml:space="" use-when="" version="" xpath-default-namespace="">{1,1}</xsl:variable>
  <xsl:instruction default-collation="" exclude-result-prefixes="" extension-element-prefixes="" xml:space="" use-when="" version="" xpath-default-namespace="">{1,1}</xsl:instruction>
</xsl:matching-substring>
Attributes
QName Type Fixed Default Use Annotation
ANY attribute from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform'
default-collation xsl:uri-list optional
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
exclude-result-prefixes xsl:prefix-list-or-all optional
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
extension-element-prefixes xsl:prefix-list optional
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
use-when xsl:expression optional
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.
version xs:decimal optional
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
xml:space restriction of xs:NCName optional
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".
xpath-default-namespace xs:anyURI optional
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>
Schema location file:/D:/projects/eXml/src/builtin/XSL2.0Schema.xsd
Element xsl:non-matching-substring
Namespace http://www.w3.org/1999/XSL/Transform
Annotations
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
Diagram
Diagram xsl_2_0_schema0.tmp#id3 xsl_2_0_schema0.tmp#id5 xsl_2_0_schema0.tmp#id8 xsl_2_0_schema0.tmp#id10 xsl_2_0_schema0.tmp#id12 xsl_2_0_schema1.tmp#id13 xsl_2_0_schema2.tmp#id2 xsl_2_0_schema0.tmp#id15 xsl_2_0_schema2.tmp#id14 xsl_2_0_schema2.tmp#id19 xsl_2_0_schema2.tmp#id20 xsl_2_0_schema2.tmp#id47 xsl_2_0_schema2.tmp#id46 xsl_2_0_schema2.tmp#id18 xsl_2_0_schema2.tmp#id17
Type xsl:sequence-constructor
Type hierarchy
Properties
content: complex
Used by
Model xsl:variable | xsl:instruction | xsl:literal-result-element | ANY element from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform' | ANY element from LOCAL namespace 'No Namespace'
Children xsl:instruction, xsl:literal-result-element, xsl:variable
Instance
<xsl:non-matching-substring default-collation="" exclude-result-prefixes="" extension-element-prefixes="" xml:space="" use-when="" version="" xpath-default-namespace="">
  <xsl:variable as="" default-collation="" exclude-result-prefixes="" extension-element-prefixes="" name="" select="" xml:space="" use-when="" version="" xpath-default-namespace="">{1,1}</xsl:variable>
  <xsl:instruction default-collation="" exclude-result-prefixes="" extension-element-prefixes="" xml:space="" use-when="" version="" xpath-default-namespace="">{1,1}</xsl:instruction>
</xsl:non-matching-substring>
Attributes
QName Type Fixed Default Use Annotation
ANY attribute from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform'
default-collation xsl:uri-list optional
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
exclude-result-prefixes xsl:prefix-list-or-all optional
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
extension-element-prefixes xsl:prefix-list optional
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
use-when xsl:expression optional
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.
version xs:decimal optional
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
xml:space restriction of xs:NCName optional
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".
xpath-default-namespace xs:anyURI optional
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>
Schema location file:/D:/projects/eXml/src/builtin/XSL2.0Schema.xsd
Element xsl:fallback
Namespace http://www.w3.org/1999/XSL/Transform
Annotations
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
Diagram
Diagram xsl_2_0_schema0.tmp#id3 xsl_2_0_schema0.tmp#id5 xsl_2_0_schema0.tmp#id8 xsl_2_0_schema0.tmp#id10 xsl_2_0_schema0.tmp#id12 xsl_2_0_schema1.tmp#id13 xsl_2_0_schema2.tmp#id2 xsl_2_0_schema0.tmp#id15 xsl_2_0_schema2.tmp#id14 xsl_2_0_schema2.tmp#id19 xsl_2_0_schema2.tmp#id20 xsl_2_0_schema2.tmp#id47 xsl_2_0_schema2.tmp#id46 xsl_2_0_schema2.tmp#id18 xsl_2_0_schema2.tmp#id17
Type xsl:sequence-constructor
Type hierarchy
Properties
content: complex
Used by
Model xsl:variable | xsl:instruction | xsl:literal-result-element | ANY element from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform' | ANY element from LOCAL namespace 'No Namespace'
Children xsl:instruction, xsl:literal-result-element, xsl:variable
Instance
<xsl:fallback default-collation="" exclude-result-prefixes="" extension-element-prefixes="" xml:space="" use-when="" version="" xpath-default-namespace="">
  <xsl:variable as="" default-collation="" exclude-result-prefixes="" extension-element-prefixes="" name="" select="" xml:space="" use-when="" version="" xpath-default-namespace="">{1,1}</xsl:variable>
  <xsl:instruction default-collation="" exclude-result-prefixes="" extension-element-prefixes="" xml:space="" use-when="" version="" xpath-default-namespace="">{1,1}</xsl:instruction>
</xsl:fallback>
Attributes
QName Type Fixed Default Use Annotation
ANY attribute from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform'
default-collation xsl:uri-list optional
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
exclude-result-prefixes xsl:prefix-list-or-all optional
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
extension-element-prefixes xsl:prefix-list optional
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
use-when xsl:expression optional
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.
version xs:decimal optional
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
xml:space restriction of xs:NCName optional
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".
xpath-default-namespace xs:anyURI optional
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>
Schema location file:/D:/projects/eXml/src/builtin/XSL2.0Schema.xsd
Element xsl:apply-imports
Namespace http://www.w3.org/1999/XSL/Transform
Annotations
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
Diagram
Diagram xsl_2_0_schema0.tmp#id3 xsl_2_0_schema0.tmp#id5 xsl_2_0_schema0.tmp#id8 xsl_2_0_schema0.tmp#id10 xsl_2_0_schema0.tmp#id12 xsl_2_0_schema1.tmp#id13 xsl_2_0_schema2.tmp#id2 xsl_2_0_schema0.tmp#id15 xsl_2_0_schema2.tmp#id14 xsl_2_0_schema2.tmp#id16 xsl_2_0_schema2.tmp#id75
Type extension of xsl:element-only-versioned-element-type
Type hierarchy
Properties
content: complex
Model xsl:with-param*
Children xsl:with-param
Instance
<xsl:apply-imports default-collation="" exclude-result-prefixes="" extension-element-prefixes="" xml:space="" use-when="" version="" xpath-default-namespace="">
  <xsl:with-param as="" default-collation="" exclude-result-prefixes="" extension-element-prefixes="" name="" select="" xml:space="" tunnel="" use-when="" version="" xpath-default-namespace="">{0,unbounded}</xsl:with-param>
</xsl:apply-imports>
Attributes
QName Type Fixed Default Use Annotation
ANY attribute from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform'
default-collation xsl:uri-list optional
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
exclude-result-prefixes xsl:prefix-list-or-all optional
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
extension-element-prefixes xsl:prefix-list optional
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
use-when xsl:expression optional
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.
version xs:decimal optional
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
xml:space restriction of xs:NCName optional
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".
xpath-default-namespace xs:anyURI optional
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>
Schema location file:/D:/projects/eXml/src/builtin/XSL2.0Schema.xsd
Element xsl:with-param
Namespace http://www.w3.org/1999/XSL/Transform
Annotations
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
Diagram
Diagram xsl_2_0_schema0.tmp#id3 xsl_2_0_schema0.tmp#id5 xsl_2_0_schema0.tmp#id8 xsl_2_0_schema0.tmp#id10 xsl_2_0_schema0.tmp#id12 xsl_2_0_schema1.tmp#id13 xsl_2_0_schema2.tmp#id2 xsl_2_0_schema0.tmp#id15 xsl_2_0_schema2.tmp#id14 xsl_2_0_schema2.tmp#id19 xsl_2_0_schema2.tmp#id20 xsl_2_0_schema2.tmp#id47 xsl_2_0_schema2.tmp#id46 xsl_2_0_schema2.tmp#id18 xsl_2_0_schema2.tmp#id17 xsl_2_0_schema0.tmp#id79 xsl_2_0_schema0.tmp#id80 xsl_2_0_schema0.tmp#id78 xsl_2_0_schema0.tmp#id81
Type extension of xsl:sequence-constructor
Type hierarchy
Properties
content: complex
Used by
Model xsl:variable | xsl:instruction | xsl:literal-result-element | ANY element from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform' | ANY element from LOCAL namespace 'No Namespace'
Children xsl:instruction, xsl:literal-result-element, xsl:variable
Instance
<xsl:with-param as="" default-collation="" exclude-result-prefixes="" extension-element-prefixes="" name="" select="" xml:space="" tunnel="" use-when="" version="" xpath-default-namespace="">
  <xsl:variable as="" default-collation="" exclude-result-prefixes="" extension-element-prefixes="" name="" select="" xml:space="" use-when="" version="" xpath-default-namespace="">{1,1}</xsl:variable>
  <xsl:instruction default-collation="" exclude-result-prefixes="" extension-element-prefixes="" xml:space="" use-when="" version="" xpath-default-namespace="">{1,1}</xsl:instruction>
</xsl:with-param>
Attributes
QName Type Fixed Default Use Annotation
ANY attribute from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform'
as xsl:sequence-type optional
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.
default-collation xsl:uri-list optional
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
exclude-result-prefixes xsl:prefix-list-or-all optional
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
extension-element-prefixes xsl:prefix-list optional
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
name xsl:QName required
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.
select xsl:expression optional
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 xsl:yes-or-no optional
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.
use-when xsl:expression optional
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.
version xs:decimal optional
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
xml:space restriction of xs:NCName optional
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".
xpath-default-namespace xs:anyURI optional
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>
Schema location file:/D:/projects/eXml/src/builtin/XSL2.0Schema.xsd
Element xsl:apply-templates
Namespace http://www.w3.org/1999/XSL/Transform
Annotations
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
Diagram
Diagram xsl_2_0_schema0.tmp#id3 xsl_2_0_schema0.tmp#id5 xsl_2_0_schema0.tmp#id8 xsl_2_0_schema0.tmp#id10 xsl_2_0_schema0.tmp#id12 xsl_2_0_schema1.tmp#id13 xsl_2_0_schema2.tmp#id2 xsl_2_0_schema0.tmp#id15 xsl_2_0_schema2.tmp#id14 xsl_2_0_schema2.tmp#id16 xsl_2_0_schema0.tmp#id96 xsl_2_0_schema0.tmp#id97 xsl_2_0_schema2.tmp#id82 xsl_2_0_schema2.tmp#id75
Type extension of xsl:element-only-versioned-element-type
Type hierarchy
Properties
content: complex
Model xsl:sort | xsl:with-param
Children xsl:sort, xsl:with-param
Instance
<xsl:apply-templates default-collation="" exclude-result-prefixes="" extension-element-prefixes="" mode="" select="child::node()" xml:space="" use-when="" version="" xpath-default-namespace="">
  <xsl:sort case-order="" collation="" data-type="text" default-collation="" exclude-result-prefixes="" extension-element-prefixes="" lang="" order="ascending" select="" xml:space="" stable="" use-when="" version="" xpath-default-namespace="">{1,1}</xsl:sort>
  <xsl:with-param as="" default-collation="" exclude-result-prefixes="" extension-element-prefixes="" name="" select="" xml:space="" tunnel="" use-when="" version="" xpath-default-namespace="">{1,1}</xsl:with-param>
</xsl:apply-templates>
Attributes
QName Type Fixed Default Use Annotation
ANY attribute from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform'
default-collation xsl:uri-list optional
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
exclude-result-prefixes xsl:prefix-list-or-all optional
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
extension-element-prefixes xsl:prefix-list optional
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
mode xsl:mode optional
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
select xsl:expression child::node() optional
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).
use-when xsl:expression optional
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.
version xs:decimal optional
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
xml:space restriction of xs:NCName optional
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".
xpath-default-namespace xs:anyURI optional
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>
Schema location file:/D:/projects/eXml/src/builtin/XSL2.0Schema.xsd
Element xsl:sort
Namespace http://www.w3.org/1999/XSL/Transform
Annotations
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
Diagram
Diagram xsl_2_0_schema0.tmp#id3 xsl_2_0_schema0.tmp#id5 xsl_2_0_schema0.tmp#id8 xsl_2_0_schema0.tmp#id10 xsl_2_0_schema0.tmp#id12 xsl_2_0_schema1.tmp#id13 xsl_2_0_schema2.tmp#id2 xsl_2_0_schema0.tmp#id15 xsl_2_0_schema2.tmp#id14 xsl_2_0_schema2.tmp#id19 xsl_2_0_schema2.tmp#id20 xsl_2_0_schema2.tmp#id47 xsl_2_0_schema2.tmp#id46 xsl_2_0_schema2.tmp#id18 xsl_2_0_schema2.tmp#id17 xsl_2_0_schema0.tmp#id94 xsl_2_0_schema0.tmp#id92 xsl_2_0_schema0.tmp#id91 xsl_2_0_schema0.tmp#id93 xsl_2_0_schema0.tmp#id89 xsl_2_0_schema0.tmp#id90 xsl_2_0_schema0.tmp#id95
Type extension of xsl:sequence-constructor
Type hierarchy
Properties
content: complex
Used by
Model xsl:variable | xsl:instruction | xsl:literal-result-element | ANY element from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform' | ANY element from LOCAL namespace 'No Namespace'
Children xsl:instruction, xsl:literal-result-element, xsl:variable
Instance
<xsl:sort case-order="" collation="" data-type="text" default-collation="" exclude-result-prefixes="" extension-element-prefixes="" lang="" order="ascending" select="" xml:space="" stable="" use-when="" version="" xpath-default-namespace="">
  <xsl:variable as="" default-collation="" exclude-result-prefixes="" extension-element-prefixes="" name="" select="" xml:space="" use-when="" version="" xpath-default-namespace="">{1,1}</xsl:variable>
  <xsl:instruction default-collation="" exclude-result-prefixes="" extension-element-prefixes="" xml:space="" use-when="" version="" xpath-default-namespace="">{1,1}</xsl:instruction>
</xsl:sort>
Attributes
QName Type Fixed Default Use Annotation
ANY attribute from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform'
case-order xsl:avt optional
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).
collation xsl:avt optional
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).
data-type restriction of xs:string text optional
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.
default-collation xsl:uri-list optional
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
exclude-result-prefixes xsl:prefix-list-or-all optional
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
extension-element-prefixes xsl:prefix-list optional
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
lang xsl:avt optional
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.
order restriction of xs:string ascending optional
The order attribute controls the direction of sorting. Possible values
                                are ascending and descending.
select xsl:expression optional
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.
stable xsl:yes-or-no optional
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.
use-when xsl:expression optional
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.
version xs:decimal optional
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
xml:space restriction of xs:NCName optional
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".
xpath-default-namespace xs:anyURI optional
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>
Schema location file:/D:/projects/eXml/src/builtin/XSL2.0Schema.xsd
Element xsl:attribute
Namespace http://www.w3.org/1999/XSL/Transform
Annotations
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
Diagram
Diagram xsl_2_0_schema0.tmp#id3 xsl_2_0_schema0.tmp#id5 xsl_2_0_schema0.tmp#id8 xsl_2_0_schema0.tmp#id10 xsl_2_0_schema0.tmp#id12 xsl_2_0_schema1.tmp#id13 xsl_2_0_schema2.tmp#id2 xsl_2_0_schema0.tmp#id15 xsl_2_0_schema2.tmp#id14 xsl_2_0_schema2.tmp#id19 xsl_2_0_schema2.tmp#id20 xsl_2_0_schema2.tmp#id47 xsl_2_0_schema2.tmp#id46 xsl_2_0_schema2.tmp#id18 xsl_2_0_schema2.tmp#id17 xsl_2_0_schema0.tmp#id104 xsl_2_0_schema0.tmp#id105 xsl_2_0_schema0.tmp#id106 xsl_2_0_schema0.tmp#id107 xsl_2_0_schema0.tmp#id108 xsl_2_0_schema0.tmp#id109
Type extension of xsl:sequence-constructor
Type hierarchy
Properties
content: complex
Used by
Model xsl:variable | xsl:instruction | xsl:literal-result-element | ANY element from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform' | ANY element from LOCAL namespace 'No Namespace'
Children xsl:instruction, xsl:literal-result-element, xsl:variable
Instance
<xsl:attribute default-collation="" exclude-result-prefixes="" extension-element-prefixes="" name="" namespace="" select="" separator="" xml:space="" type="" use-when="" validation="" version="" xpath-default-namespace="">
  <xsl:variable as="" default-collation="" exclude-result-prefixes="" extension-element-prefixes="" name="" select="" xml:space="" use-when="" version="" xpath-default-namespace="">{1,1}</xsl:variable>
  <xsl:instruction default-collation="" exclude-result-prefixes="" extension-element-prefixes="" xml:space="" use-when="" version="" xpath-default-namespace="">{1,1}</xsl:instruction>
</xsl:attribute>
Attributes
QName Type Fixed Default Use Annotation
ANY attribute from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform'
default-collation xsl:uri-list optional
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
exclude-result-prefixes xsl:prefix-list-or-all optional
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
extension-element-prefixes xsl:prefix-list optional
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
name xsl:avt required
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.
namespace xsl:avt optional
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.
select xsl:expression optional
The string value of the new attribute node may be defined by using the 
                                select attribute.
separator xsl:avt optional
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.
type xsl:QName optional
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
use-when xsl:expression optional
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.
validation xsl:validation-type optional
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
version xs:decimal optional
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
xml:space restriction of xs:NCName optional
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".
xpath-default-namespace xs:anyURI optional
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>
Schema location file:/D:/projects/eXml/src/builtin/XSL2.0Schema.xsd
Element xsl:attribute-set
Namespace http://www.w3.org/1999/XSL/Transform
Annotations
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
Diagram
Diagram xsl_2_0_schema0.tmp#id3 xsl_2_0_schema0.tmp#id5 xsl_2_0_schema0.tmp#id8 xsl_2_0_schema0.tmp#id10 xsl_2_0_schema0.tmp#id12 xsl_2_0_schema1.tmp#id13 xsl_2_0_schema2.tmp#id2 xsl_2_0_schema0.tmp#id15 xsl_2_0_schema2.tmp#id14 xsl_2_0_schema2.tmp#id16 xsl_2_0_schema0.tmp#id110 xsl_2_0_schema0.tmp#id111 xsl_2_0_schema2.tmp#id24
Type extension of xsl:element-only-versioned-element-type
Type hierarchy
Properties
content: complex
Model xsl:attribute
Children xsl:attribute
Instance
<xsl:attribute-set default-collation="" exclude-result-prefixes="" extension-element-prefixes="" name="" xml:space="" use-attribute-sets="" use-when="" version="" xpath-default-namespace="">
  <xsl:attribute default-collation="" exclude-result-prefixes="" extension-element-prefixes="" name="" namespace="" select="" separator="" xml:space="" type="" use-when="" validation="" version="" xpath-default-namespace="">{1,1}</xsl:attribute>
</xsl:attribute-set>
Attributes
QName Type Fixed Default Use Annotation
ANY attribute from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform'
default-collation xsl:uri-list optional
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
exclude-result-prefixes xsl:prefix-list-or-all optional
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
extension-element-prefixes xsl:prefix-list optional
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
name xsl:QName required
The required name attribute specifies the name of the attribute set. The
                                value of the name attribute is a QName.
use-attribute-sets xsl:QNames optional
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.
use-when xsl:expression optional
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.
version xs:decimal optional
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
xml:space restriction of xs:NCName optional
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".
xpath-default-namespace xs:anyURI optional
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>
Schema location file:/D:/projects/eXml/src/builtin/XSL2.0Schema.xsd
Element xsl:call-template
Namespace http://www.w3.org/1999/XSL/Transform
Annotations
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
Diagram
Diagram xsl_2_0_schema0.tmp#id3 xsl_2_0_schema0.tmp#id5 xsl_2_0_schema0.tmp#id8 xsl_2_0_schema0.tmp#id10 xsl_2_0_schema0.tmp#id12 xsl_2_0_schema1.tmp#id13 xsl_2_0_schema2.tmp#id2 xsl_2_0_schema0.tmp#id15 xsl_2_0_schema2.tmp#id14 xsl_2_0_schema2.tmp#id16 xsl_2_0_schema0.tmp#id113 xsl_2_0_schema2.tmp#id75
Type extension of xsl:element-only-versioned-element-type
Type hierarchy
Properties
content: complex
Model xsl:with-param*
Children xsl:with-param
Instance
<xsl:call-template default-collation="" exclude-result-prefixes="" extension-element-prefixes="" name="" xml:space="" use-when="" version="" xpath-default-namespace="">
  <xsl:with-param as="" default-collation="" exclude-result-prefixes="" extension-element-prefixes="" name="" select="" xml:space="" tunnel="" use-when="" version="" xpath-default-namespace="">{0,unbounded}</xsl:with-param>
</xsl:call-template>
Attributes
QName Type Fixed Default Use Annotation
ANY attribute from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform'
default-collation xsl:uri-list optional
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
exclude-result-prefixes xsl:prefix-list-or-all optional
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
extension-element-prefixes xsl:prefix-list optional
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
name xsl:QName required
The name attribute identifies the template to be invoked.
use-when xsl:expression optional
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.
version xs:decimal optional
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
xml:space restriction of xs:NCName optional
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".
xpath-default-namespace xs:anyURI optional
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>
Schema location file:/D:/projects/eXml/src/builtin/XSL2.0Schema.xsd
Element xsl:character-map
Namespace http://www.w3.org/1999/XSL/Transform
Annotations
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
Diagram
Diagram xsl_2_0_schema0.tmp#id3 xsl_2_0_schema0.tmp#id5 xsl_2_0_schema0.tmp#id8 xsl_2_0_schema0.tmp#id10 xsl_2_0_schema0.tmp#id12 xsl_2_0_schema1.tmp#id13 xsl_2_0_schema2.tmp#id2 xsl_2_0_schema0.tmp#id15 xsl_2_0_schema2.tmp#id14 xsl_2_0_schema2.tmp#id16 xsl_2_0_schema0.tmp#id118 xsl_2_0_schema0.tmp#id119 xsl_2_0_schema2.tmp#id114
Type extension of xsl:element-only-versioned-element-type
Type hierarchy
Properties
content: complex
Model xsl:output-character*
Children xsl:output-character
Instance
<xsl:character-map default-collation="" exclude-result-prefixes="" extension-element-prefixes="" name="" xml:space="" use-character-maps="" use-when="" version="" xpath-default-namespace="">
  <xsl:output-character character="" default-collation="" exclude-result-prefixes="" extension-element-prefixes="" xml:space="" string="" use-when="" version="" xpath-default-namespace="">{0,unbounded}</xsl:output-character>
</xsl:character-map>
Attributes
QName Type Fixed Default Use Annotation
ANY attribute from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform'
default-collation xsl:uri-list optional
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
exclude-result-prefixes xsl:prefix-list-or-all optional
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
extension-element-prefixes xsl:prefix-list optional
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
name xsl:QName required
The required name attribute provides a name for the character map.
use-character-maps xsl:QNames optional
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.
use-when xsl:expression optional
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.
version xs:decimal optional
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
xml:space restriction of xs:NCName optional
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".
xpath-default-namespace xs:anyURI optional
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>
Schema location file:/D:/projects/eXml/src/builtin/XSL2.0Schema.xsd
Element xsl:output-character
Namespace http://www.w3.org/1999/XSL/Transform
Annotations
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
Diagram
Diagram xsl_2_0_schema0.tmp#id3 xsl_2_0_schema0.tmp#id5 xsl_2_0_schema0.tmp#id8 xsl_2_0_schema0.tmp#id10 xsl_2_0_schema0.tmp#id12 xsl_2_0_schema1.tmp#id13 xsl_2_0_schema2.tmp#id2 xsl_2_0_schema0.tmp#id15 xsl_2_0_schema2.tmp#id14 xsl_2_0_schema2.tmp#id16 xsl_2_0_schema0.tmp#id115 xsl_2_0_schema0.tmp#id117
Type extension of xsl:element-only-versioned-element-type
Type hierarchy
Properties
content: complex
Used by
Attributes
QName Type Fixed Default Use Annotation
ANY attribute from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform'
character xsl:char required
Specifies the character to be mapped.
default-collation xsl:uri-list optional
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
exclude-result-prefixes xsl:prefix-list-or-all optional
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
extension-element-prefixes xsl:prefix-list optional
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
string xs:string required
Specifies the string that will replace the mapped character.
use-when xsl:expression optional
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.
version xs:decimal optional
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
xml:space restriction of xs:NCName optional
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".
xpath-default-namespace xs:anyURI optional
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>
Schema location file:/D:/projects/eXml/src/builtin/XSL2.0Schema.xsd
Element xsl:choose
Namespace http://www.w3.org/1999/XSL/Transform
Annotations
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
Diagram
Diagram xsl_2_0_schema0.tmp#id3 xsl_2_0_schema0.tmp#id5 xsl_2_0_schema0.tmp#id8 xsl_2_0_schema0.tmp#id10 xsl_2_0_schema0.tmp#id12 xsl_2_0_schema1.tmp#id13 xsl_2_0_schema2.tmp#id2 xsl_2_0_schema0.tmp#id15 xsl_2_0_schema2.tmp#id14 xsl_2_0_schema2.tmp#id16 xsl_2_0_schema2.tmp#id120 xsl_2_0_schema2.tmp#id123
Type extension of xsl:element-only-versioned-element-type
Type hierarchy
Properties
content: complex
Model xsl:when+ , xsl:otherwise{0,1}
Children xsl:otherwise, xsl:when
Instance
<xsl:choose default-collation="" exclude-result-prefixes="" extension-element-prefixes="" xml:space="" use-when="" version="" xpath-default-namespace="">
  <xsl:when default-collation="" exclude-result-prefixes="" extension-element-prefixes="" xml:space="" test="" use-when="" version="" xpath-default-namespace="">{1,unbounded}</xsl:when>
  <xsl:otherwise default-collation="" exclude-result-prefixes="" extension-element-prefixes="" xml:space="" use-when="" version="" xpath-default-namespace="">{0,1}</xsl:otherwise>
</xsl:choose>
Attributes
QName Type Fixed Default Use Annotation
ANY attribute from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform'
default-collation xsl:uri-list optional
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
exclude-result-prefixes xsl:prefix-list-or-all optional
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
extension-element-prefixes xsl:prefix-list optional
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
use-when xsl:expression optional
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.
version xs:decimal optional
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
xml:space restriction of xs:NCName optional
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".
xpath-default-namespace xs:anyURI optional
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>
Schema location file:/D:/projects/eXml/src/builtin/XSL2.0Schema.xsd
Element xsl:when
Namespace http://www.w3.org/1999/XSL/Transform
Annotations
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
Diagram
Diagram xsl_2_0_schema0.tmp#id3 xsl_2_0_schema0.tmp#id5 xsl_2_0_schema0.tmp#id8 xsl_2_0_schema0.tmp#id10 xsl_2_0_schema0.tmp#id12 xsl_2_0_schema1.tmp#id13 xsl_2_0_schema2.tmp#id2 xsl_2_0_schema0.tmp#id15 xsl_2_0_schema2.tmp#id14 xsl_2_0_schema2.tmp#id19 xsl_2_0_schema2.tmp#id20 xsl_2_0_schema2.tmp#id47 xsl_2_0_schema2.tmp#id46 xsl_2_0_schema2.tmp#id18 xsl_2_0_schema2.tmp#id17 xsl_2_0_schema0.tmp#id122
Type extension of xsl:sequence-constructor
Type hierarchy
Properties
content: complex
Used by
Element xsl:choose
Model xsl:variable | xsl:instruction | xsl:literal-result-element | ANY element from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform' | ANY element from LOCAL namespace 'No Namespace'
Children xsl:instruction, xsl:literal-result-element, xsl:variable
Instance
<xsl:when default-collation="" exclude-result-prefixes="" extension-element-prefixes="" xml:space="" test="" use-when="" version="" xpath-default-namespace="">
  <xsl:variable as="" default-collation="" exclude-result-prefixes="" extension-element-prefixes="" name="" select="" xml:space="" use-when="" version="" xpath-default-namespace="">{1,1}</xsl:variable>
  <xsl:instruction default-collation="" exclude-result-prefixes="" extension-element-prefixes="" xml:space="" use-when="" version="" xpath-default-namespace="">{1,1}</xsl:instruction>
</xsl:when>
Attributes
QName Type Fixed Default Use Annotation
ANY attribute from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform'
default-collation xsl:uri-list optional
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
exclude-result-prefixes xsl:prefix-list-or-all optional
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
extension-element-prefixes xsl:prefix-list optional
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
test xsl:expression required
Specifies the test expression.
use-when xsl:expression optional
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.
version xs:decimal optional
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
xml:space restriction of xs:NCName optional
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".
xpath-default-namespace xs:anyURI optional
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>
Schema location file:/D:/projects/eXml/src/builtin/XSL2.0Schema.xsd
Element xsl:otherwise
Namespace http://www.w3.org/1999/XSL/Transform
Annotations
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
Diagram
Diagram xsl_2_0_schema0.tmp#id3 xsl_2_0_schema0.tmp#id5 xsl_2_0_schema0.tmp#id8 xsl_2_0_schema0.tmp#id10 xsl_2_0_schema0.tmp#id12 xsl_2_0_schema1.tmp#id13 xsl_2_0_schema2.tmp#id2 xsl_2_0_schema0.tmp#id15 xsl_2_0_schema2.tmp#id14 xsl_2_0_schema2.tmp#id19 xsl_2_0_schema2.tmp#id20 xsl_2_0_schema2.tmp#id47 xsl_2_0_schema2.tmp#id46 xsl_2_0_schema2.tmp#id18 xsl_2_0_schema2.tmp#id17
Type xsl:sequence-constructor
Type hierarchy
Properties
content: complex
Used by
Element xsl:choose
Model xsl:variable | xsl:instruction | xsl:literal-result-element | ANY element from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform' | ANY element from LOCAL namespace 'No Namespace'
Children xsl:instruction, xsl:literal-result-element, xsl:variable
Instance
<xsl:otherwise default-collation="" exclude-result-prefixes="" extension-element-prefixes="" xml:space="" use-when="" version="" xpath-default-namespace="">
  <xsl:variable as="" default-collation="" exclude-result-prefixes="" extension-element-prefixes="" name="" select="" xml:space="" use-when="" version="" xpath-default-namespace="">{1,1}</xsl:variable>
  <xsl:instruction default-collation="" exclude-result-prefixes="" extension-element-prefixes="" xml:space="" use-when="" version="" xpath-default-namespace="">{1,1}</xsl:instruction>
</xsl:otherwise>
Attributes
QName Type Fixed Default Use Annotation
ANY attribute from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform'
default-collation xsl:uri-list optional
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
exclude-result-prefixes xsl:prefix-list-or-all optional
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
extension-element-prefixes xsl:prefix-list optional
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
use-when xsl:expression optional
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.
version xs:decimal optional
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
xml:space restriction of xs:NCName optional
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".
xpath-default-namespace xs:anyURI optional
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>
Schema location file:/D:/projects/eXml/src/builtin/XSL2.0Schema.xsd
Element xsl:comment
Namespace http://www.w3.org/1999/XSL/Transform
Annotations
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
Diagram
Diagram xsl_2_0_schema0.tmp#id3 xsl_2_0_schema0.tmp#id5 xsl_2_0_schema0.tmp#id8 xsl_2_0_schema0.tmp#id10 xsl_2_0_schema0.tmp#id12 xsl_2_0_schema1.tmp#id13 xsl_2_0_schema2.tmp#id2 xsl_2_0_schema0.tmp#id15 xsl_2_0_schema2.tmp#id14 xsl_2_0_schema2.tmp#id19 xsl_2_0_schema2.tmp#id20 xsl_2_0_schema2.tmp#id47 xsl_2_0_schema2.tmp#id46 xsl_2_0_schema2.tmp#id18 xsl_2_0_schema2.tmp#id17 xsl_2_0_schema0.tmp#id124
Type extension of xsl:sequence-constructor
Type hierarchy
Properties
content: complex
Model xsl:variable | xsl:instruction | xsl:literal-result-element | ANY element from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform' | ANY element from LOCAL namespace 'No Namespace'
Children xsl:instruction, xsl:literal-result-element, xsl:variable
Instance
<xsl:comment default-collation="" exclude-result-prefixes="" extension-element-prefixes="" select="" xml:space="" use-when="" version="" xpath-default-namespace="">
  <xsl:variable as="" default-collation="" exclude-result-prefixes="" extension-element-prefixes="" name="" select="" xml:space="" use-when="" version="" xpath-default-namespace="">{1,1}</xsl:variable>
  <xsl:instruction default-collation="" exclude-result-prefixes="" extension-element-prefixes="" xml:space="" use-when="" version="" xpath-default-namespace="">{1,1}</xsl:instruction>
</xsl:comment>
Attributes
QName Type Fixed Default Use Annotation
ANY attribute from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform'
default-collation xsl:uri-list optional
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
exclude-result-prefixes xsl:prefix-list-or-all optional
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
extension-element-prefixes xsl:prefix-list optional
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
select xsl:expression optional
Specifies the string value of the new comment node.
use-when xsl:expression optional
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.
version xs:decimal optional
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
xml:space restriction of xs:NCName optional
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".
xpath-default-namespace xs:anyURI optional
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>
Schema location file:/D:/projects/eXml/src/builtin/XSL2.0Schema.xsd
Element xsl:copy
Namespace http://www.w3.org/1999/XSL/Transform
Annotations
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
Diagram
Diagram xsl_2_0_schema0.tmp#id3 xsl_2_0_schema0.tmp#id5 xsl_2_0_schema0.tmp#id8 xsl_2_0_schema0.tmp#id10 xsl_2_0_schema0.tmp#id12 xsl_2_0_schema1.tmp#id13 xsl_2_0_schema2.tmp#id2 xsl_2_0_schema0.tmp#id15 xsl_2_0_schema2.tmp#id14 xsl_2_0_schema2.tmp#id19 xsl_2_0_schema2.tmp#id20 xsl_2_0_schema2.tmp#id47 xsl_2_0_schema2.tmp#id46 xsl_2_0_schema2.tmp#id18 xsl_2_0_schema2.tmp#id17 xsl_2_0_schema0.tmp#id128 xsl_2_0_schema0.tmp#id129 xsl_2_0_schema0.tmp#id131 xsl_2_0_schema0.tmp#id130 xsl_2_0_schema0.tmp#id132
Type extension of xsl:sequence-constructor
Type hierarchy
Properties
content: complex
Model xsl:variable | xsl:instruction | xsl:literal-result-element | ANY element from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform' | ANY element from LOCAL namespace 'No Namespace'
Children xsl:instruction, xsl:literal-result-element, xsl:variable
Instance
<xsl:copy copy-namespaces="yes" default-collation="" exclude-result-prefixes="" extension-element-prefixes="" inherit-namespaces="yes" xml:space="" type="" use-attribute-sets="" use-when="" validation="" version="" xpath-default-namespace="">
  <xsl:variable as="" default-collation="" exclude-result-prefixes="" extension-element-prefixes="" name="" select="" xml:space="" use-when="" version="" xpath-default-namespace="">{1,1}</xsl:variable>
  <xsl:instruction default-collation="" exclude-result-prefixes="" extension-element-prefixes="" xml:space="" use-when="" version="" xpath-default-namespace="">{1,1}</xsl:instruction>
</xsl:copy>
Attributes
QName Type Fixed Default Use Annotation
ANY attribute from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform'
copy-namespaces xsl:yes-or-no yes optional
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.
default-collation xsl:uri-list optional
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
exclude-result-prefixes xsl:prefix-list-or-all optional
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
extension-element-prefixes xsl:prefix-list optional
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
inherit-namespaces xsl:yes-or-no yes optional
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.
type xsl:QName optional
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
use-attribute-sets xsl:QNames optional
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.
use-when xsl:expression optional
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.
validation xsl:validation-type optional
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
version xs:decimal optional
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
xml:space restriction of xs:NCName optional
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".
xpath-default-namespace xs:anyURI optional
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>
Schema location file:/D:/projects/eXml/src/builtin/XSL2.0Schema.xsd
Element xsl:copy-of
Namespace http://www.w3.org/1999/XSL/Transform
Annotations
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
Diagram
Diagram xsl_2_0_schema0.tmp#id3 xsl_2_0_schema0.tmp#id5 xsl_2_0_schema0.tmp#id8 xsl_2_0_schema0.tmp#id10 xsl_2_0_schema0.tmp#id12 xsl_2_0_schema1.tmp#id13 xsl_2_0_schema2.tmp#id2 xsl_2_0_schema0.tmp#id15 xsl_2_0_schema2.tmp#id14 xsl_2_0_schema0.tmp#id133 xsl_2_0_schema0.tmp#id134 xsl_2_0_schema0.tmp#id135 xsl_2_0_schema0.tmp#id136
Type extension of xsl:versioned-element-type
Type hierarchy
Properties
content: complex
Model
Attributes
QName Type Fixed Default Use Annotation
ANY attribute from ANY namespace OTHER than 'http://www.w3.org/1999/XSL/Transform'
copy-namespaces xsl:yes-or-no yes optional
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.
default-collation xsl:uri-list optional
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
exclude-result-prefixes xsl:prefix-list-or-all optional
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