The xsl:namespace-alias element is used to replace a namespace (prefix) in a stylesheet with a different namespace (prefix) for use in the output. There must be one xsl:namespace-alias element for each namespace you wish to change.
In general, the primary use for this element is to convert non-XSLT elements (literal result elements) into XSLT elements for display in the output. The literal result elements are said to be mapped to the XSLT namespace.
xsl:namespace-alias element can only be a child of the xsl:stylesheet or the xsl:transform elements.
This is a self-closing element and it cannot contain any child elements or any content.
The mandatory stylesheet-prefix attribute is the namespace (prefix) that you wish to change. If there is more than one xsl:namespace-alias element that have the same value for the stylesheet-prefix attribute, the one with the highest import precedence is selected. (If there is a tie on import precedence, an error occurs.)
The mandatory result-prefix attribute is the new namespace (prefix) that will appear in the output. For example, if you are mapping literal result elements into the XSLT namespace, then this value will be: result-prefix=”xsl”