1<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
2                              xmlns="my::namespace">
3
4<xsl:variable name="var">baz</xsl:variable>
5
6<xsl:output indent="yes"/>
7
8<xsl:template match="/">
9    <root> <!-- This is in the correct namespace "my::namespace" -->
10        <foo>...</foo> <!-- OK. -->
11        <xsl:element name="bar">...</xsl:element> <!-- Still okay. -->
12
13        <!-- Wrong! These are without namespace. -->
14        <xsl:element name="{concat('foo', 'bar')}">...</xsl:element>
15        <xsl:element name="{$var}">...</xsl:element>
16        <xsl:element name="{local-name(*)}">...</xsl:element>
17
18        <!-- Explicitly setting the namespace fixes this. -->
19        <xsl:element name="{$var}" namespace="my::namespace">...</xsl:element>
20    </root>
21</xsl:template>
22
23</xsl:stylesheet>
24
25