[xsl] Controlling attributes and xsi:type

Subject: [xsl] Controlling attributes and xsi:type
From: Nick Leaton <nickle@xxxxxxxxx>
Date: Tue, 8 Jun 2010 13:58:41 +0100
I'm trying to output some xml from and XSLT 2.0 stylesheet.

The format is outside of my control - third party - and its picky.

The output is as follows.

    <calypso:cashflow xsi:type="calypso:CashflowSimple">
				...
    </calypso:cashflow>
									
Header of the stylesheet is this

<xsl:stylesheet
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
    xmlns:xs="http://www.w3.org/2001/XMLSchema";
    xmlns:calypso="http://www.calypso.com/xml";
    version="2.0"
    exclude-result-prefixes="xs xsl"
    >

xsl to output looks like this

        <xsl:element name="calypso:cashflow">
            <xsl:attribute
                name="xsi:type"
                namespace="http://www.calypso.com/xml";
                select="'calypso:CashflowSimple'"
                />					
                ...
	</xsl:element>							
				
The output produced is this

        <calypso:cashflow xmlns:xsi="http://www.calypso.com/xml";
xsi:type="calypso:CashflowSimple">

The third party app doesn't accept the
xmlns:xsi="http://www.calypso.com/xml"; as an attribute.

How can I supress this attribute for the element?

Thanks

Nick

Current Thread