Name
<xsl:namespace-alias>
Allows you to define an alias for a namespace when using the namespace directly would complicate processing. This seldom-used element is the simplest way to write a stylesheet that generates another stylesheet.
Category
Top-level element.
Required Attributes
result-prefix
Defines the prefix for the namespace referred to by the alias. This prefix must be declared in the stylesheet, regardless of whether any elements in the stylesheet use it.
stylesheet-prefix
Defines the prefix used in the stylesheet to refer to the namespace.
[2.0] In XSLT 2.0, you can use the value
#default
for either the result-prefix
or stylesheet-prefix
attributes. As you would
expect, it is an error if there is no default namespace. (A default
namespace is defined with xmlns=
.)
Optional Attributes
None.
Content
None. <xsl:namespace-alias>
is an empty
element.
Appears in
<xsl:namespace-alias>
is a top-level element and can appear only as a child of <xsl:stylesheet>
.
Defined in
[1.0] XSLT section 7.1.1, “Literal Result Elements.”
[2.0] XSLT section 11.1.4, “Namespace Aliasing.”
Example
As we mentioned before, this element is normally used to create
an XSLT stylesheet that generates another stylesheet. Use <xsl:namespace-alias>
when you want
the output to contain an element or attribute that would normally be
handled by the XSLT processor.
Our sample here creates a stylesheet that generates another
stylesheet that copies any input document to the output. Here’s our
original stylesheet that uses <xsl:namespace-alias> ...
Get XSLT, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.