xsl:element
Used to create an output element whose name might be calculated at run-time.
         Category: instruction
         Content: 
         sequence-constructor
         
         Permitted parent elements: 
                any XSLT element whose content model is 
        sequence-constructor; any literal result element 
            
Attributes
| 
                
                    | 
            
                
                    | 
            
                The name of the generated element. The name attribute is an attribute value template, so it may contain string expressions inside curly braces.  | 
         
| 
                
                    | 
            
                
                    | 
            
                The namespace URI of the element.  | 
         
| 
                
                    | 
            
                
                    | 
            
                If the value is   | 
         
| 
                
                    | 
            
                
                    | 
            
                Attributes of the generated element can be defined by reference to named attribute sets, provided as a whitespace-separated list. They are applied in the order given: if the same attribute is generated more than once, the later value always takes precedence.  | 
         
| 
                
                    | 
            
                
                    | 
            
                Added in XSLT 2.0. Indicates the data type of
                    the value of the element. The value may be a built-in type defined in XML
                    Schema, for example   | 
         
| 
                
                    | 
            
                
                    | 
            
Notes on the Saxon implementation
When the element name is known at compile time, Saxon generates exactly the same code as for a literal result elements. Literal result elements are generally preferred in such cases because they are more readable.
Motivated by streaming, the on-empty attribute was introduced in an
                    early Working Draft for XSLT 3.0, but later removed and replaced by the new xsl:on-empty, xsl:on-non-empty and xsl:where-populated
                    instructions. The on-empty attribute was implemented in Saxon 9.5,
                    but removed in 9.7.
Details
The attributes of the generated element are defined by subsequent xsl:attribute elements, or by
                    reference to named attribute sets using the optional
                        use-attribute-sets attribute. The content of the generated
                    element is whatever is generated between the <xsl:element>
                    and </xsl:element> tags.
Examples
The following code creates a <FONT> element with several
                        attributes:
This example is equivalent to the simpler literal result element:
<FONT SIZE="4" FACE="Courier New"> Some output text </FONT>