xsl-list
[Top] [All Lists]

RE: Copying-Replacing Elements

2005-09-06 10:42:08
Hi Wendel,

Thanks for the help.  I think I have things working now.

Matt

-----Original Message-----
From: Wendell Piez [mailto:wapiez(_at_)mulberrytech(_dot_)com] 
Sent: Thursday, September 01, 2005 5:39 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Copying-Replacing Elements


Matt,

Your are on the right track. What you need is a "modified identity 
transformation", an idiom widely used in XSLT to deal with problems like
yours.

At 05:43 PM 9/1/2005, you wrote:
The original node would look something like this...
<data>
        <cell id="8" flag="false">
                <name>bob</name>
                <member>5</member>
        </cell>
</data>

The output would like something like this...
<data>
        <cell id="8" flag="true">
                <name>matt</name>
        </cell>
</data>
<data>
        <cell id="8" flag="false">
                <name>bob</name>
                <member>5</member>
        </cell>
</data>

I'm thinking the xsl would look something like this
<xsl:template name="createNewSiblingMember" match="something that
returns a single node">
        <xsl:copy-of select=".">
                ...do some kind of transformations...
        </xsl:copy-of>
        <xsl:copy-of select="."/>
</xsl:template>

<xsl:template match="data">
   <xsl:copy>
     <!-- the copy instruction copies the element, but not its
          attributes or children -->
     ...what do you want to do? add new stuff?
     change values of attributes or child elements?
     based on what rules?...
   </xsl:copy>
   <!-- the copy-of instruction "deep-copies" the node as is -->
   <xsl:copy-of select="."/>
</xsl:template

Check out more in the FAQ at
http://www.dpawson.co.uk/xsl/sect2/identity.html

Cheers,
Wendell


======================================================================
Wendell Piez                            
mailto:wapiez(_at_)mulberrytech(_dot_)com
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
======================================================================


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>