|The xsl:element element allows an element to be created with a computed name. The expanded-name of the element to be created
is specified by a required name attribute and an optional namespace attribute. The content of the xsl:element element is a
template for the attributes and children of the created element. The name attribute is interpreted as an attribute value template.
It is an error if the string that results from instantiating the attribute value template is not a QName. An XSLT processor
may signal the error; if it does not signal the error, then it must recover by making the the result of instantiating the
xsl:element element be the sequence of nodes created by instantiating the content of the xsl:element element, excluding any
initial attribute nodes. If the namespace attribute is not present then the QName is expanded into an expanded-name using
the namespace declarations in effect for the xsl:element element, including any default namespace declaration. If the namespace
attribute is present, then it also is interpreted as an attribute value template. The string that results from instantiating
the attribute value template should be a URI reference. It is not an error if the string is not a syntactically legal URI
reference. If the string is empty, then the expanded-name of the element has a null namespace URI. Otherwise, the string is
used as the namespace URI of the expanded-name of the element to be created. The local part of the QName specified by the
name attribute is used as the local part of the expanded-name of the element to be created.
Examples (xslt:xml): Overview