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.