Re: [xsl] Re: Move (ascend) an element

Subject: Re: [xsl] Re: Move (ascend) an element
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Wed, 10 Nov 2004 13:23:57 -0500
Hi Naomi,

At 11:31 AM 11/10/2004, you wrote:
I'm trying to retain the original attributes from the
figure match and the following code seems to work,
although I haven't seen many instances with two
copy-of's in a row--do you know if this is okay
practice?:

<xsl:template match="figure[./title/indexterm]">
   <xsl:copy>
        <xsl:copy-of select="@*"/>
        <xsl:copy-of select=".//indexterm"/>
        <xsl:apply-templates select="@*|node()"/>
   </xsl:copy>
</xsl:template>

It's just fine, and in fact in this case it's de rigeur, since you have to make sure the attributes (select="@*") are added to the result before any elements are (select=".//indexterm") ... even though this time they'd be ordered that way in any case (since in document order an element's attributes come before its descendants).


It seems preferable than recreating each attribute
(some are custom) with the <attribute> tag.

Definitement!


Cheers,
Wendell


====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================

Current Thread