This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

conditional namespaces


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]