This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
conditional namespaces
- From: ronald heller <ronald at salience dot nl>
- To: xsl-list at lists dot mulberrytech dot com
- Date: Fri, 14 Dec 2001 17:31:52 +0100
- Subject: [xsl] conditional namespaces
- Reply-to: xsl-list at lists dot mulberrytech dot com
Hi there,
We are a bit puzzled by the results we get from saxon and xalan when we
try to generate XML with a xslt file in which the attribute on the root
element is a varaibel as well as it's value and the namespace.
Consider the following:
XML:
<document>
<title>title</title>
<a>aaa</a>
</document>
XSLT:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="attribute">type</xsl:variable>
<xsl:variable name="value">gg</xsl:variable>
<xsl:variable name="namespace">http://www.google.com</xsl:variable>
<xsl:template match="*">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
<xsl:template match="document">
<document>
<xsl:attribute name="{$attribute}" namespace="{$namespace}">
<xsl:value-of select="$value" />
</xsl:attribute>
<xsl:apply-templates/>
</document>
</xsl:template>
</xsl:stylesheet>
OUTPUT:
<?xml version="1.0" encoding="UTF-8"?>
<document xmlns:ns0="http://www.google.com" ns0:type="gg">
<title>title</title>
<a>aaa</a>
</document>
Why are these 0 characters there? We had exspected something like:
<?xml version="1.0" encoding="UTF-8"?>
<document xmlns:ns="http://www.google.com" ns:type="gg">
<title>title</title>
<a>aaa</a>
</document>
The result we get with msxml 4 is more or less the same only it's doesn;t
generate a zero but a string "auto" or something.
What's going on here?
Any help is greatly appreciated.
RH
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list