Maybe you should explore something like this:
 
    <xsl:element name='image'>
        <xsl:for-each select='@*'>
            <xsl:attribute name='qname(.)'><xsl:value-of select='.' /></xsl:attribute>
        </xsl:for-each>
    </xsl:element>
 
This way, the transformer is at least aware of the tag you are trying to insert into the output.
 
 
 
tlj       


From: keshlam@us.ibm.com [mailto:keshlam@us.ibm.com]
Sent: Wednesday, October 24, 2007 11:58 AM
To: Brian Minchau
Cc: general@xml.apache.org; tranceradi@hotmail.com; xalan-j-users@xml.apache.org
Subject: Re: [Announce] Escaping double quotation marks in XSL

> Assuming that you are only interested in stream serialization, have you
> thought of doing the serialization yourself for particular elements?  For
> example, something like this:
>
> <!-- self serialization of image elements with tag for image done in
> CDATA,
but delegate attributes serialization -->
> <xsl:template match="image">
>  <![CDATA[ <image]>><xsl:apply-templates select="@*"/> <![CDATA[ >]>>
> </xsl:template>


I *REALLY* detest that idiom. I've seen many people hurt themselves by trying to hand-generate XML; I consider it a very bad practice. Unless you're forced to do it in order to work with a downstream tool which has not been implemented correctly, I would recommend finding another solution. Any other solution.