Re: [xsl] Controlling attributes and xsi:type

Subject: Re: [xsl] Controlling attributes and xsi:type
From: Nick Leaton <nickle@xxxxxxxxx>
Date: Tue, 8 Jun 2010 15:10:19 +0100
Thank you Michael and Martin.

I tried Martin's approach first and it works, so I'll stick with than.

Nick

On Tue, Jun 8, 2010 at 2:16 PM, Michael Kay <mike@xxxxxxxxxxxx> wrote:
> The xsi:type attribute should be in namespace
> http://www.w3.org/2001/XMLSchema-instance, not in namespace
> http://www.calypso.com/xml. Just change the namespace in the xsl:attribute
> instruction.
>
> In fact you don't need xsl:element and xsl:attribute here. You can just
> write:
>
> <calypso:cashflow
>   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>   xsi:type="calypso:CashflowSimple">
> ...
> </calypso:cashflow>
>
> Michael Kay
> Saxonica
>
>
>
> On 08/06/2010 13:58, Nick Leaton wrote:
>>
>> 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
>
>



--
Nick

Current Thread