[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: How to copy all child elements except specific one

Subject: RE: How to copy all child elements except specific one?
From: "Morris, Chris" <ChrisM@xxxxxxxxxxxxxxxx>
Date: Wed, 17 Jan 2001 09:20:55 -0600
xsl copy all elements
> Oh, so all you need is this:
> 
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>                 version="1.0"
>                 >
> 
> <xsl:template match="*|/">
> <xsl:copy>
> <xsl:copy-of select="@*"/>
> <xsl:apply-templates/>
> </xsl:copy>
> </xsl:template>
> 
> <xsl:template match="ChildElementToChange">
> <xsl:copy>
> <NewElement>
>  <xsl:copy-of select="../@L3Attr|@*"/>
> <xsl:apply-templates/>
> </NewElement>
> </xsl:copy>
> </xsl:template>
> 
> </xsl:stylesheet>
> 
> David

First off, thanks so much for your help, David. I'm learning a whole lot
through this process.

I accidently left off one additional tweak, so the above is almost what I
need. Here's my latest, thanks to your xsl diet plan in your previous post
<g>:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/>

<xsl:template match="@*|node()">
  <xsl:copy>
    <xsl:apply-templates select="@*|node()"/>
  </xsl:copy>
</xsl:template>

<xsl:template match="Level3">
  <Level3>
    <xsl:copy-of select="@*[not(attribute::L3Attr)]" />  <!-- *this line not
working* -->
    <xsl:copy-of select="*[not(self::ChildElementToChange)]" />
    <xsl:apply-templates select="ChildElementToChange" />
  </Level3>
</xsl:template>

<xsl:template match="ChildElementToChange">
  <ChildElementToChange>
    <NewElement>
      <xsl:attribute name="L3AttrRenamed"><xsl:value-of select="../@L3Attr"
/></xsl:attribute>
      <xsl:copy-of select="@OldValue|@NewValue" />
    </NewElement>
  </ChildElementToChange>
</xsl:template>

</xsl:stylesheet>

Changes:
- I need to remove the L3Attr attribute from the Level3 element
- I need to rename the L3Attr when it's moved into NewElement

What's Not Working:
- removing the L3Attr attribute. How can I get this to work?

BTW, why does your identity transform look different from mine (which I
believe is the w3 spec)?

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.