### Define XSLT Template Element with XSD Schema Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Declares the template element as a substitution group member of xsl:declaration. The template supports optional context-item and parameters, sequence constructors, and attributes for matching patterns, priority, mode, and return types. Multiple xs:assert elements enforce constraints requiring either a match or name attribute, restricting mode/priority to match-based templates, and preventing abstract templates from containing instructions. ```XML ``` -------------------------------- ### Define element Instruction XSD Schema Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 XSD schema definition for the xsl:element instruction in XSLT 3.0. This mixed-content element extends sequence-constructor and specifies attributes for dynamic element creation including name, namespace, attribute set usage, type annotation, and validation mode. Includes validation assertions ensuring name attribute presence and mutual exclusivity between type and validation attributes. ```XML ``` -------------------------------- ### XSLT 3.0 xsl:output method Type Definition Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Defines the 'method' simple type for the xsl:output element. It allows recognized names like 'xml', 'html', 'text', or a QName. ```xsd ``` -------------------------------- ### Define XSLT Try Element for Error Handling in XSD Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Declares the xs:element for 'try' as a substitution for xsl:instruction with mixed content. Contains sequence constructor and one or more xsl:catch elements plus optional fallback elements. Attributes control rollback-output behavior and optional select expression. Enables exception handling in XSLT templates. ```XSD ``` -------------------------------- ### XSD Declaration for xs:iterate Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Formal declaration for the 'iterate' instruction. It supports parameters, an 'on-completion' handler, and a sequence constructor. The 'select' attribute specifies the expression to iterate over. An assertion ensures 'select' is present. ```xsd ``` -------------------------------- ### XSD: Define sequence-constructor-group model group Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Defines the 'sequence-constructor-group' model group, used in sequence constructors. It allows either an 'xsl:instruction' element or a group of 'xsl:result-elements'. ```xml ``` -------------------------------- ### XSD Declaration for assert Element Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Defines the assert XSLT instruction element for runtime assertions in stylesheets. Requires either test or _test attribute. Supports select and error-code attributes for custom error handling. Extends sequence-constructor for mixed content and nested instructions. ```xml ``` -------------------------------- ### XSLT 3.0 EQName Type Definition Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Defines the 'EQName' simple type for extended QNames. It handles local names, prefixed QNames, and the extended QName notation Q{uri}local, ensuring correct PSVI construction. ```xsd ``` -------------------------------- ### XSD: Define sequence-constructor-and-select type Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Defines the 'sequence-constructor-and-select' complex type, allowing both a sequence constructor and a 'select' attribute. It extends 'xsl:sequence-constructor'. ```xml ``` -------------------------------- ### XSD Declaration for attribute Element Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Defines the attribute XSLT instruction element for creating output attributes. Requires name attribute (AVT format). Supports optional namespace, separator, type, and validation attributes. Includes assertion preventing simultaneous use of type and validation attributes. ```xml ``` -------------------------------- ### XSD Simple Type: uri-list (XSD) Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Defines a simple type 'uri-list' which is a list of 'xs:anyURI' types, suitable for holding multiple URIs. ```xslt ``` -------------------------------- ### Define XSLT Use-Package Element for Package Dependencies in XSD Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Declares the xs:element for 'use-package' as a declaration substitution group element. Specifies package dependencies with name (URI) and package-version attributes indicating required version or version range. Contains optional xsl:accept and xsl:override child elements for fine-grained import control. ```XSD ``` -------------------------------- ### XSD Declaration for xs:map-entry Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Formal declaration for the 'map-entry' instruction. This element is used within a 'map' to define individual key-value pairs. It requires a 'key' attribute (an expression) and can have a sequence constructor. ```xsd ``` -------------------------------- ### XSD Declaration for xs:import-schema Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Defines the 'import-schema' element, used for importing XSD schemas. It can specify a namespace and schema location, and optionally include the schema itself. Assertions enforce correct usage. ```xsd ``` -------------------------------- ### XSD Declaration for XSLT 'copy' Instruction Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Defines the 'copy' instruction in XSD, which is part of the xsl:instruction substitution group. It supports attributes for namespace handling, attribute sets, typing, and validation. The 'select' attribute is used to specify the content to be copied. ```xml ``` -------------------------------- ### XSD Declaration for XSLT comment Element Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Defines the comment element for generating XML comments in output. Uses sequence-constructor-or-select type allowing either sequence constructors or select attributes. Functions as an XSLT instruction for dynamic comment generation. ```XSD ``` -------------------------------- ### Define XSLT Output Element with XSD Schema Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 XSD schema definition for the XSLT output element that extends generic-element-type with substitutionGroup as xsl:declaration. Includes 50+ attributes controlling output serialization such as method, encoding, indentation, DOCTYPE declaration, and various formatting options for XML, HTML, and JSON output. ```XML ``` -------------------------------- ### Define next-match Instruction Element in XSD Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 XSD schema declaration for the next-match XSLT instruction element. It extends element-only-versioned-element-type and allows zero or more xsl:with-param or xsl:fallback child elements. Used to invoke the next matching template rule with optional parameters or fallback behavior. ```XSD ``` -------------------------------- ### XSD Declaration for xs:key Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Defines the 'key' element for defining named keys used for indexing and lookup. It requires 'name', 'match', and 'use' attributes, with optional 'composite' and 'collation'. Assertions validate the presence of required attributes. ```xsd ``` -------------------------------- ### Define XSLT evaluate Element with Dynamic XPath in XSD Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 XSD schema definition for the xsl:evaluate instruction element that enables dynamic XPath evaluation. Extends element-only-versioned-element-type and supports optional xsl:with-param and xsl:fallback child elements. Includes attributes for XPath expression, sequence type, base URI, context item, namespace context, and schema awareness configuration with both static and dynamic attribute variants. ```xml ``` -------------------------------- ### Define Accumulator Names Simple Type - XSD Union Type Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 XSD simple type defining valid values for accumulator name attributes in XSLT source documents. Accepts either a space-separated list of QNames or the special keyword '#all' to reference all accumulators. Used by xsl:source-document, xsl:merge-source, and xsl:global-context-item elements. ```XML ``` -------------------------------- ### XSD Declaration for xs:include Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Declares the 'include' element, which is used to include another schema document. It requires an 'href' attribute pointing to the schema to be included. An assertion validates the presence of the 'href' attribute. ```xsd ``` -------------------------------- ### XSD Declaration for XSLT 'source-document' Element Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Specifies the XSD for the 'source-document' element, which extends xsl:sequence-constructor and is a member of the xsl:instruction substitution group. It handles document retrieval with attributes like href, streamable, use-accumulators, type, and validation. Includes assertions for href presence and type/validation exclusivity. ```xml ``` -------------------------------- ### XSD Declaration for XSLT 'document' Instruction Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Defines the 'document' instruction in XSD, part of the xsl:instruction substitution group. It is used to access external XML documents. Supports attributes for specifying the document type and validation mode. ```xml ``` -------------------------------- ### XSD Declaration for xs:matching-substring Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Declares the 'matching-substring' element, which is an XSLT instruction. It inherits from 'xsl:sequence-constructor', meaning it can contain a sequence of items. Its specific use case is not detailed here but implies substring operations. ```xsd ``` -------------------------------- ### XSD Declaration for XSLT 'copy-of' Instruction Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Defines the 'copy-of' instruction in XSD, which is part of the xsl:instruction substitution group. It requires a 'select' attribute to specify the source of the copy. This instruction handles namespace copying and can optionally copy accumulators. ```xml ``` -------------------------------- ### Define on-non-empty Instruction Element in XSD Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 XSD schema declaration for the on-non-empty XSLT instruction element with type sequence-constructor-or-select. Used to specify content or actions to execute when a sequence contains items, supporting both inline sequences and select expressions. ```XSD ``` -------------------------------- ### Define on-empty Instruction Element in XSD Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 XSD schema declaration for the on-empty XSLT instruction element with type sequence-constructor-or-select. Used to specify fallback content or actions when a sequence is empty, supporting both inline sequences and select expressions. ```XSD ``` -------------------------------- ### Define next-iteration Instruction Element in XSD Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 XSD schema declaration for the next-iteration XSLT instruction element. It extends element-only-versioned-element-type and allows zero or more xsl:with-param child elements. Used in XSLT 3.0 to invoke the next template rule with optional parameters. ```XSD ``` -------------------------------- ### XSD Declaration: param Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Defines the 'param' element in XSD source form. This element is used for declaring parameters in XSLT, including function parameters, template parameters, parameters for xsl:iterate, and global stylesheet parameters. It supports attributes for name, type, and various optional flags like 'required', 'tunnel', and 'static'. ```xml ``` -------------------------------- ### XSD Declaration: xsl:with-param Element Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Formal declaration for the xsl:with-param element in XSLT 3.0, used for passing parameters to templates or functions. It supports attributes like name, as, and tunnel, along with prefixed versions for parsing. An assertion validates the presence of a name attribute. ```xml ``` -------------------------------- ### Define analyze-string Element in XSD Schema Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Declares the analyze-string instruction element with required select and regex attributes for string analysis. Includes optional matching-substring and non-matching-substring child elements, plus fallback elements for error handling and optional flags attribute. ```XSD ``` -------------------------------- ### Define NameTests list simple type in XSD Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Defines a list-based simple type named 'nametests' that accepts space-separated NameTests as defined in XPath 2.0. Each NameTest can be a QName, literal asterisk, prefixed wildcard (prefix:*), or namespaced wildcard (*:localname), enabling flexible element matching patterns. ```XML ``` -------------------------------- ### Define for-each-group instruction element in XSD Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 XSD schema definition for the XSLT for-each-group instruction element. It extends the versioned-element-type and supports grouping operations through attributes like group-by, group-adjacent, group-starting-with, and group-ending-with. Includes validation assertions to ensure proper attribute usage and collation/composite configurations. ```XML ``` -------------------------------- ### XSD Declaration for xs:map Source: https://www.w3.org/TR/xslt-30/schema-for-xslt30 Declares the 'map' element, which is an XSLT instruction used for creating maps. It inherits from 'xsl:sequence-constructor', indicating it can contain a sequence of items to form the map. ```xsd ```